diff --git a/.github/workflows/init-changelogs.yaml b/.github/workflows/init-changelogs.yaml index 0a0650927..b545c81a2 100644 --- a/.github/workflows/init-changelogs.yaml +++ b/.github/workflows/init-changelogs.yaml @@ -24,11 +24,13 @@ jobs: run: | CHANGES_WIN=win-linux/package/windows/update/changes CHANGES_MAC=macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes + CHANGES_LINUX=common/changes - rm -rfv $CHANGES_WIN/$VERSION $CHANGES_MAC/$VERSION + rm -rfv $CHANGES_WIN/$VERSION $CHANGES_MAC/$VERSION $CHANGES_LINUX/$VERSION cp -fRTv $CHANGES_WIN/0.0.0 $CHANGES_WIN/$VERSION cp -fRTv $CHANGES_MAC/0.0.0 $CHANGES_MAC/$VERSION - find $CHANGES_WIN/$VERSION $CHANGES_MAC/$VERSION -name "*.html" -print \ + cp -fRTv $CHANGES_LINUX/template $CHANGES_LINUX/$VERSION + find $CHANGES_WIN/$VERSION $CHANGES_MAC/$VERSION $CHANGES_LINUX/$VERSION -name "*.html" -print \ -exec sed -e 's/0.0.0/'${VERSION}'/g' -e 's/000/'${VERSION//./}'/g' -i {} \; - name: Commit changes diff --git a/.gitignore b/.gitignore index 3575b07cb..be9e64c6a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ win-linux/package/windows/index.html win-linux/package/linux/common/opt win-linux/package/linux/common/usr/share/applications/variables.m4 win-linux/package/linux/common/usr/share/flyfm/templates/desktopeditors.*.desktop +win-linux/package/linux/common/usr/share/doc/*/* win-linux/package/linux/common/help /win-linux/package/linux/deb*/build /win-linux/package/linux/deb*/*.buildinfo @@ -31,6 +32,7 @@ common/loginpage/build/node_modules/* common/loginpage/deploy/* common/loginpage/src/dlglogin.min.js common/converter/* +common/changes/*/changes_??? */.svn/* .DS_Store diff --git a/common/changes/7.0.0/changes.html b/common/changes/7.0.0/changes.html new file mode 100644 index 000000000..8e50d3de9 --- /dev/null +++ b/common/changes/7.0.0/changes.html @@ -0,0 +1,38 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-01-17

+

New Features

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Fixes

+ \ No newline at end of file diff --git a/common/changes/7.0.0/changes_ru.html b/common/changes/7.0.0/changes_ru.html new file mode 100644 index 000000000..2a36fb28c --- /dev/null +++ b/common/changes/7.0.0/changes_ru.html @@ -0,0 +1,38 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-01-17

+

Новые функции

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Исправления

+ diff --git a/common/changes/7.0.1/changes.html b/common/changes/7.0.1/changes.html new file mode 100644 index 000000000..02480b9f5 --- /dev/null +++ b/common/changes/7.0.1/changes.html @@ -0,0 +1,33 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-02-22

+

New Features

+

All Editors

+ +

Spreadsheet Editor

+ +

Fixes

+

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ diff --git a/common/changes/7.0.1/changes_ru.html b/common/changes/7.0.1/changes_ru.html new file mode 100644 index 000000000..cabd16231 --- /dev/null +++ b/common/changes/7.0.1/changes_ru.html @@ -0,0 +1,33 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-02-22

+

Новые функции

+

Все редакторы

+ +

Редактор таблиц

+ +

Исправления

+

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ diff --git a/common/changes/7.1.0/changes.html b/common/changes/7.1.0/changes.html new file mode 100644 index 000000000..faacaa9be --- /dev/null +++ b/common/changes/7.1.0/changes.html @@ -0,0 +1,52 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-05-13

+

New Features

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ +

Fixes

+ \ No newline at end of file diff --git a/common/changes/7.1.0/changes_ru.html b/common/changes/7.1.0/changes_ru.html new file mode 100644 index 000000000..eff784aa6 --- /dev/null +++ b/common/changes/7.1.0/changes_ru.html @@ -0,0 +1,53 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-05-13

+

Новые функции

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ +

Исправления

+ diff --git a/common/changes/7.1.1/changes.html b/common/changes/7.1.1/changes.html new file mode 100644 index 000000000..93eecbb7b --- /dev/null +++ b/common/changes/7.1.1/changes.html @@ -0,0 +1,31 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-07-13

+

Fixes

+

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ diff --git a/common/changes/7.1.1/changes_ru.html b/common/changes/7.1.1/changes_ru.html new file mode 100644 index 000000000..c3e2aeb91 --- /dev/null +++ b/common/changes/7.1.1/changes_ru.html @@ -0,0 +1,31 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-07-13

+

Исправления

+

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ diff --git a/common/changes/7.2.0/changes.html b/common/changes/7.2.0/changes.html new file mode 100644 index 000000000..e27d4d632 --- /dev/null +++ b/common/changes/7.2.0/changes.html @@ -0,0 +1,59 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-09-23

+

New Features

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ +

Fixes

+ \ No newline at end of file diff --git a/common/changes/7.2.0/changes_ru.html b/common/changes/7.2.0/changes_ru.html new file mode 100644 index 000000000..c0c0af2ec --- /dev/null +++ b/common/changes/7.2.0/changes_ru.html @@ -0,0 +1,59 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-09-23

+

Новые функции

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ +

Исправления

+ diff --git a/common/changes/7.2.1/changes.html b/common/changes/7.2.1/changes.html new file mode 100644 index 000000000..a0b15635e --- /dev/null +++ b/common/changes/7.2.1/changes.html @@ -0,0 +1,75 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-10-21

+

New Features

+ +

Fixes

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

PDF Viewer

+ +

Forms

+ diff --git a/common/changes/7.2.1/changes_ru.html b/common/changes/7.2.1/changes_ru.html new file mode 100644 index 000000000..0e1c50989 --- /dev/null +++ b/common/changes/7.2.1/changes_ru.html @@ -0,0 +1,65 @@ +

ONLYOFFICE Desktop Editors 7.2.1 - 2022-10-21

+

Новые функции

+ +

Исправления

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ diff --git a/common/changes/7.3.0/changes.html b/common/changes/7.3.0/changes.html new file mode 100644 index 000000000..c880bb35a --- /dev/null +++ b/common/changes/7.3.0/changes.html @@ -0,0 +1,70 @@ +

ONLYOFFICE Desktop Editors 7.3.0 - 2023-01-31

+

New Features

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ +

Fixes

+ \ No newline at end of file diff --git a/common/changes/7.3.0/changes_ru.html b/common/changes/7.3.0/changes_ru.html new file mode 100644 index 000000000..6992f719e --- /dev/null +++ b/common/changes/7.3.0/changes_ru.html @@ -0,0 +1,70 @@ +

ONLYOFFICE Desktop Editors 7.3.0 - 2023-01-31

+

Новые функции

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ +

Исправления

+ diff --git a/common/changes/7.3.3/changes.html b/common/changes/7.3.3/changes.html new file mode 100644 index 000000000..0ed894f97 --- /dev/null +++ b/common/changes/7.3.3/changes.html @@ -0,0 +1,37 @@ +

ONLYOFFICE Desktop Editors 7.3.3 - 2023-03-16

+

Fixes

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

PDF Viewer

+ +

Forms

+ diff --git a/common/changes/7.3.3/changes_ru.html b/common/changes/7.3.3/changes_ru.html new file mode 100644 index 000000000..b8790039c --- /dev/null +++ b/common/changes/7.3.3/changes_ru.html @@ -0,0 +1,37 @@ +

ONLYOFFICE Desktop Editors 7.3.3 - 2023-03-16

+

Исправления

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ +

PDF

+ diff --git a/common/changes/7.4.0/changes.html b/common/changes/7.4.0/changes.html new file mode 100644 index 000000000..61ca113a9 --- /dev/null +++ b/common/changes/7.4.0/changes.html @@ -0,0 +1,69 @@ +

ONLYOFFICE Desktop Editors 7.4.0 - 2023-06-14

+ +

New Features

+ +

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ + +

Fixes

+ +

All Editors

+ diff --git a/common/changes/7.4.0/changes_ru.html b/common/changes/7.4.0/changes_ru.html new file mode 100644 index 000000000..3b13b2081 --- /dev/null +++ b/common/changes/7.4.0/changes_ru.html @@ -0,0 +1,69 @@ +

ONLYOFFICE Desktop Editors 7.4.0 - 2023-06-14

+ +

Новые функции

+ +

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ + +

Исправления

+ +

Все редакторы

+ diff --git a/common/changes/7.4.1/changes.html b/common/changes/7.4.1/changes.html new file mode 100644 index 000000000..74a774f76 --- /dev/null +++ b/common/changes/7.4.1/changes.html @@ -0,0 +1,33 @@ +

ONLYOFFICE Desktop Editors 7.4.1 - 2023-07-31

+ +

Fixes

+ +

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ diff --git a/common/changes/7.4.1/changes_ru.html b/common/changes/7.4.1/changes_ru.html new file mode 100644 index 000000000..7f6be93b4 --- /dev/null +++ b/common/changes/7.4.1/changes_ru.html @@ -0,0 +1,33 @@ +

ONLYOFFICE Desktop Editors 7.4.1 - 2023-07-31

+ +

Исправления

+ +

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ diff --git a/common/changes/7.5.0/changes.html b/common/changes/7.5.0/changes.html new file mode 100644 index 000000000..2706f3016 --- /dev/null +++ b/common/changes/7.5.0/changes.html @@ -0,0 +1,70 @@ +

ONLYOFFICE Desktop Editors 7.5.0 - {{DATE}}

+ +

New Features

+ +

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ +

PDF Editor

+ diff --git a/common/changes/7.5.0/changes_ru.html b/common/changes/7.5.0/changes_ru.html new file mode 100644 index 000000000..0427dd820 --- /dev/null +++ b/common/changes/7.5.0/changes_ru.html @@ -0,0 +1,69 @@ +

ONLYOFFICE Desktop Editors 7.5.0 - {{DATE}}

+ +

Новые функции

+ +

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ +

Редактор PDF

+ diff --git a/common/changes/template/changes.html b/common/changes/template/changes.html new file mode 100644 index 000000000..cac6d44d9 --- /dev/null +++ b/common/changes/template/changes.html @@ -0,0 +1,47 @@ +

ONLYOFFICE Desktop Editors 0.0.0 - {{DATE}}

+ +

New Features

+ +

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ + +

Fixes

+ +

All Editors

+ +

Document Editor

+ +

Spreadsheet Editor

+ +

Presentation Editor

+ +

Forms

+ diff --git a/common/changes/template/changes_ru.html b/common/changes/template/changes_ru.html new file mode 100644 index 000000000..8c008b477 --- /dev/null +++ b/common/changes/template/changes_ru.html @@ -0,0 +1,47 @@ +

ONLYOFFICE Desktop Editors 0.0.0 - {{DATE}}

+ +

Новые функции

+ +

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ + +

Исправления

+ +

Все редакторы

+ +

Редактор документов

+ +

Редактор таблиц

+ +

Редактор презентаций

+ +

Формы

+ diff --git a/common/loginpage/build/Gruntfile.js b/common/loginpage/build/Gruntfile.js index 4c0948fc7..cffc21bff 100644 --- a/common/loginpage/build/Gruntfile.js +++ b/common/loginpage/build/Gruntfile.js @@ -100,7 +100,7 @@ module.exports = function(grunt) { }, dialogconnect: { files: { - '../src/dlglogin.min.js' : ['../src/dlglogin.js','../src/dialogconnect.js'] + '../src/dialogconnect.min.js' : ['../src/dialogconnect.js'] } }, }, diff --git a/common/loginpage/build/package-lock.json b/common/loginpage/build/package-lock.json index c0564a4cf..ed747ef14 100644 --- a/common/loginpage/build/package-lock.json +++ b/common/loginpage/build/package-lock.json @@ -3,2034 +3,627 @@ "version": "0.2.8", "lockfileVersion": 2, "requires": true, - "packages": { - "": { - "name": "common", - "version": "0.2.8", - "dependencies": { - "grunt": "^1.5.3", - "grunt-contrib-clean": "^2.0.1", - "grunt-contrib-concat": "^2.1.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-htmlmin": "^3.1.0", - "grunt-contrib-less": "^3.0.0", - "grunt-inline": "file:plugins/grunt-inline", - "grunt-terser": "^2.0.0", - "grunt-text-replace": "0.4.0", - "lodash": "^4.17.20", - "terser": "^5.15.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.6.tgz", - "integrity": "sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz", - "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz", - "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz", - "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz", - "integrity": "sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz", - "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.6.tgz", - "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.6.tgz", - "integrity": "sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/types": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.7.tgz", - "integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", - "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", - "engines": { - "node": ">=6.0.0" - } + "dependencies": { + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, - "node_modules/@jridgewell/set-array": { + "@jridgewell/set-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dependencies": { + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" }, - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + } } }, - "node_modules/abbrev": { + "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { + "requires": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "node_modules/argparse": { + "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { + "requires": { "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } } }, - "node_modules/array-each": { + "array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==" }, - "node_modules/array-slice": { + "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" }, - "node_modules/async": { + "async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/async-hook-domain": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz", - "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bind-obj-methods": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", - "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { + "requires": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", - "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001359", - "electron-to-chromium": "^1.4.172", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.4" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer-from": { + "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/caching-transform/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caching-transform/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/camel-case": { + "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "dependencies": { + "requires": { "no-case": "^2.2.0", "upper-case": "^1.1.1" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001359", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz", - "integrity": "sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/chalk": { + "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { + "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/clean-css": { + "clean-css": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dependencies": { + "requires": { "source-map": "~0.6.0" }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/color-convert": { + "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { + "requires": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colors": { + "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==" }, - "node_modules/commander": { + "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/copy-anything": { + "copy-anything": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dependencies": { + "requires": { "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "dependencies": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - }, - "bin": { - "coveralls": "bin/coveralls.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/datauri": { + "datauri": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/datauri/-/datauri-4.1.0.tgz", "integrity": "sha512-y17kh32+I82G+ED9MNWFkZiP/Cq/vO1hN9+tSZsT9C9qn3NrvcBnh7crSepg0AQPge1hXx2Ca44s1FRdv0gFWA==", - "dependencies": { + "requires": { "image-size": "1.0.0", "mimer": "^2.0.2" - }, - "engines": { - "node": ">= 10" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "engines": { - "node": "*" - } + "dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" }, - "node_modules/debug": { + "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "optional": true, - "dependencies": { + "requires": { "ms": "^2.1.1" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-file": { + "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.172", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.172.tgz", - "integrity": "sha512-yDoFfTJnqBAB6hSiPvzmsBJSrjOXJtHSJoqJdI/zSIh7DYupYnIOHt/bbPw/WE31BJjNTybDdNAs21gCMnTh0Q==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" }, - "node_modules/errno": { + "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "optional": true, - "dependencies": { + "requires": { "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" } }, - "node_modules/esprima": { + "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "node_modules/eventemitter2": { + "eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==" }, - "node_modules/events-to-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", - "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==", - "dev": true - }, - "node_modules/exit": { + "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" - } + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" }, - "node_modules/expand-tilde": { + "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dependencies": { + "requires": { "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/extend": { + "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/file-sync-cmp": { + "file-sync-cmp": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==" }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { + "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/findit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", - "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==", - "dev": true - }, - "node_modules/findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", - "dependencies": { - "glob": "~5.0.0" - }, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/findup-sync/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" + "findup-sync": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" } }, - "node_modules/fined": { + "fined": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dependencies": { + "requires": { "expand-tilde": "^2.0.2", "is-plain-object": "^2.0.3", "object.defaults": "^1.1.0", "object.pick": "^1.2.0", "parse-filepath": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/flagged-respawn": { + "flagged-respawn": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" }, - "node_modules/for-in": { + "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" }, - "node_modules/for-own": { + "for-own": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "dependencies": { + "requires": { "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/fs-exists-cached": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "integrity": "sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==", - "dev": true - }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/function-loop": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", - "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/getobject": { + "getobject": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", - "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==" }, - "node_modules/glob": { + "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/global-modules": { + "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dependencies": { + "requires": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/global-prefix": { + "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "dependencies": { + "requires": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { + "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "devOptional": true + "optional": true }, - "node_modules/grunt": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", - "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", - "dependencies": { - "dateformat": "~3.0.3", + "grunt": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz", + "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==", + "requires": { + "dateformat": "~4.6.2", "eventemitter2": "~0.4.13", "exit": "~0.1.2", - "findup-sync": "~0.3.0", + "findup-sync": "~5.0.0", "glob": "~7.1.6", "grunt-cli": "~1.4.3", "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.4.13", + "iconv-lite": "~0.6.3", "js-yaml": "~3.14.0", "minimatch": "~3.0.4", - "mkdirp": "~1.0.4", - "nopt": "~3.0.6", - "rimraf": "~3.0.2" - }, - "bin": { - "grunt": "bin/grunt" + "nopt": "~3.0.6" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "dependencies": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-cli/node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" + "grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "requires": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + } } }, - "node_modules/grunt-contrib-clean": { + "grunt-contrib-clean": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", - "dependencies": { + "requires": { "async": "^3.2.3", "rimraf": "^2.6.2" }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "grunt": ">=0.4.5" - } - }, - "node_modules/grunt-contrib-clean/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } } }, - "node_modules/grunt-contrib-concat": { + "grunt-contrib-concat": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-2.1.0.tgz", "integrity": "sha512-Vnl95JIOxfhEN7bnYIlCgQz41kkbi7tsZ/9a4usZmxNxi1S2YAIOy8ysFmO8u4MN26Apal1O106BwARdaNxXQw==", - "dependencies": { + "requires": { "chalk": "^4.1.2", "source-map": "^0.5.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "grunt": ">=1.4.1" } }, - "node_modules/grunt-contrib-copy": { + "grunt-contrib-copy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", - "dependencies": { + "requires": { "chalk": "^1.1.1", "file-sync-cmp": "^0.1.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + } } }, - "node_modules/grunt-contrib-htmlmin": { + "grunt-contrib-htmlmin": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-3.1.0.tgz", "integrity": "sha512-Khaa+0MUuqqNroDIe9tsjZkioZnW2Y+iTGbonBkLWaG7+SkSFExfb4jLt7M6rxKV3RSqlS7NtVvu4SVIPkmKXg==", - "dependencies": { + "requires": { "chalk": "^2.4.2", "html-minifier": "^4.0.0", "pretty-bytes": "^5.1.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/grunt-contrib-htmlmin/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/grunt-contrib-htmlmin/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/grunt-contrib-less": { + "grunt-contrib-less": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-3.0.0.tgz", "integrity": "sha512-fBB8MUDCo5EgT7WdOVQnZq4GF+XCeFdnkhaxI7uepp8P973sH1jdodjF87c6d9WSHKgArJAGP5JEtthhdKVovg==", - "dependencies": { + "requires": { "async": "^3.2.0", "chalk": "^4.1.0", "less": "^4.1.1", "lodash": "^4.17.21" - }, - "engines": { - "node": ">=10" } }, - "node_modules/grunt-contrib-nodeunit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-nodeunit/-/grunt-contrib-nodeunit-4.0.0.tgz", - "integrity": "sha512-pLLDrTKfitBn2b1U9ecX+nkECcQ12tsiW58Y0SaZcsQgjljthPs78N5D24Y3b34dD8QKBAEW1J0VgO7cW0QcVQ==", - "dev": true, - "dependencies": { - "nodeunit-x": "^0.15.0" + "grunt-inline": { + "version": "file:plugins/grunt-inline", + "requires": { + "clean-css": "^5.2.4", + "datauri": "^4.1.0", + "uglify-js": "^3.15.1" }, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "clean-css": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", + "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", + "requires": { + "source-map": "~0.6.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/grunt-inline": { - "resolved": "plugins/grunt-inline", - "link": true - }, - "node_modules/grunt-known-options": { + "grunt-known-options": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", - "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==" }, - "node_modules/grunt-legacy-log": { + "grunt-legacy-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dependencies": { + "requires": { "colors": "~1.1.2", "grunt-legacy-log-utils": "~2.1.0", "hooker": "~0.2.3", "lodash": "~4.17.19" - }, - "engines": { - "node": ">= 0.10.0" } }, - "node_modules/grunt-legacy-log-utils": { + "grunt-legacy-log-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dependencies": { + "requires": { "chalk": "~4.1.0", "lodash": "~4.17.19" - }, - "engines": { - "node": ">=10" } }, - "node_modules/grunt-legacy-util": { + "grunt-legacy-util": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "dependencies": { + "requires": { "async": "~3.2.0", "exit": "~0.1.2", "getobject": "~1.0.0", @@ -2039,148 +632,81 @@ "underscore.string": "~3.3.5", "which": "~2.0.2" }, - "engines": { - "node": ">=10" + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } } }, - "node_modules/grunt-terser": { + "grunt-terser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-terser/-/grunt-terser-2.0.0.tgz", "integrity": "sha512-9Rw1TiPsqadCJnEaKz+mZiS4k9ydnkNfrfvEq9SS6MqMXUxBC+sndDCHV05s5/PXQsFjFBhoRVFij5FaV36tYA==", - "dependencies": { + "requires": { "grunt": "^1.1.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "grunt": "1.x", - "terser": "5.x" } }, - "node_modules/grunt-text-replace": { + "grunt-text-replace": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz", - "integrity": "sha512-A4dFGpOaD/TQpeOlDK/zP962X1qG7KcOqPiSXOWOIeAKMzzpoDJYZ8Sz56iazI5+kTqeTa+IaEEl5c4sk+QN+Q==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "engines": { - "node": ">=4" - } + "integrity": "sha512-A4dFGpOaD/TQpeOlDK/zP962X1qG7KcOqPiSXOWOIeAKMzzpoDJYZ8Sz56iazI5+kTqeTa+IaEEl5c4sk+QN+Q==" }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { + "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { + "requires": { "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { + "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dependencies": { + "requires": { "ansi-regex": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + } } }, - "node_modules/has-flag": { + "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "node_modules/he": { + "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "node_modules/homedir-polyfill": { + "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dependencies": { + "requires": { "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/hooker": { + "hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", - "engines": { - "node": "*" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==" }, - "node_modules/html-minifier": { + "html-minifier": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "dependencies": { + "requires": { "camel-case": "^3.0.0", "clean-css": "^4.2.1", "commander": "^2.19.0", @@ -2188,615 +714,177 @@ "param-case": "^2.1.1", "relateurl": "^0.2.7", "uglify-js": "^3.5.1" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, - "node_modules/image-size": { + "image-size": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz", "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==", - "dependencies": { + "requires": { "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" } }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { + "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, - "node_modules/interpret": { + "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==" }, - "node_modules/is-absolute": { + "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dependencies": { + "requires": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dependencies": { + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "requires": { "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "node_modules/is-plain-object": { + "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { + "requires": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-relative": { + "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dependencies": { + "requires": { "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unc-path": { + "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dependencies": { + "requires": { "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-what": { + "is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" }, - "node_modules/is-windows": { + "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, - "node_modules/isexe": { + "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/isobject": { + "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz", - "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==", - "dev": true, - "dependencies": { - "cliui": "^7.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, - "node_modules/js-yaml": { + "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { + "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/kind-of": { + "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", - "dev": true, - "bin": { - "lcov-parse": "bin/cli.js" - } + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, - "node_modules/less": { + "less": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", - "dependencies": { + "requires": { "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less/node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "optional": true, - "bin": { - "image-size": "bin/image-size.js" + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/libtap": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.4.0.tgz", - "integrity": "sha512-STLFynswQ2A6W14JkabgGetBNk6INL1REgJ9UeNKw5llXroC2cGLgKTqavv0sl8OLVztLLipVKMcQ7yeUcqpmg==", - "dev": true, "dependencies": { - "async-hook-domain": "^2.0.4", - "bind-obj-methods": "^3.0.0", - "diff": "^4.0.2", - "function-loop": "^2.0.1", - "minipass": "^3.1.5", - "own-or": "^1.0.0", - "own-or-env": "^1.0.2", - "signal-exit": "^3.0.4", - "stack-utils": "^2.0.4", - "tap-parser": "^11.0.0", - "tap-yaml": "^1.0.0", - "tcompare": "^5.0.6", - "trivial-deferred": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } } }, - "node_modules/liftup": { + "liftup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "dependencies": { + "requires": { "extend": "^3.0.2", "findup-sync": "^4.0.0", "fined": "^1.2.0", @@ -2806,7766 +894,353 @@ "rechoir": "^0.7.0", "resolve": "^1.19.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/liftup/node_modules/findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + } } }, - "node_modules/lodash": { + "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true, - "engines": { - "node": ">=0.8.6" - } - }, - "node_modules/lower-case": { + "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" }, - "node_modules/make-dir": { + "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "optional": true, - "dependencies": { + "requires": { "pify": "^4.0.1", "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/make-iterator": { + "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dependencies": { + "requires": { "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/map-cache": { + "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" }, - "node_modules/micromatch": { + "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { + "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" } }, - "node_modules/mime": { + "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } + "optional": true }, - "node_modules/mimer": { + "mimer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/mimer/-/mimer-2.0.2.tgz", - "integrity": "sha512-izxvjsB7Ur5HrTbPu6VKTrzxSMBFBqyZQc6dWlZNQ4/wAvf886fD4lrjtFd8IQ8/WmZKdxKjUtqFFNaj3hQ52g==", - "bin": { - "mimer": "bin/mimer" - }, - "engines": { - "node": ">= 12" - } + "integrity": "sha512-izxvjsB7Ur5HrTbPu6VKTrzxSMBFBqyZQc6dWlZNQ4/wAvf886fD4lrjtFd8IQ8/WmZKdxKjUtqFFNaj3hQ52g==" }, - "node_modules/minimatch": { + "minimatch": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { + "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "optional": true }, - "node_modules/needle": { + "needle": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", "optional": true, - "dependencies": { + "requires": { "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, - "node_modules/no-case": { + "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dependencies": { + "requires": { "lower-case": "^1.1.1" } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", - "dev": true - }, - "node_modules/nodeunit-x": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/nodeunit-x/-/nodeunit-x-0.15.0.tgz", - "integrity": "sha512-g3XCZ3Gh1Fxr9NPPo0PtmEooZ2jSJF+tP0DPtqCZmFA22uQ0N2clAew6+GIAIMnjH4eX9BS0ixxpb45IAYHnVA==", - "dev": true, - "dependencies": { - "ejs": "^3.1.6", - "tap": "^15.0.10" - }, - "bin": { - "nodeunit": "bin/nodeunit" - } - }, - "node_modules/nopt": { + "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", - "dependencies": { + "requires": { "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" } }, - "node_modules/nyc/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object.defaults": { + "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "dependencies": { + "requires": { "array-each": "^1.0.1", "array-slice": "^1.0.0", "for-own": "^1.0.0", "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/object.map": { + "object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "dependencies": { + "requires": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/object.pick": { + "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dependencies": { + "requires": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/own-or": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", - "integrity": "sha512-NfZr5+Tdf6MB8UI9GLvKRs4cXY8/yB0w3xtt84xFdWy8hkGjn+JFc60VhzS/hFRfbyxFcGYMTjnF4Me+RbbqrA==", - "dev": true - }, - "node_modules/own-or-env": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz", - "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==", - "dev": true, - "dependencies": { - "own-or": "^1.0.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", - "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "optional": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/spawn-wrap/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/spawn-wrap/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tap": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/tap/-/tap-15.2.3.tgz", - "integrity": "sha512-EVbovHd/SdevGMUnkNU5JJqC1YC0hzaaZ2jnqs0fKHv9Oudx27qW3Xwox7A6TB92wvR0mqgQPr+Au2w56kD+aQ==", - "bundleDependencies": [ - "ink", - "treport", - "@types/react", - "@isaacs/import-jsx", - "react" - ], - "dev": true, - "dependencies": { - "@isaacs/import-jsx": "*", - "@types/react": "*", - "chokidar": "^3.3.0", - "coveralls": "^3.0.11", - "findit": "^2.0.0", - "foreground-child": "^2.0.0", - "fs-exists-cached": "^1.0.0", - "glob": "^7.1.6", - "ink": "*", - "isexe": "^2.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "jackspeak": "^1.4.1", - "libtap": "^1.3.0", - "minipass": "^3.1.1", - "mkdirp": "^1.0.4", - "nyc": "^15.1.0", - "opener": "^1.5.1", - "react": "*", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.6", - "source-map-support": "^0.5.16", - "tap-mocha-reporter": "^5.0.3", - "tap-parser": "^11.0.1", - "tap-yaml": "^1.0.0", - "tcompare": "^5.0.7", - "treport": "*", - "which": "^2.0.2" - }, - "bin": { - "tap": "bin/run.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "peerDependencies": { - "flow-remove-types": ">=2.112.0", - "ts-node": ">=8.5.2", - "typescript": ">=3.7.2" - }, - "peerDependenciesMeta": { - "flow-remove-types": { - "optional": true - }, - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/tap-mocha-reporter": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.3.tgz", - "integrity": "sha512-6zlGkaV4J+XMRFkN0X+yuw6xHbE9jyCZ3WUKfw4KxMyRGOpYSRuuQTRJyWX88WWuLdVTuFbxzwXhXuS2XE6o0g==", - "dev": true, - "dependencies": { - "color-support": "^1.1.0", - "debug": "^4.1.1", - "diff": "^4.0.1", - "escape-string-regexp": "^2.0.0", - "glob": "^7.0.5", - "tap-parser": "^11.0.0", - "tap-yaml": "^1.0.0", - "unicode-length": "^2.0.2" - }, - "bin": { - "tap-mocha-reporter": "index.js" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tap-mocha-reporter/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tap-mocha-reporter/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/tap-parser": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-11.0.1.tgz", - "integrity": "sha512-5ow0oyFOnXVSALYdidMX94u0GEjIlgc/BPFYLx0yRh9hb8+cFGNJqJzDJlUqbLOwx8+NBrIbxCWkIQi7555c0w==", - "dev": true, - "dependencies": { - "events-to-array": "^1.0.1", - "minipass": "^3.1.6", - "tap-yaml": "^1.0.0" - }, - "bin": { - "tap-parser": "bin/cmd.js" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tap-yaml": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", - "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", - "dev": true, - "dependencies": { - "yaml": "^1.5.0" - } - }, - "node_modules/tap/node_modules/@babel/code-frame": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/compat-data": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/core": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/tap/node_modules/@babel/generator": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-compilation-targets": { - "version": "7.16.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-function-name": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-get-function-arity": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-hoist-variables": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-module-imports": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-module-transforms": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-replace-supers": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-simple-access": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/helpers": { - "version": "7.16.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/highlight": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/parser": { - "version": "7.16.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/tap/node_modules/@babel/template": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/traverse": { - "version": "7.16.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@babel/types": { - "version": "7.16.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/@isaacs/import-jsx": { - "version": "4.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.5.5", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-react-jsx": "^7.3.0", - "caller-path": "^3.0.1", - "find-cache-dir": "^3.2.0", - "make-dir": "^3.0.2", - "resolve-from": "^3.0.0", - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/caller-callsite": { - "version": "4.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/caller-path": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "caller-callsite": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/@types/prop-types": { - "version": "15.7.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/@types/react": { - "version": "17.0.34", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/tap/node_modules/@types/scheduler": { - "version": "0.16.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/@types/yoga-layout": { - "version": "1.9.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "inBundle": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/ansicolors": { - "version": "0.3.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/astral-regex": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/auto-bind": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/tap/node_modules/browserslist": { - "version": "4.17.6", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001274", - "electron-to-chromium": "^1.3.886", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/tap/node_modules/caniuse-lite": { - "version": "1.0.30001279", - "dev": true, - "inBundle": true, - "license": "CC-BY-4.0", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/tap/node_modules/cardinal": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "node_modules/tap/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/ci-info": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/cli-boxes": { - "version": "2.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/cli-cursor": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/cli-truncate": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/code-excerpt": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "convert-to-spaces": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tap/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/tap/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/convert-source-map": { - "version": "1.8.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/tap/node_modules/convert-to-spaces": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/tap/node_modules/csstype": { - "version": "3.0.9", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/debug": { - "version": "4.3.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tap/node_modules/electron-to-chromium": { - "version": "1.3.893", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/tap/node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "inBundle": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/events-to-array": { - "version": "1.1.2", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/find-cache-dir": { - "version": "3.3.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/tap/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/tap/node_modules/glob": { - "version": "7.2.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tap/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/tap/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/ink": { - "version": "3.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "auto-bind": "4.0.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.0", - "cli-cursor": "^3.1.0", - "cli-truncate": "^2.1.0", - "code-excerpt": "^3.0.0", - "indent-string": "^4.0.0", - "is-ci": "^2.0.0", - "lodash": "^4.17.20", - "patch-console": "^1.0.0", - "react-devtools-core": "^4.19.1", - "react-reconciler": "^0.26.2", - "scheduler": "^0.20.2", - "signal-exit": "^3.0.2", - "slice-ansi": "^3.0.0", - "stack-utils": "^2.0.2", - "string-width": "^4.2.2", - "type-fest": "^0.12.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0", - "ws": "^7.5.5", - "yoga-layout-prebuilt": "^1.9.6" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": ">=16.8.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/tap/node_modules/ink/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tap/node_modules/ink/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tap/node_modules/ink/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tap/node_modules/ink/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/ink/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/ink/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/is-ci": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/tap/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/json5": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/loose-envify": { - "version": "1.4.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/tap/node_modules/make-dir": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/minimatch": { - "version": "3.0.4", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tap/node_modules/minimist": { - "version": "1.2.6", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/minipass": { - "version": "3.1.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/node-releases": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/object-assign": { - "version": "4.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/once": { - "version": "1.4.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/tap/node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/patch-console": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/tap/node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/punycode": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tap/node_modules/react": { - "version": "17.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/react-devtools-core": { - "version": "4.21.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "node_modules/tap/node_modules/react-reconciler": { - "version": "0.26.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "react": "^17.0.2" - } - }, - "node_modules/tap/node_modules/redeyed": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/tap/node_modules/resolve-from": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/restore-cursor": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tap/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/scheduler": { - "version": "0.20.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/tap/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/tap/node_modules/shell-quote": { - "version": "1.7.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/signal-exit": { - "version": "3.0.6", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/slice-ansi": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tap/node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tap/node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/stack-utils": { - "version": "2.0.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tap/node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/tap-parser": { - "version": "11.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "events-to-array": "^1.0.1", - "minipass": "^3.1.6", - "tap-yaml": "^1.0.0" - }, - "bin": { - "tap-parser": "bin/cmd.js" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tap/node_modules/tap-yaml": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yaml": "^1.5.0" - } - }, - "node_modules/tap/node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tap/node_modules/treport": { - "version": "3.0.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@isaacs/import-jsx": "^4.0.1", - "cardinal": "^2.1.1", - "chalk": "^3.0.0", - "ink": "^3.2.0", - "ms": "^2.1.2", - "tap-parser": "^11.0.0", - "unicode-length": "^2.0.2" - }, - "peerDependencies": { - "react": "^17.0.2" - } - }, - "node_modules/tap/node_modules/treport/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tap/node_modules/treport/node_modules/chalk": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/treport/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tap/node_modules/treport/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/treport/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/treport/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/type-fest": { - "version": "0.12.0", - "dev": true, - "inBundle": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tap/node_modules/unicode-length": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.0.0", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/tap/node_modules/unicode-length/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/unicode-length/node_modules/strip-ansi": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap/node_modules/widest-line": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tap/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tap/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tap/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/tap/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/ws": { - "version": "7.5.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/tap/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/tap/node_modules/yaml": { - "version": "1.10.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/tap/node_modules/yoga-layout-prebuilt": { - "version": "1.10.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/yoga-layout": "1.9.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tcompare": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz", - "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==", - "dev": true, - "dependencies": { - "diff": "^4.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/trivial-deferred": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", - "integrity": "sha512-dagAKX7vaesNNAwOc9Np9C2mJ+7YopF4lk+jE2JML9ta4kZ91Y6UruJNH65bLRYoUROD8EY+Pmi44qQWwXR7sw==", - "dev": true - }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/uglify-js": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", - "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/underscore.string": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", - "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", - "dependencies": { - "sprintf-js": "^1.1.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/underscore.string/node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - }, - "node_modules/unicode-length": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", - "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", - "dev": true, - "dependencies": { - "punycode": "^2.0.0", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/unicode-length/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unicode-length/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", - "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/yargs/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "plugins/grunt-inline": { - "version": "0.3.7", - "dependencies": { - "clean-css": "^5.2.4", - "datauri": "^4.1.0", - "uglify-js": "^3.15.1" - }, - "devDependencies": { - "grunt": "^1.4.0", - "grunt-contrib-clean": "^2.0.0", - "grunt-contrib-htmlmin": "^3.1.0", - "grunt-contrib-nodeunit": "^4.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "plugins/grunt-inline/node_modules/clean-css": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", - "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "plugins/grunt-inline/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.6.tgz", - "integrity": "sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==", - "dev": true - }, - "@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", - "dev": true, - "requires": { - "@babel/types": "^7.18.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz", - "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz", - "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz", - "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz", - "integrity": "sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz", - "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.6.tgz", - "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==", - "dev": true - }, - "@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" - } - }, - "@babel/traverse": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.6.tgz", - "integrity": "sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.7.tgz", - "integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", - "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==" - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-hook-domain": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz", - "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bind-obj-methods": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", - "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", - "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001359", - "electron-to-chromium": "^1.4.172", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.4" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001359", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz", - "integrity": "sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "requires": { - "is-what": "^3.14.1" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "requires": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "datauri": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/datauri/-/datauri-4.1.0.tgz", - "integrity": "sha512-y17kh32+I82G+ED9MNWFkZiP/Cq/vO1hN9+tSZsT9C9qn3NrvcBnh7crSepg0AQPge1hXx2Ca44s1FRdv0gFWA==", - "requires": { - "image-size": "1.0.0", - "mimer": "^2.0.2" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.172", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.172.tgz", - "integrity": "sha512-yDoFfTJnqBAB6hSiPvzmsBJSrjOXJtHSJoqJdI/zSIh7DYupYnIOHt/bbPw/WE31BJjNTybDdNAs21gCMnTh0Q==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==" - }, - "events-to-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", - "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==", - "dev": true - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "file-sync-cmp": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==" - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "findit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", - "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==", - "dev": true - }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha512-z8Nrwhi6wzxNMIbxlrTzuUW6KWuKkogZ/7OdDVq+0+kxn77KUH1nipx8iU6suqkHqc4y6n7a9A8IpmxY/pTjWg==", - "requires": { - "glob": "~5.0.0" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "requires": { - "for-in": "^1.0.1" - } - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs-exists-cached": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "integrity": "sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function-loop": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", - "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "getobject": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", - "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "devOptional": true - }, - "grunt": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", - "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", - "requires": { - "dateformat": "~3.0.3", - "eventemitter2": "~0.4.13", - "exit": "~0.1.2", - "findup-sync": "~0.3.0", - "glob": "~7.1.6", - "grunt-cli": "~1.4.3", - "grunt-known-options": "~2.0.0", - "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.4.13", - "js-yaml": "~3.14.0", - "minimatch": "~3.0.4", - "mkdirp": "~1.0.4", - "nopt": "~3.0.6", - "rimraf": "~3.0.2" - } - }, - "grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "requires": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "dependencies": { - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - }, - "grunt-contrib-clean": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", - "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", - "requires": { - "async": "^3.2.3", - "rimraf": "^2.6.2" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "grunt-contrib-concat": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-2.1.0.tgz", - "integrity": "sha512-Vnl95JIOxfhEN7bnYIlCgQz41kkbi7tsZ/9a4usZmxNxi1S2YAIOy8ysFmO8u4MN26Apal1O106BwARdaNxXQw==", - "requires": { - "chalk": "^4.1.2", - "source-map": "^0.5.3" - } - }, - "grunt-contrib-copy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", - "requires": { - "chalk": "^1.1.1", - "file-sync-cmp": "^0.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - } - } - }, - "grunt-contrib-htmlmin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-3.1.0.tgz", - "integrity": "sha512-Khaa+0MUuqqNroDIe9tsjZkioZnW2Y+iTGbonBkLWaG7+SkSFExfb4jLt7M6rxKV3RSqlS7NtVvu4SVIPkmKXg==", - "requires": { - "chalk": "^2.4.2", - "html-minifier": "^4.0.0", - "pretty-bytes": "^5.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "grunt-contrib-less": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-3.0.0.tgz", - "integrity": "sha512-fBB8MUDCo5EgT7WdOVQnZq4GF+XCeFdnkhaxI7uepp8P973sH1jdodjF87c6d9WSHKgArJAGP5JEtthhdKVovg==", - "requires": { - "async": "^3.2.0", - "chalk": "^4.1.0", - "less": "^4.1.1", - "lodash": "^4.17.21" - } - }, - "grunt-contrib-nodeunit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-nodeunit/-/grunt-contrib-nodeunit-4.0.0.tgz", - "integrity": "sha512-pLLDrTKfitBn2b1U9ecX+nkECcQ12tsiW58Y0SaZcsQgjljthPs78N5D24Y3b34dD8QKBAEW1J0VgO7cW0QcVQ==", - "dev": true, - "requires": { - "nodeunit-x": "^0.15.0" - } - }, - "grunt-inline": { - "version": "file:plugins/grunt-inline", - "requires": { - "clean-css": "^5.2.4", - "datauri": "^4.1.0", - "grunt": "^1.4.0", - "grunt-contrib-clean": "^2.0.0", - "grunt-contrib-htmlmin": "^3.1.0", - "grunt-contrib-nodeunit": "^4.0.0", - "uglify-js": "^3.15.1" - }, - "dependencies": { - "clean-css": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", - "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", - "requires": { - "source-map": "~0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "grunt-known-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", - "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==" - }, - "grunt-legacy-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", - "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "requires": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.19" - } - }, - "grunt-legacy-log-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", - "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "requires": { - "chalk": "~4.1.0", - "lodash": "~4.17.19" - } - }, - "grunt-legacy-util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", - "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "requires": { - "async": "~3.2.0", - "exit": "~0.1.2", - "getobject": "~1.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.21", - "underscore.string": "~3.3.5", - "which": "~2.0.2" - } - }, - "grunt-terser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-terser/-/grunt-terser-2.0.0.tgz", - "integrity": "sha512-9Rw1TiPsqadCJnEaKz+mZiS4k9ydnkNfrfvEq9SS6MqMXUxBC+sndDCHV05s5/PXQsFjFBhoRVFij5FaV36tYA==", - "requires": { - "grunt": "^1.1.0" - } - }, - "grunt-text-replace": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz", - "integrity": "sha512-A4dFGpOaD/TQpeOlDK/zP962X1qG7KcOqPiSXOWOIeAKMzzpoDJYZ8Sz56iazI5+kTqeTa+IaEEl5c4sk+QN+Q==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "requires": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", - "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "image-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz", - "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==", - "requires": { - "queue": "6.0.2" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==" - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jackspeak": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz", - "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==", - "dev": true, - "requires": { - "cliui": "^7.0.4" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", - "dev": true - }, - "less": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", - "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "libtap": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.4.0.tgz", - "integrity": "sha512-STLFynswQ2A6W14JkabgGetBNk6INL1REgJ9UeNKw5llXroC2cGLgKTqavv0sl8OLVztLLipVKMcQ7yeUcqpmg==", - "dev": true, - "requires": { - "async-hook-domain": "^2.0.4", - "bind-obj-methods": "^3.0.0", - "diff": "^4.0.2", - "function-loop": "^2.0.1", - "minipass": "^3.1.5", - "own-or": "^1.0.0", - "own-or-env": "^1.0.2", - "signal-exit": "^3.0.4", - "stack-utils": "^2.0.4", - "tap-parser": "^11.0.0", - "tap-yaml": "^1.0.0", - "tcompare": "^5.0.6", - "trivial-deferred": "^1.0.1" - } - }, - "liftup": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", - "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "requires": { - "extend": "^3.0.2", - "findup-sync": "^4.0.0", - "fined": "^1.2.0", - "flagged-respawn": "^1.0.1", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.1", - "rechoir": "^0.7.0", - "resolve": "^1.19.0" - }, - "dependencies": { - "findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "optional": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mimer/-/mimer-2.0.2.tgz", - "integrity": "sha512-izxvjsB7Ur5HrTbPu6VKTrzxSMBFBqyZQc6dWlZNQ4/wAvf886fD4lrjtFd8IQ8/WmZKdxKjUtqFFNaj3hQ52g==" - }, - "minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "optional": true - }, - "needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", - "dev": true - }, - "nodeunit-x": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/nodeunit-x/-/nodeunit-x-0.15.0.tgz", - "integrity": "sha512-g3XCZ3Gh1Fxr9NPPo0PtmEooZ2jSJF+tP0DPtqCZmFA22uQ0N2clAew6+GIAIMnjH4eX9BS0ixxpb45IAYHnVA==", - "dev": true, - "requires": { - "ejs": "^3.1.6", - "tap": "^15.0.10" - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "own-or": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", - "integrity": "sha512-NfZr5+Tdf6MB8UI9GLvKRs4cXY8/yB0w3xtt84xFdWy8hkGjn+JFc60VhzS/hFRfbyxFcGYMTjnF4Me+RbbqrA==", - "dev": true - }, - "own-or-env": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz", - "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==", - "dev": true, - "requires": { - "own-or": "^1.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "optional": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "optional": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "requires": { - "inherits": "~2.0.3" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "requires": { - "resolve": "^1.9.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "tap": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/tap/-/tap-15.2.3.tgz", - "integrity": "sha512-EVbovHd/SdevGMUnkNU5JJqC1YC0hzaaZ2jnqs0fKHv9Oudx27qW3Xwox7A6TB92wvR0mqgQPr+Au2w56kD+aQ==", - "dev": true, - "requires": { - "@isaacs/import-jsx": "*", - "@types/react": "*", - "chokidar": "^3.3.0", - "coveralls": "^3.0.11", - "findit": "^2.0.0", - "foreground-child": "^2.0.0", - "fs-exists-cached": "^1.0.0", - "glob": "^7.1.6", - "ink": "*", - "isexe": "^2.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "jackspeak": "^1.4.1", - "libtap": "^1.3.0", - "minipass": "^3.1.1", - "mkdirp": "^1.0.4", - "nyc": "^15.1.0", - "opener": "^1.5.1", - "react": "*", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.6", - "source-map-support": "^0.5.16", - "tap-mocha-reporter": "^5.0.3", - "tap-parser": "^11.0.1", - "tap-yaml": "^1.0.0", - "tcompare": "^5.0.7", - "treport": "*", - "which": "^2.0.2" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/highlight": "^7.16.0" - } - }, - "@babel/compat-data": { - "version": "7.16.0", - "bundled": true, - "dev": true - }, - "@babel/core": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.16.3", - "bundled": true, - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "bundled": true, - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "bundled": true, - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "bundled": true, - "dev": true - }, - "@babel/helpers": { - "version": "7.16.3", - "bundled": true, - "dev": true, - "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", - "@babel/types": "^7.16.0" - } - }, - "@babel/highlight": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.16.3", - "bundled": true, - "dev": true - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.16.3", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/template": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/traverse": { - "version": "7.16.3", - "bundled": true, - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.16.0", - "bundled": true, - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" - } - }, - "@isaacs/import-jsx": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "@babel/core": "^7.5.5", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-react-jsx": "^7.3.0", - "caller-path": "^3.0.1", - "find-cache-dir": "^3.2.0", - "make-dir": "^3.0.2", - "resolve-from": "^3.0.0", - "rimraf": "^3.0.0" - }, - "dependencies": { - "caller-callsite": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "callsites": "^3.1.0" - } - }, - "caller-path": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "caller-callsite": "^4.1.0" - } - }, - "callsites": { - "version": "3.1.0", - "bundled": true, - "dev": true - } - } - }, - "@types/prop-types": { - "version": "15.7.4", - "bundled": true, - "dev": true - }, - "@types/react": { - "version": "17.0.34", - "bundled": true, - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "bundled": true, - "dev": true - }, - "@types/yoga-layout": { - "version": "1.9.2", - "bundled": true, - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "bundled": true, - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "bundled": true, - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "auto-bind": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "browserslist": { - "version": "4.17.6", - "bundled": true, - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001274", - "electron-to-chromium": "^1.3.886", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001279", - "bundled": true, - "dev": true - }, - "cardinal": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "chalk": { - "version": "2.4.2", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "ci-info": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "code-excerpt": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "convert-to-spaces": "^1.0.1" - } - }, - "color-convert": { - "version": "1.9.3", - "bundled": true, - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "commondir": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "convert-to-spaces": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "csstype": { - "version": "3.0.9", - "bundled": true, - "dev": true - }, - "debug": { - "version": "4.3.2", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "electron-to-chromium": { - "version": "1.3.893", - "bundled": true, - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "bundled": true, - "dev": true - }, - "escalade": { - "version": "3.1.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "esprima": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "events-to-array": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "find-cache-dir": { - "version": "3.3.2", - "bundled": true, - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.2.0", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "bundled": true, - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "ink": { - "version": "3.2.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "auto-bind": "4.0.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.0", - "cli-cursor": "^3.1.0", - "cli-truncate": "^2.1.0", - "code-excerpt": "^3.0.0", - "indent-string": "^4.0.0", - "is-ci": "^2.0.0", - "lodash": "^4.17.20", - "patch-console": "^1.0.0", - "react-devtools-core": "^4.19.1", - "react-reconciler": "^0.26.2", - "scheduler": "^0.20.2", - "signal-exit": "^3.0.2", - "slice-ansi": "^3.0.0", - "stack-utils": "^2.0.2", - "string-width": "^4.2.2", - "type-fest": "^0.12.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0", - "ws": "^7.5.5", - "yoga-layout-prebuilt": "^1.9.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "is-ci": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "bundled": true, - "dev": true - }, - "json5": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "locate-path": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "bundled": true, - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "3.1.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "node-releases": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "patch-console": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "react": { - "version": "17.0.2", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-devtools-core": { - "version": "4.21.0", - "bundled": true, - "dev": true, - "requires": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "react-reconciler": { - "version": "0.26.2", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "redeyed": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "esprima": "~4.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "scheduler": { - "version": "0.20.2", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "semver": { - "version": "6.3.0", - "bundled": true, - "dev": true - }, - "shell-quote": { - "version": "1.7.3", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "bundled": true, - "dev": true - }, - "slice-ansi": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - } - } - }, - "source-map": { - "version": "0.5.7", - "bundled": true, - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "string-width": { - "version": "4.2.3", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tap-parser": { - "version": "11.0.1", - "bundled": true, - "dev": true, - "requires": { - "events-to-array": "^1.0.1", - "minipass": "^3.1.6", - "tap-yaml": "^1.0.0" - } - }, - "tap-yaml": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "yaml": "^1.5.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "treport": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/import-jsx": "^4.0.1", - "cardinal": "^2.1.1", - "chalk": "^3.0.0", - "ink": "^3.2.0", - "ms": "^2.1.2", - "tap-parser": "^11.0.0", - "unicode-length": "^2.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "type-fest": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "unicode-length": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "punycode": "^2.0.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "widest-line": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "ws": { - "version": "7.5.5", - "bundled": true, - "dev": true, - "requires": {} - }, - "yallist": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "yaml": { - "version": "1.10.2", - "bundled": true, - "dev": true - }, - "yoga-layout-prebuilt": { - "version": "1.10.0", - "bundled": true, - "dev": true, - "requires": { - "@types/yoga-layout": "1.9.2" - } - } + "requires": { + "wrappy": "1" } }, - "tap-mocha-reporter": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.3.tgz", - "integrity": "sha512-6zlGkaV4J+XMRFkN0X+yuw6xHbE9jyCZ3WUKfw4KxMyRGOpYSRuuQTRJyWX88WWuLdVTuFbxzwXhXuS2XE6o0g==", - "dev": true, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "color-support": "^1.1.0", - "debug": "^4.1.1", - "diff": "^4.0.1", - "escape-string-regexp": "^2.0.0", - "glob": "^7.0.5", - "tap-parser": "^11.0.0", - "tap-yaml": "^1.0.0", - "unicode-length": "^2.0.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "requires": { + "no-case": "^2.2.0" } }, - "tap-parser": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-11.0.1.tgz", - "integrity": "sha512-5ow0oyFOnXVSALYdidMX94u0GEjIlgc/BPFYLx0yRh9hb8+cFGNJqJzDJlUqbLOwx8+NBrIbxCWkIQi7555c0w==", - "dev": true, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "requires": { - "events-to-array": "^1.0.1", - "minipass": "^3.1.6", - "tap-yaml": "^1.0.0" + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" } }, - "tap-yaml": { + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + }, + "parse-passwd": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", - "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "optional": true + }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "requires": { + "resolve": "^1.9.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { - "yaml": "^1.5.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "tcompare": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz", - "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==", - "dev": true, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "diff": "^4.0.2" + "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "version": "5.17.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz", + "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==", "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -10573,23 +1248,6 @@ "source-map-support": "~0.5.20" } }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -10598,57 +1256,11 @@ "is-number": "^7.0.0" } }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trivial-deferred": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", - "integrity": "sha512-dagAKX7vaesNNAwOc9Np9C2mJ+7YopF4lk+jE2JML9ta4kZ91Y6UruJNH65bLRYoUROD8EY+Pmi44qQWwXR7sw==", - "dev": true - }, "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "uglify-js": { "version": "3.16.1", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", @@ -10666,50 +1278,6 @@ "requires": { "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - } - } - }, - "unicode-length": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", - "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", - "dev": true, - "requires": { - "punycode": "^2.0.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "update-browserslist-db": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", - "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" } }, "upper-case": { @@ -10717,26 +1285,11 @@ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, "v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", @@ -10745,129 +1298,18 @@ "homedir-polyfill": "^1.0.1" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } } diff --git a/common/loginpage/build/package.json b/common/loginpage/build/package.json index a4b865616..f29f4c313 100644 --- a/common/loginpage/build/package.json +++ b/common/loginpage/build/package.json @@ -4,7 +4,7 @@ "homepage": "http://www.onlyoffice.com", "private": true, "dependencies": { - "grunt": "^1.5.3", + "grunt": "^1.6.1", "grunt-contrib-clean": "^2.0.1", "grunt-contrib-concat": "^2.1.0", "grunt-contrib-copy": "^1.0.0", @@ -14,6 +14,6 @@ "grunt-terser": "^2.0.0", "grunt-text-replace": "0.4.0", "lodash": "^4.17.20", - "terser": "^5.15.1" + "terser": "^5.17.3" } } diff --git a/common/loginpage/build/startpage.json b/common/loginpage/build/startpage.json index bd23d89ac..70ba8a783 100644 --- a/common/loginpage/build/startpage.json +++ b/common/loginpage/build/startpage.json @@ -73,7 +73,7 @@ ,"../src/panelwelcome.js" ,"../src/panelsettings.js" ,"../src/panelexternal.js" - ,"../src/dlglogin.min.js" + ,"../src/dialogconnect.min.js" ,"../src/panels.js" ], "dest": "../deploy/build.js" diff --git a/common/loginpage/locale/bg.js b/common/loginpage/locale/bg.js index 191420376..e102efe07 100644 --- a/common/loginpage/locale/bg.js +++ b/common/loginpage/locale/bg.js @@ -91,4 +91,21 @@ l10n.bg = { settOptLaunchMode: 'Отвори файл', settOptLaunchInTab: 'В раздела', settOptLaunchInWindow: 'В прозореца', + settSpellcheckDetection: 'Откриване на езиково спелуване', + settOptDisabled: 'Деактивирано', + settOptEnabled: 'Активирано', + aboutChangelog: 'Дневник за промени', + updateNoUpdates: 'Приложението е актуално', + updateAvialable: 'Налична е версия $1. Натиснете за изтегляне.', + settOptThemeSystem: 'Същото като в системата', + settOptThemeContrastDark: 'Контрастно Тъмно', + settAUpdateMode: 'Режим за автоматично актуализиране', + settOptAUpdateSilent: 'Тих режим', + settOptAUpdateAsk: 'Помолете за изтегляне', + updateDownloadFinished: 'Изтеглянето приключи. Натиснете за инсталиране', + updateDownloadCanceled: 'Изтеглянето е отказано', + updateDownloadProgress: 'Изтегляне $1%. Натиснете за прекратяване', + settOptDescDisabled: "Автоматичната проверка за актуализации ще бъде деактивирана", + settOptDescAUpdateSilent: "Изтегляне на актуализации и питане преди инсталиране", + settOptDescAUpdateAsk: "Ще бъдете известени за всички стъпки на актуализирането", } \ No newline at end of file diff --git a/common/loginpage/locale/ca.js b/common/loginpage/locale/ca.js index dd54252f1..61d9ceecd 100644 --- a/common/loginpage/locale/ca.js +++ b/common/loginpage/locale/ca.js @@ -56,6 +56,7 @@ l10n.ca = { actActivate: 'Activa', actAbout: 'Sobre', actSettings: 'Configuració', + actTemplates: 'Plantilles', licKeyHolder: 'clau d\'activació d\'entrada', btnActivate: 'Activa', licGetLicense: 'Obtenir ara la teva llicencia', @@ -90,6 +91,21 @@ l10n.ca = { settOptLaunchMode: 'Obre fitxer', settOptLaunchInTab: 'En una pestanya', settOptLaunchInWindow: 'En una finestra', + settSpellcheckDetection: 'Detecció ortogràfica de la llengua', + settOptDisabled: 'Desactivat', + settOptEnabled: 'Activat', + aboutChangelog: 'Registre de canvis', + updateNoUpdates: 'App actualitzada', + updateAvialable: 'La versió $1 està disponible. Feu clic per descarregar-la.', settOptThemeSystem: 'Igual que el sistema', settOptThemeContrastDark: 'Contrast fosc', + settAUpdateMode: 'Mode d\'actualització automàtica', + settOptAUpdateSilent: 'Mode silenciós', + settOptAUpdateAsk: 'Demanar descarregar-la', + updateDownloadFinished: 'La descàrrega ha finalitzat. Feu clic per instal·lar', + updateDownloadCanceled: 'Descàrrega cancel·lada', + updateDownloadProgress: 'Descarregant $1%. Fes clic per pausar', + settOptDescDisabled: "S'inhabilitarà la comprovació d'actualitzacions automàtiques", + settOptDescAUpdateSilent: "Descarregar actualitzacions i preguntar abans d'instal·lar-les", + settOptDescAUpdateAsk: "Se li notificaran tots els passos de les actualitzacions", } diff --git a/common/loginpage/locale/el.js b/common/loginpage/locale/el.js index 130df68c6..0fcc62f75 100644 --- a/common/loginpage/locale/el.js +++ b/common/loginpage/locale/el.js @@ -44,10 +44,10 @@ l10n.el = { pshPhone: 'αριθμός τηλεφώνου', pshCode: 'κωδικός από μήνυμα κειμένου', loginNoteAssignPhone: 'Ο έλεγχος ταυτότητας δύο παραγόντων είναι ενεργοποιημένος για να παρέχει επιπλέον ασφάλεια στο ONLYOFFICE cloud. Εισαγάγετε τον αριθμό του κινητού σας τηλεφώνου για να συνεχίσετε την εργασία σας στο cloud office. Ο αριθμός κινητού τηλεφώνου πρέπει να εισαχθεί χρησιμοποιώντας μια διεθνή μορφή με κωδικό χώρας.', - loginNoteApplyCode: 'Ο έλεγχος ταυτότητας δύο παραγόντων είναι ενεργοποιημένος. Ο κωδικός έχει αποσταλεί στον αριθμό $1.', - newDoc: 'Εγγραφο', - newXlsx: 'Υπολογιστικο φυλλο', - newPptx: 'Παρουσιαση', + loginNoteApplyCode: 'Ο έλεγχος ταυτότητας δύο παραγόντων είναι ενεργοποιημένος. Ο κωδικός έχει αποσταλεί στον αριθμό $1.', + newDoc: 'Έγγραφο', + newXlsx: 'Υπολογιστικό φύλλο', + newPptx: 'Παρουσίαση', newForm: 'Πρότυπο φόρμας', actCreateNew: 'Δημιουργία νέου', actRecentFiles: 'Πρόσφατα αρχεία', @@ -82,7 +82,7 @@ l10n.el = { settOptCheckDay: 'Καθημερινά', settOptCheckWeek: 'Εβδομαδιαία', settScaling: 'Κλιμάκωση διεπαφής', - settOptScalingAuto: 'Αυτόματο', + settOptScalingAuto: 'Αυτόματα', aboutProFeaturesAvailable: 'Με πρόσβαση σε επαγγελματικά χαρακτηριστικά', settUITheme: 'Θέμα διεπαφής', settOptThemeLight: 'Ανοιχτόχρωμο', @@ -91,4 +91,21 @@ l10n.el = { settOptLaunchMode: 'Άνοιγμα αρχείου', settOptLaunchInTab: 'Σε καρτέλα', settOptLaunchInWindow: 'Σε παράθυρο', + settSpellcheckDetection: 'Εντοπισμός ορθογραφικής γλώσσας', + settOptDisabled: 'Απνεργοποιημένος', + settOptEnabled: 'Ενεργοποιημένος', + aboutChangelog: 'Καταγραφή αλλαγών', + updateNoUpdates: 'Η εφαρμογή είναι ενημερωμένη', + updateAvialable: 'Η έκδοση $1 είναι διαθέσιμη. Κάντε κλικ για λήψη.', + settOptThemeSystem: 'Το ίδιο με το σύστημα', + settOptThemeContrastDark: 'Αντίθεση σκουρόχρωμο', + settAUpdateMode: 'Λειτουργία αυτόματης ενημέρωσης', + settOptAUpdateSilent: 'Αθόρυβη λειτουργία', + settOptAUpdateAsk: 'Ερώτηση για λήψη', + updateDownloadFinished: 'Η λήψη ολοκληρώθηκε. Κάντε κλικ για εγκατάσταση', + updateDownloadCanceled: 'Η λήψη ακυρώθηκε', + updateDownloadProgress: 'Λήψη $1%. Κάντε κλικ για διακοπή', + settOptDescDisabled: "Οι ενημερώσεις αυτόματου ελέγχου θα απενεργοποιηθούν", + settOptDescAUpdateSilent: "Λήψη ενημερώσεων και ερώτηση πριν από την εγκατάσταση", + settOptDescAUpdateAsk: "Θα ειδοποιηθείτε για όλα τα βήματα ενημέρωσης", } diff --git a/common/loginpage/locale/es.js b/common/loginpage/locale/es.js index 12aa998fc..f24883b6c 100644 --- a/common/loginpage/locale/es.js +++ b/common/loginpage/locale/es.js @@ -105,4 +105,7 @@ l10n.es = { updateDownloadFinished: 'Descarga finalizada. Haga clic para instalar', updateDownloadCanceled: 'Descarga cancelada', updateDownloadProgress: 'Descargando $1%. Haga clic para cancelar', + settOptDescDisabled: "Se desactivará la comprobación automática de actualizaciones", + settOptDescAUpdateSilent: "Descargar actualizaciones y preguntar antes de instalarlas", + settOptDescAUpdateAsk: "Se le notificarán todos los pasos de las actualizaciones", } diff --git a/common/loginpage/locale/fr.js b/common/loginpage/locale/fr.js index d86a8c340..de1374e0f 100644 --- a/common/loginpage/locale/fr.js +++ b/common/loginpage/locale/fr.js @@ -105,4 +105,7 @@ l10n.fr = { updateDownloadFinished: 'Téléchargement terminé. Cliquez pour installer', updateDownloadCanceled: 'Téléchargement annulé', updateDownloadProgress: 'Téléchargement de $1%. Cliquez pour arrêter', + settOptDescDisabled: "Vérification automatique des mises à jour sera désactivée", + settOptDescAUpdateSilent: "Télécharger les mises à jour et demander avant l'installation", + settOptDescAUpdateAsk: "Vous serez averti de toutes les étapes de mise à jour", } diff --git a/common/loginpage/locale/hy.js b/common/loginpage/locale/hy.js index d0f387c49..21b62d8b1 100644 --- a/common/loginpage/locale/hy.js +++ b/common/loginpage/locale/hy.js @@ -9,7 +9,7 @@ l10n.hy = { btnBrowse: 'Զննել', btnNext: 'Հաջորդ', portalEmptyTitle: 'Միանալ Ձեր ամպին', - portalEmptyDescr: 'Պահպանեք Ձեր փաստաթղթերը ամպում, և դրանք ցանկացած պահի ցանկացած վայրում հասանելի կլինեն։ Կիսվեք և համագործակցեք դրանց միջոցով։ Զրուցեք Ձեր փաստաթղթի մեջ, ավելացրեք մեկնաբանություններ կամ կիսվեք դրանով՝ կարծիք ստանալու համար։', + portalEmptyDescr: 'Պահպանեք Ձեր փաստաթղթերը ամպում, և դրանք ցանկացած պահի ցանկացած վայրում հասանելի կլինեն։ Կիսվեք և համագործակցեք դրանց միջոցով։ Զրուցեք Ձեր փաստաթղթի մեջ, ավելացրեք մեկնաբանություններ կամ կիսվեք դրանով՝ կարծիք ստանալու համար։', portalEmptyAdv1: 'Դեռևս չունե՞ք ամպային հաշիվ։ Դարձեք առցանց ONLYOFFICE ամպային ծառայության հետ և
անվճար փորձեք համագործակցային հնարավորությունները։', portalListTitle: 'Միացված ամպեր', textNoFiles: 'Ֆայլեր չկան', @@ -105,7 +105,7 @@ l10n.hy = { updateDownloadFinished: 'Ներբեռնումն ավարտված է։ Սեղմեք՝ տեղադրելու համար', updateDownloadCanceled: 'Ներբեռնումը չեղարկվել է', updateDownloadProgress: 'Ներբեռնվում է $1%: Սեղմեք դադարեցնելու համար', - settOptDescDisabled: "Ավտոմատ ստուգման թարմացումները կանջատվեն", - settOptDescAUpdateSilent: "Ներբեռնեք թարմացումները և հարցրեք նախքան տեղադրելը", - settOptDescAUpdateAsk: "Դուք կտեղեկացվեք թարմացումների բոլոր քայլերի մասին", + settOptDescDisabled: "Ավտոմատ ստուգման թարմացումները կանջատվեն։", + settOptDescAUpdateSilent: "Ներբեռնեք թարմացումները և հարցրեք նախքան տեղադրելը։", + settOptDescAUpdateAsk: "Դուք կտեղեկացվեք թարմացումների բոլոր քայլերի մասին։", } diff --git a/common/loginpage/locale/it.js b/common/loginpage/locale/it.js index 312781d10..3be7d4e54 100644 --- a/common/loginpage/locale/it.js +++ b/common/loginpage/locale/it.js @@ -105,4 +105,7 @@ l10n.it_IT = { updateDownloadFinished: 'Download completato. Clicca per installare', updateDownloadCanceled: 'Download annullato', updateDownloadProgress: 'Scaricamento $ 1%. Clicca per interrompere', + settOptDescDisabled: "Il controllo automatico degli aggiornamenti verrà disabilitato", + settOptDescAUpdateSilent: "Scarica gli aggiornamenti e chiedi prima dell'installazione", + settOptDescAUpdateAsk: "Riceverai una notifica su tutte le fasi di aggiornamento", } diff --git a/common/loginpage/locale/ja.js b/common/loginpage/locale/ja.js index affd36126..c1837a7b5 100644 --- a/common/loginpage/locale/ja.js +++ b/common/loginpage/locale/ja.js @@ -105,4 +105,7 @@ l10n.ja = { updateDownloadFinished: 'ダウンロードが完了しました。クリックしてインストールしてください', updateDownloadCanceled: 'ダウンロードがキャンセルされました', updateDownloadProgress: 'ダウンロードは$1%です。停止するにはクリックしてください', + settOptDescDisabled: "アップデートの自動チェックは無効になります", + settOptDescAUpdateSilent: "アップデートをダウンロードし、インストールする前に通知します", + settOptDescAUpdateAsk: "すべてのアップデート手順が通知されます", } diff --git a/common/loginpage/locale/lo.js b/common/loginpage/locale/lo.js index 999c9ff84..707de4415 100644 --- a/common/loginpage/locale/lo.js +++ b/common/loginpage/locale/lo.js @@ -56,6 +56,7 @@ l10n.lo = { actActivate: 'ເປີດໃຊ້ງານe', actAbout: 'ກ່ຽວກັບ', actSettings: 'ຕັ້ງຄ່າ', + actTemplates: 'ແມ່ແບບ', licKeyHolder: 'ປຸ່ມປ້ອນຂໍ້ມູນ', btnActivate: 'ປີດໃຊ້ງານ', licGetLicense: 'ຂໍໃບອະນຸຍາດ', diff --git a/common/loginpage/locale/lv.js b/common/loginpage/locale/lv.js index 60cd555c8..f321543e4 100644 --- a/common/loginpage/locale/lv.js +++ b/common/loginpage/locale/lv.js @@ -91,4 +91,21 @@ l10n.lv = { settOptLaunchMode: 'Atvērt failu', settOptLaunchInTab: 'Cilnē', settOptLaunchInWindow: 'Logā', + settSpellcheckDetection: 'Pareizrakstības valodas noteikšana', + settOptDisabled: 'Atspējots', + settOptEnabled: 'Iespējots', + aboutChangelog: 'Izmaiņu žurnāls', + updateNoUpdates: 'Lietotne ir atjaunināta', + updateAvialable: 'Ir pieejama versija $1. Noklikšķiniet, lai lejupielādētu.', + settOptThemeSystem: 'Tas pats kā sistēma', + settOptThemeContrastDark: 'Tumšs kontrasts', + settAUpdateMode: 'Automātiskās atjaunināšanas režīms', + settOptAUpdateSilent: 'Klusuma režīms', + settOptAUpdateAsk: 'Lūgt lejupielādēt', + updateDownloadFinished: 'Lejupielāde ir pabeigta. Noklikšķiniet, lai instalētu', + updateDownloadCanceled: 'Lejupielāde ir atcelta', + updateDownloadProgress: 'Lejupielādē $1%. Noklikšķiniet, lai apturētu', + settOptDescDisabled: "Atjauninājumu automātiskā pārbaude tiks atspējota", + settOptDescAUpdateSilent: "Lejupielādēt atjauninājumus un jautāt pirms instalēšanas", + settOptDescAUpdateAsk: "Jums tiks paziņots par visām atjaunināšanas darbībām", } diff --git a/common/loginpage/locale/pt-BR.js b/common/loginpage/locale/pt-BR.js index 77029a5a8..397da521a 100644 --- a/common/loginpage/locale/pt-BR.js +++ b/common/loginpage/locale/pt-BR.js @@ -105,4 +105,7 @@ l10n.pt_BR = { updateDownloadFinished: 'Download finalizado. Clique para instalar', updateDownloadCanceled: 'Download cancelado', updateDownloadProgress: 'Baixando $1%. Clique para parar', + settOptDescDisabled: "A verificação automática de atualizações será desativada", + settOptDescAUpdateSilent: "Baixe atualizações e pergunte antes de instalar", + settOptDescAUpdateAsk: "Você será notificado sobre todas as etapas de atualização", } diff --git a/common/loginpage/locale/ro.js b/common/loginpage/locale/ro.js index 73e9deeb5..50fdde003 100644 --- a/common/loginpage/locale/ro.js +++ b/common/loginpage/locale/ro.js @@ -105,4 +105,7 @@ l10n.ro = { updateDownloadFinished: 'Descărcare încheiată. Faceți clic pentru a instala', updateDownloadCanceled: 'Descărcare anulată', updateDownloadProgress: 'Se descarcă $1%. Faceți clic pentru a opri descărcarea', + settOptDescDisabled: "Verificarea automată a actualizărilor va fi dezactivată", + settOptDescAUpdateSilent: "Descarcă actualizări și întreabă înainte de a instala", + settOptDescAUpdateAsk: "Veți primi notificări privind fiecare etapă de actualizare", } diff --git a/common/loginpage/locale/si.js b/common/loginpage/locale/si.js index 7e3714b79..8fb27a8bc 100644 --- a/common/loginpage/locale/si.js +++ b/common/loginpage/locale/si.js @@ -43,15 +43,15 @@ l10n.si = { pshPass: 'මුරපදය', pshPhone: 'දුරකථන අංකය', pshCode: 'කෙටි පණිවිඩයෙහි කේතය', - loginNoteAssignPhone: 'අතිරේක ආරක්‍ෂාවක් ඔන්ලිඔෆිස් මේඝයට සැපයීමට ද්වි-සාධක සත්‍යාපනය සබල කර ඇත. මේඝ කාර්යාලයේ වැඩ කරගෙන යාමට ඔබගේ ජංගම දු.ක. අංකය ඇතුල් කරන්න. රටේ කේතය සහිතව ජංගම දුරකථන අංකය ඇතුල් කළ යුතුය.', + loginNoteAssignPhone: 'ඔන්ලිඔෆිස් මේඝයට අතිරේක ආරක්‍ෂාවක් සැපයීමට ද්වි-සාධක සත්‍යාපනය සබල කර ඇත. මේඝ කාර්යාලයේ වැඩ කරගෙන යාමට ඔබගේ ජංගම දු.ක. අංකය ඇතුල් කරන්න. රටේ කේතය සහිතව ජංගම දුරකථන අංකය ඇතුල් කළ යුතුය.', loginNoteApplyCode: 'ද්වි-සාධක සත්‍යාපනය සබල කර ඇත. $1 අංකයට කෙටි පණිවිඩයකින් කේතය යවා ඇත.', - newDoc: 'ලේඛනය', - newXlsx: 'පැතුරුම්පත', - newPptx: 'සමර්පණය', - newForm: 'ආකෘතිපත්‍ර අච්චුව', + newDoc: 'ලේඛනයක්', + newXlsx: 'පැතුරුම්පතක්', + newPptx: 'සමර්පණයක්', + newForm: 'ආකෘතිපත්‍ර අච්චුවක්', actCreateNew: 'අළුතින් සාදන්න', actRecentFiles: 'මෑත ගොනු', - actOpenLocal: 'ස්ථානීය ගොනුව අරින්න', + actOpenLocal: 'ස්ථානීය ගොනුවක් අරින්න', actConnectTo: 'මේඝයට සබඳින්න', actActivate: 'ක්‍රියාත්මක', actAbout: 'පිළිබඳව', @@ -77,7 +77,7 @@ l10n.si = { settAfterRestart: 'යෙදුම යළි ආරම්භ කළවිට විකල්පය යෙදෙනු ඇත', settShowEncryptOpts: 'අන්ත සංකේතනය අත්හදා බලන්න', settCheckUpdates: 'ස්වයංක්‍රීයව යාවත්කාල පරීක්‍ෂා කරන්න', - settOptCheckNever: 'කවදාවත්', + settOptCheckNever: 'කවදාවත් එපා', settOptCheckDay: 'දිනපතා', settOptCheckWeek: 'සෑම සතියකම', settScaling: 'අතුරුමුහුණත පරිමාණනය', diff --git a/common/loginpage/locale/sk.js b/common/loginpage/locale/sk.js index 81c2c9e94..6fa281f9d 100644 --- a/common/loginpage/locale/sk.js +++ b/common/loginpage/locale/sk.js @@ -91,4 +91,21 @@ l10n.sk = { settOptLaunchMode: 'Otvoriť súbor', settOptLaunchInTab: 'V tabuľke', settOptLaunchInWindow: 'V okne', + settSpellcheckDetection: 'Rozpoznávanie jazyka pravopisu', + settOptDisabled: 'Vypnuté', + settOptEnabled: 'Zapnuté', + aboutChangelog: 'Protokol zmien', + updateNoUpdates: 'Aplikácia je aktuálna', + updateAvialable: 'Je dostupná verzia $1. Kliknite, aby ste si ju stiahli.', + settOptThemeSystem: 'Rovnaké ako systém', + settOptThemeContrastDark: 'Kontrast tmavý', + settAUpdateMode: 'Režim automatickej aktualizácie', + settOptAUpdateSilent: 'Tichý režim', + settOptAUpdateAsk: 'Spýtať sa pred sťahovaním', + updateDownloadFinished: 'Sťahovanie ukončené. Kliknite, aby sa spustila inštalácia', + updateDownloadCanceled: 'Sťahovanie bolo zrušené', + updateDownloadProgress: 'Sťahovanie $1%. Kliknutím zastavíte', + settOptDescDisabled: "Automatické sledovanie aktualizácií bude vypnuté", + settOptDescAUpdateSilent: "Stiahnuť aktualizácie a spýtať sa pred inštaláciou", + settOptDescAUpdateAsk: "Budete upozornení na všetky kroky aktualizácií", } diff --git a/common/loginpage/locale/sl.js b/common/loginpage/locale/sl.js index 5ef357c60..85bf0f651 100644 --- a/common/loginpage/locale/sl.js +++ b/common/loginpage/locale/sl.js @@ -91,4 +91,21 @@ l10n.sl = { settOptLaunchMode: 'Odpri datoteko', settOptLaunchInTab: 'V zavihku', settOptLaunchInWindow: 'V oknu', + settSpellcheckDetection: 'Zaznavanje črkovanja jezika', + settOptDisabled: 'Onemogočeno', + settOptEnabled: 'Omogočeno', + aboutChangelog: 'Dnevnik sprememb', + updateNoUpdates: 'Aplikacija je posodobljena', + updateAvialable: 'Verzija $1 je na voljo. Kliknite za prenos.', + settOptThemeSystem: 'Enako kot sistem', + settOptThemeContrastDark: 'Temen kontrast', + settAUpdateMode: 'Način samodejnega posodabljanja', + settOptAUpdateSilent: 'Tihi način', + settOptAUpdateAsk: 'Vprašaj pred prenosom', + updateDownloadFinished: 'Prenos končan. Kliknite za namestitev', + updateDownloadCanceled: 'Prenos preklican', + updateDownloadProgress: 'Prenašanje $1%. Kliknite za zaustavitev', + settOptDescDisabled: "Samodejno preverjanje posodobitev bo onemogočeno", + settOptDescAUpdateSilent: "Prenesite posodobitve in vprašaj pred namestitvijo", + settOptDescAUpdateAsk: "O vseh korakih posodobitve boste obveščeni", } diff --git a/common/loginpage/locale/tr.js b/common/loginpage/locale/tr.js index a537c4e12..a557e7660 100644 --- a/common/loginpage/locale/tr.js +++ b/common/loginpage/locale/tr.js @@ -91,4 +91,21 @@ l10n.tr = { settOptLaunchMode: 'Dosya aç', settOptLaunchInTab: 'Sekmede', settOptLaunchInWindow: 'Pencerede', + settSpellcheckDetection: 'Yazım dili algılama', + settOptDisabled: 'Devre Dışı', + settOptEnabled: 'Devrede', + aboutChangelog: 'Değişiklik günlüğü', + updateNoUpdates: 'Uygulama güncel', + updateAvialable: '$1 sürümü mevcut. İndirmek İçin Tıklayın.', + settOptThemeSystem: 'Sistemin aynısı', + settOptThemeContrastDark: 'Kontrast Koyu', + settAUpdateMode: 'Otomatik güncelleme modu', + settOptAUpdateSilent: 'Sessiz mod', + settOptAUpdateAsk: 'İndirmek için sor', + updateDownloadFinished: 'İndirme tamamlandı. Kurmak için tıklayın', + updateDownloadCanceled: 'İndirme iptal edildi', + updateDownloadProgress: '$1% indiriliyor. Durdurmak için tıklayın', + settOptDescDisabled: "Güncellemelerin otomatik olarak kontrol edilmesi devre dışı bırakılacak", + settOptDescAUpdateSilent: "Güncellemeleri indir ve yüklemeden önce sor", + settOptDescAUpdateAsk: "Tüm güncelleme adımları hakkında bilgilendirileceksiniz", } diff --git a/common/loginpage/locale/uk.js b/common/loginpage/locale/uk.js index 84152a33b..b1183b955 100644 --- a/common/loginpage/locale/uk.js +++ b/common/loginpage/locale/uk.js @@ -91,4 +91,21 @@ l10n.uk = { settOptLaunchMode: 'Відкрити файл', settOptLaunchInTab: 'У вкладці', settOptLaunchInWindow: 'У вікні', + settSpellcheckDetection: 'Визначення мови перевірки правопису', + settOptDisabled: 'Вимкнено', + settOptEnabled: 'Увімкнено', + aboutChangelog: 'Журнал змін', + updateNoUpdates: 'Застосунок актуальний', + updateAvialable: 'Доступна версія $1. Клацніть, щоб завантажити.', + settOptThemeSystem: 'Системна', + settOptThemeContrastDark: 'Контрастна темна', + settAUpdateMode: 'Режим автооновлення', + settOptAUpdateSilent: 'Беззвучний режим', + settOptAUpdateAsk: 'Попросити завантажити', + updateDownloadFinished: 'Завантаження завершено. Клацніть, щоб інсталювати', + updateDownloadCanceled: 'Завантаження скасовано', + updateDownloadProgress: 'Завантаження $1%. Клацніть, щоб припинити', + settOptDescDisabled: "Автоматичну перевірку оновлень буде вимкнено", + settOptDescAUpdateSilent: "Завантажити оновлення та запитати перед інсталюванням", + settOptDescAUpdateAsk: "Ви будете сповіщені про всі етапи оновлення", } diff --git a/common/loginpage/locale/zh-HK.js b/common/loginpage/locale/zh-TW.js similarity index 99% rename from common/loginpage/locale/zh-HK.js rename to common/loginpage/locale/zh-TW.js index f8514414d..8c8ce0334 100644 --- a/common/loginpage/locale/zh-HK.js +++ b/common/loginpage/locale/zh-TW.js @@ -1,4 +1,4 @@ -l10n.zh_HK = { +l10n.zh_TW = { welWelcome: '歡迎使用 ONLYOFFICE 桌面編輯器!', welDescr: '以離線方式在文件上工作,或將套件連線至您的雲端:ONLYOFFICE, ownCloud, Nextcloud', btnConnect: '立即連線', diff --git a/common/loginpage/res/img/connect1.svg b/common/loginpage/res/img/connect1.svg index 75e6a5179..67d102bc4 100644 --- a/common/loginpage/res/img/connect1.svg +++ b/common/loginpage/res/img/connect1.svg @@ -1,179 +1,149 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + diff --git a/common/loginpage/res/img/connect1_dark.svg b/common/loginpage/res/img/connect1_dark.svg index 53b9d8770..8f3d819de 100644 --- a/common/loginpage/res/img/connect1_dark.svg +++ b/common/loginpage/res/img/connect1_dark.svg @@ -1,182 +1,149 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + diff --git a/common/loginpage/res/img/connect2.svg b/common/loginpage/res/img/connect2.svg index cf9a4f8ea..fcbaf71f2 100644 --- a/common/loginpage/res/img/connect2.svg +++ b/common/loginpage/res/img/connect2.svg @@ -1,166 +1,145 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/loginpage/res/img/connect2_dark.svg b/common/loginpage/res/img/connect2_dark.svg index cbff8163d..95892d8f3 100644 --- a/common/loginpage/res/img/connect2_dark.svg +++ b/common/loginpage/res/img/connect2_dark.svg @@ -1,138 +1,153 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + - + diff --git a/common/loginpage/res/img/connect3.svg b/common/loginpage/res/img/connect3.svg index f87c31b51..5151d7a2a 100644 --- a/common/loginpage/res/img/connect3.svg +++ b/common/loginpage/res/img/connect3.svg @@ -1,121 +1,131 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + - - - - - + - + - + - + + + + + + + + - + diff --git a/common/loginpage/res/img/connect3_dark.svg b/common/loginpage/res/img/connect3_dark.svg index 645797930..c3f0c6ea4 100644 --- a/common/loginpage/res/img/connect3_dark.svg +++ b/common/loginpage/res/img/connect3_dark.svg @@ -1,119 +1,126 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + - + - + + + + + - - + + - + diff --git a/common/loginpage/res/img/update_status.svg b/common/loginpage/res/img/update_status.svg new file mode 100644 index 000000000..ab82b5d1a --- /dev/null +++ b/common/loginpage/res/img/update_status.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/loginpage/res/img/welcome.svg b/common/loginpage/res/img/welcome.svg index 1d80592b3..fbe42c676 100644 --- a/common/loginpage/res/img/welcome.svg +++ b/common/loginpage/res/img/welcome.svg @@ -1,5 +1,219 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/common/loginpage/res/img/welcome_dark.svg b/common/loginpage/res/img/welcome_dark.svg index 34c987719..cb3a5e3cc 100644 --- a/common/loginpage/res/img/welcome_dark.svg +++ b/common/loginpage/res/img/welcome_dark.svg @@ -1,5 +1,219 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/common/loginpage/src/css/colors.less b/common/loginpage/src/css/colors.less index bd5e74df8..e6ab0849d 100644 --- a/common/loginpage/src/css/colors.less +++ b/common/loginpage/src/css/colors.less @@ -44,6 +44,7 @@ --text-contrast-background: #fff; --icon-normal: fade(#000, 80%); + --icon-success: #090; --disabled-element-opacity: .4; --theme-inverted-image-filter: none; @@ -93,6 +94,7 @@ @text-contrast-background: var(--text-contrast-background); @icon-normal: var(--icon-normal); +@icon-success: var(--icon-success); @disabled-element-opacity: var(--disabled-element-opacity); @theme-inverted-image-filter: var(--theme-inverted-image-filter); diff --git a/common/loginpage/src/css/colors_classic.less b/common/loginpage/src/css/colors_classic.less index b5649a6d2..608e40a27 100644 --- a/common/loginpage/src/css/colors_classic.less +++ b/common/loginpage/src/css/colors_classic.less @@ -46,6 +46,7 @@ /*--icon-normal: fade(#000, 80%);*/ /*--icon-notification-badge: #000;*/ + --icon-success: #5b9f27; /*--disabled-element-opacity: .4;*/ /*--theme-inverted-image-filter: none;*/ diff --git a/common/loginpage/src/css/component.less b/common/loginpage/src/css/component.less index f328b2cb9..d88da9598 100644 --- a/common/loginpage/src/css/component.less +++ b/common/loginpage/src/css/component.less @@ -38,12 +38,12 @@ button { background-color: @highlight-button-hover; } - &:active { + &:active:not(:disabled) { border-color: @highlight-button-pressed; background-color: @highlight-button-pressed; } - &.btn--landing { + &.btn--landing:not(:disabled) { &:hover { background-color: @highlight-accent-button-hover; } @@ -368,6 +368,10 @@ input[type="radio"] { color: @text-normal-pressed; background-color: @highlight-button-hover; } + + & small { + color: @text-secondary; + } } > .active > a { @@ -378,6 +382,10 @@ input[type="radio"] { background-color: @highlight-button-pressed; color: @text-normal-pressed; } + + & small.text-muted { + color: @text-secondary !important; + } } > .disabled > a { diff --git a/common/loginpage/src/dialogconnect.js b/common/loginpage/src/dialogconnect.js index 0ced89477..4aae76fe9 100644 --- a/common/loginpage/src/dialogconnect.js +++ b/common/loginpage/src/dialogconnect.js @@ -173,7 +173,7 @@ window.DialogConnect = function(params) { _require_portal_info(protocol + portal, provider).then( _callback, obj => { - if ( obj.status == 'error' && obj.response.status == 404 ) { + if ( obj.status == 'error' && (obj.response.status == 404 || obj.response.statusCode == 404) ) { protocol = protocol == "https://" ? "http://" : "https://"; return _require_portal_info(protocol + portal, provider); } else _callback(obj); @@ -187,11 +187,19 @@ window.DialogConnect = function(params) { if ( !!item ) { const $portal = $body.find('#auth-portal'); if ( item.entryPage ) { + if ( !$portal.data("autoportal") ) + $portal.data("userportal", $portal.val()); + $portal.data("autoportal", true); + $portal[0].disabled = true; $portal.val(item.entryPage) } else { + if ( $portal.data("autoportal") ) { + $portal.val($portal.data("userportal")); + $portal.data("autoportal", false); + } + $portal[0].disabled = false; - $portal.val("") } } } @@ -262,6 +270,12 @@ window.DialogConnect = function(params) { } }, error: function(e, status, error) { +// AscSimpleRequest +// include/base/internal/cef_net_error_list.h +// A connection attempt was refused. +// NET_ERROR(CONNECTION_REFUSED, -102) + + if ( e.statusCode == -102 ) e.statusCode = 404; reject({status:status, response:e}); } }); diff --git a/common/loginpage/src/htmlutils.js b/common/loginpage/src/htmlutils.js index 86e03a660..31fbb0c05 100644 --- a/common/loginpage/src/htmlutils.js +++ b/common/loginpage/src/htmlutils.js @@ -7,7 +7,11 @@ function checkScaling() { screen and (min-resolution: 1.5dppx) and (max-resolution: 1.74dppx)`, 'pixel-ratio__1_75': `screen and (-webkit-min-device-pixel-ratio: 1.75) and (-webkit-max-device-pixel-ratio: 1.99), screen and (min-resolution: 1.75dppx) and (max-resolution: 1.99dppx)`, - 'pixel-ratio__2': `screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx), screen and (min-resolution: 192dpi)` + 'pixel-ratio__2': `screen and (-webkit-min-device-pixel-ratio: 2) and (-webkit-max-device-pixel-ratio: 2.24), + screen and (min-resolution: 2dppx) and (max-resolution: 2.24dppx), + screen and (min-resolution: 192dpi) and (max-resolution: 215dpi)`, + 'pixel-ratio__2_5': `screen and (-webkit-min-device-pixel-ratio: 2.25), screen and (min-resolution: 2.25dppx), + screen and (min-resolution: 216dpi)`, }; for (var c in matches) { @@ -44,7 +48,7 @@ var params = (function() { let ui_theme_name = params.uitheme || localStorage.getItem("ui-theme"), ui_theme_type; if ( !!ui_theme_name ) { - if ( /^{".+"}$/.test(ui_theme_name) ) { + if ( /^{".+"}+$/.test(ui_theme_name) ) { const obj = JSON.parse(ui_theme_name); ui_theme_name = obj['id'] || 'theme-dark'; ui_theme_type = obj['type']; diff --git a/common/loginpage/src/index.html b/common/loginpage/src/index.html index 55e5e1f91..e12abd707 100644 --- a/common/loginpage/src/index.html +++ b/common/loginpage/src/index.html @@ -63,46 +63,18 @@ @font-face { font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-Bold.ttf'); - font-weight: bold; - } - @font-face { - font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-BoldItalic.ttf'); + src: url('../../../../core-fonts/opensans/OpenSans-Regular.ttf'); font-weight: normal; - font-style: italic; - } - @font-face { - font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-ExtraBold.ttf'); - font-weight: bolder; - } - @font-face { - font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-ExtraBoldItalic.ttf'); - font-weight: bolder; - font-style: italic; } @font-face { font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-Italic.ttf'); - font-style: italic; - } - @font-face { - font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-Light.ttf'); + src: url('../../../../core-fonts/opensans/OpenSans-Light.ttf'); font-weight: 100; } @font-face { font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-LightItalic.ttf'); - font-weight: lighter; - font-style: italic; - } - @font-face { - font-family: 'Open Sans'; - src: url('../../package/fonts/OpenSans-Regular.ttf'); - font-weight: normal; + src: url('../../../../core-fonts/opensans/OpenSans-Bold.ttf'); + font-weight: bold; } @@ -162,6 +134,7 @@

Create new

+ - + @@ -228,7 +201,8 @@

Create new

- + + diff --git a/common/loginpage/src/index.html.deploy b/common/loginpage/src/index.html.deploy index 15ddcbfc6..c952730ce 100644 --- a/common/loginpage/src/index.html.deploy +++ b/common/loginpage/src/index.html.deploy @@ -50,47 +50,20 @@ @font-face { font-family: 'Open Sans'; - src: url('fonts/OpenSans-Bold.ttf'); - font-weight: bold; - } - @font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-BoldItalic.ttf'); + /*src: url('fonts/opensans/OpenSans-Regular.ttf');*/ + src: url('fonts/OpenSans-Regular.ttf'); font-weight: normal; - font-style: italic; - } - @font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-ExtraBold.ttf'); - font-weight: bolder; - } - @font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-ExtraBoldItalic.ttf'); - font-weight: bolder; - font-style: italic; } @font-face { font-family: 'Open Sans'; - src: url('fonts/OpenSans-Italic.ttf'); - font-style: italic; + src: url('fonts/OpenSans-Bold.ttf'); + font-weight: bold; } @font-face { font-family: 'Open Sans'; src: url('fonts/OpenSans-Light.ttf'); font-weight: 100; } - @font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-LightItalic.ttf'); - font-weight: lighter; - font-style: italic; - } - @font-face { - font-family: 'Open Sans'; - src: url('fonts/OpenSans-Regular.ttf'); - font-weight: normal; - } @@ -147,6 +120,7 @@ + diff --git a/common/loginpage/src/panelabout.js b/common/loginpage/src/panelabout.js index b4cebab9f..1b5b9fbbe 100644 --- a/common/loginpage/src/panelabout.js +++ b/common/loginpage/src/panelabout.js @@ -62,7 +62,7 @@ ViewAbout.prototype.paneltemplate = function(args) { var _opts = args.opts; !!_opts.active && (_opts.edition = !!_opts.edition ? _opts.edition + ' ' + _opts.active : _opts.active); - _opts.edition = !!_opts.edition ? `
${_opts.edition}
` : ''; + _opts.edition = !!_opts.edition ? `
${_opts.edition}
` : ''; let _ext_ver = ''; if ( !!_opts.arch ) _ext_ver += `${_opts.arch == 'x64' ? 'x64' : 'x86'}`; @@ -70,20 +70,39 @@ if ( !!_ext_ver ) _opts.version += ` (${_ext_ver.trim()})`; var _lang = utils.Lang; + const _updates_status = `
+
+ + + + +
+
+ +
+
`; let _html = `
+

${_lang.actAbout}

-
- -

-
${_opts.appname} ${_lang.strVersion} ${_opts.version}
+
+ +
+

${_opts.appname}

+

${_lang.strVersion} ${_opts.version}

+
+

+ + ${_updates_status}
${_lang.aboutProFeaturesAvailable}
- ${_opts.edition}

- ${_lang.checkUpdates}

- ${_lang.aboutChangelog}

-

+ ${_opts.edition} + + + ${_opts.site}
`+ // '
'+ @@ -97,10 +116,6 @@ return _html; }; - ViewAbout.prototype.renderpanel = function(template) { - this.$panel && this.$panel.empty(); - this.$panel.append(template); - }; window.ControllerAbout = ControllerAbout; @@ -137,17 +152,21 @@ this.view = new ViewAbout(args); this.view.render(); this.view.$menuitem.removeClass('extra'); + this.view.$panel.append(this.view.paneltemplate(args)); + } else { + if ( !!args.opts && !!args.opts.edition ) { + $('#idx-ver-edition').html(args.opts.edition); + } } - this.view.renderpanel(this.view.paneltemplate(args)); - const $label = this.view.$panel.find('.ver-checkupdate'); - $label.on('click', (e) => { - if ( performance.now() - last_click_time < 1000 ) return; - last_click_time = performance.now(); + // const $label = this.view.$panel.find('.ver-checkupdate'); + // $label.on('click', (e) => { + // if ( performance.now() - last_click_time < 1000 ) return; + // last_click_time = performance.now(); - window.sdk.execCommand('update', $label.data('state')); - }); - $label[this.updates===true?'show':'hide'](); + // window.sdk.execCommand('update', $label.data('state')); + // }); + // $label[this.updates===true?'show':'hide'](); if ( args.opts ) { this.view.$panel.find('.ver-changelog')[!!args.opts.changelog?'show':'hide'](); } @@ -159,48 +178,100 @@ this.updates = param == 'on'; if ( this.view ) { - this.view.$panel.find('.ver-checkupdate')[this.updates?'show':'hide'](); + // this.view.$panel.find('.ver-checkupdate')[this.updates?'show':'hide'](); + this.view.$panel.find('#idx-update-cnt')[this.updates?'show':'hide'](); + + if ( this.updates ) { + const $btn = $('#idx-update-btnaction') + $btn.click(e => { + sdk.execCommand('updates:action', $btn.data('action')); + }); + } } } else if (/^updates:checking/.test(cmd)) { - const $label = this.view.$panel.find('.ver-checkupdate'); - const opts = JSON.parse(param); - if ( opts.version == 'no' ) { - $label.text(utils.Lang.updateNoUpdates); - } else { - $label.text(utils.Lang.updateAvialable.replace('$1', opts.version)); - $label.data('state', 'download'); - } - $label.show(); + // const $label = this.view.$panel.find('.ver-checkupdate'); + // const opts = JSON.parse(param); + // if ( opts.version == 'no' ) { + // $label.text(utils.Lang.updateNoUpdates); + // } else { + // $label.text(utils.Lang.updateAvialable.replace('$1', opts.version)); + // $label.data('state', 'download'); + // } + // $label.show(); } else if (/updates:download/.test(cmd)) { - const opts = JSON.parse(param); - const $label = this.view.$panel.find('.ver-checkupdate'); - - if ( opts.progress == 'done' ) { - $label.text(utils.Lang.updateDownloadFinished); - $label.data('state', 'install'); - } else - if ( opts.progress == 'aborted' ) { - $label.text(utils.Lang.updateDownloadCanceled); - } else { - $label.text(utils.Lang.updateDownloadProgress.replace('$1', opts.progress)); - $label.data('state', 'abort'); - } + // const opts = JSON.parse(param); + // const $label = this.view.$panel.find('.ver-checkupdate'); + + // if ( opts.progress == 'done' ) { + // $label.text(utils.Lang.updateDownloadFinished); + // $label.data('state', 'install'); + // } else + // if ( opts.progress == 'aborted' ) { + // $label.text(utils.Lang.updateDownloadCanceled); + // } else { + // $label.text(utils.Lang.updateDownloadProgress.replace('$1', opts.progress)); + // $label.data('state', 'abort'); + // } } else if (/updates:link/.test(cmd)) { - const $label = this.view.$panel.find('.ver-checkupdate'); - let opts = {}; - if ( param == 'lock' || param == 'unlock' ) - opts.disabled = param == 'lock'; - else opts = JSON.parse(param); - - if ( opts.disabled != undefined ) { - $label.attr('disabled', opts.disabled ? 'disabled' : false); - } + // const $label = this.view.$panel.find('.ver-checkupdate'); + // let opts = {}; + // if ( param == 'lock' || param == 'unlock' ) + // opts.disabled = param == 'lock'; + // else opts = JSON.parse(param); + + // if ( opts.disabled != undefined ) { + // $label.attr('disabled', opts.disabled ? 'disabled' : false); + // } + } else + if (/updates:status/.test(cmd)) { + on_updates_info.call(this, JSON.parse(param)) } }; + const on_updates_info = function(info) { + if ( info.text ) { + $('#idx-update-status-text', this.view.$panel).text(info.text); + } + + if ( info.icon ) { + const $icon = $('#idx-update-status-icon', this.view.$panel); + + let icon_id; + switch (info.icon) { + case 'error': icon_id = 'error'; break; + case 'load': icon_id = 'load'; break; + case 'lastcheck': icon_id = 'lastcheck'; break; + default: icon_id = 'success'; break; + } + + $icon.attr('data-icon', icon_id); + $('use', $icon).attr('href', `#${icon_id}`) + } + + if ( info.button ) { + const $button = $('#idx-update-btnaction', this.view.$panel); + if ( info.button.text ) { + $button.text(info.button.text); + $button.data("action", info.button.action); + } + + if ( info.button.lock ) { + $button.disable(info.button.lock=='true'); + } + + if ( info.button == 'lock' ) { + $button.disable(true); + } else + if ( info.button == 'unlock' ) { + $button.disable(false); + } + + } + } + return { init: function() { baseController.prototype.init.apply(this, arguments); diff --git a/common/loginpage/src/panelconnect.js b/common/loginpage/src/panelconnect.js index 72c604629..f5492fea3 100644 --- a/common/loginpage/src/panelconnect.js +++ b/common/loginpage/src/panelconnect.js @@ -223,7 +223,7 @@ utils.fn.extend(ControllerPortals.prototype, (function() { let collection, ppmenu; - let dlgLogin; + // let dlgLogin; function _on_context_menu(menu, action, data) { var model = data; @@ -265,7 +265,8 @@ _dialog.show(); }; - function _do_login(model) { + // TODO: remove after ver 8.0. login proc via portal's api isn't used any more + /* function _do_login(model) { if ( !dlgLogin ) { !model && (model = {}) dlgLogin = new LoginDlg({ @@ -293,30 +294,32 @@ dlgLogin.show({portal: model.path, provider: model.provider, email: model.email}); } - }; - - if ( config.portals && !!config.portals.auth_use_api ) { - _do_connect = _do_login; - } - - function _authorize(portal, user, data) { - if ( !dlgLogin ) { - dlgLogin = new LoginDlg({ - success: info => { - // dlgLogin.close(); - PortalsStore.keep(info.data); - _update_portals.call(this); - - CommonEvents.fire('portal:authorized', [data]); - }, - close: code => { - dlgLogin = undefined; - } - }); - - dlgLogin.show({portal: portal, email: user}); - } - }; + }; */ + + // TODO: remove after ver 8.0. login proc via portal's api isn't used any more + // if ( config.portals && !!config.portals.auth_use_api ) { + // _do_connect = _do_login; + // } + + // TODO: remove after ver 8.0. login proc via portal's api isn't used any more + // function _authorize(portal, user, data) { + // if ( !dlgLogin ) { + // dlgLogin = new LoginDlg({ + // success: info => { + // // dlgLogin.close(); + // PortalsStore.keep(info.data); + // _update_portals.call(this); + + // CommonEvents.fire('portal:authorized', [data]); + // }, + // close: code => { + // dlgLogin = undefined; + // } + // }); + + // dlgLogin.show({portal: portal, email: user}); + // } + // }; function _do_logout(model) { // var model = portalCollection.find('name', info); @@ -478,7 +481,7 @@ }; var _on_create_portal = function() { - dlgLogin && dlgLogin.close(); + // dlgLogin && dlgLogin.close(); window.sdk.execCommand('portal:create', ''); }; @@ -571,9 +574,9 @@ opts = JSON.parse(params); } catch (e) { /*delete opts;*/ } - if ( opts && opts.portals && opts.portals.auth_use_api ) { - _do_connect = _do_login; - } + // if ( opts && opts.portals && opts.portals.auth_use_api ) { + // _do_connect = _do_login; + // } } else if (params.includes('\"uitheme\"\:')) { // let opts = JSON.parse(params); @@ -719,18 +722,19 @@ var model = collection.find('name', utils.skipUrlProtocol(portal)); return model && model.logged; }, - authorizeOn: function(portal, data) { - var model = collection.find('name', utils.skipUrlProtocol(portal)); - if ( !model ) { - _authorize.call(this, portal, undefined, data); - } else - if ( !model.logged ) { - _authorize.call(this, portal, model.email, data); - } - } - , collection: function() { + // TODO: remove after ver 8.0. login proc via portal's api isn't used any more + // authorizeOn: function(portal, data) { + // var model = collection.find('name', utils.skipUrlProtocol(portal)); + // if ( !model ) { + // _authorize.call(this, portal, undefined, data); + // } else + // if ( !model.logged ) { + // _authorize.call(this, portal, model.email, data); + // } + // }, + collection: function() { return collection; - } + }, }; })()); }(); diff --git a/common/loginpage/src/panels.js b/common/loginpage/src/panels.js index 7f81c5e77..e4fce929a 100644 --- a/common/loginpage/src/panels.js +++ b/common/loginpage/src/panels.js @@ -68,11 +68,6 @@ $(document).ready(function() { CommonEvents.fire("portal:create"); }); - if (!window.LoginDlg) { - $('.tools-connect').hide(); - hideAction('connect'); - } - if (!window.config.portals.checklist) { $('.tools-connect').hide(); hideAction('connect'); diff --git a/common/loginpage/src/panelsettings.js b/common/loginpage/src/panelsettings.js index 360d5828f..524511a1e 100644 --- a/common/loginpage/src/panelsettings.js +++ b/common/loginpage/src/panelsettings.js @@ -66,6 +66,81 @@ }, } + const nativevars = window.RendererProcessVariable; + { + const create_colors_css = function (id, colors) { + if ( !!colors && !!id ) { + let _css_array = [':root .', id, '{']; + for (var c in colors) { + _css_array.push('--', c, ':', colors[c], ';'); + } + + _css_array.push('}'); + return _css_array.join(''); + } + } + + const write_theme_css = function (css) { + if ( !!css ) { + let style = document.createElement('style'); + style.type = 'text/css'; + style.innerHTML = css; + document.getElementsByTagName('head')[0].appendChild(style); + } + } + + if ( nativevars.localthemes ) { + for ( const t of nativevars.localthemes ) { + const _css = create_colors_css(t.id, t.colors); + if ( _css ) { + write_theme_css(_css); + themes_map[t.id] = {text: t.name, type: t.type, l10n: t.l10n}; + } + } + } + } + + const uitheme = { id: nativevars.theme.id, type: nativevars.theme.type } + uitheme.set_id = function (id) { + if ( id == 'theme-system' ) + this.adapt_to_system_theme(); + else this.id = id; + } + + uitheme.is_theme_system = function () { + return this.id == 'theme-system' + } + + uitheme.is_system_theme_avalaible = function () { + return t.system !== 'disabled' + } + + uitheme.adapt_to_system_theme = function () { + this.id = 'theme-system'; + this.type = this.is_system_theme_dark() ? 'dark' : 'light'; + } + + uitheme.relevant_theme_id = function () { + if ( this.is_theme_system() ) + return this.is_system_theme_dark() ? 'theme-dark' : 'theme-classic-light'; + return this.id; + } + + uitheme.is_system_theme_dark = function () { + return this.get_system_theme_type() == 'dark'; + } + + uitheme.get_default_theme_for_type = type => type == THEME_TYPE_DARK ? THEME_ID_DEFAULT_DARK : THEME_ID_DEFAULT_LIGHT; + + uitheme.get_system_theme_type = () => { + if ( nativevars.theme && !!nativevars.theme.system ) { + return nativevars.theme.system !== 'disabled' ? nativevars.theme.system : THEME_TYPE_LIGHT; + } else { + return window.matchMedia('(prefers-color-scheme: dark)').matches ? THEME_TYPE_DARK : THEME_TYPE_LIGHT; + } + } + + var ControllerSettings = function(args={}) { args.caption = 'Settings'; args.action = @@ -106,13 +181,8 @@
- - - - - -
@@ -238,18 +308,16 @@ $btnApply.disable(false); }; - function _apply_theme(name, type) { - if ( name == 'theme-system' ) { - name = get_default_theme(get_system_theme_type()); - } + function _apply_theme(id, type) { + uitheme.set_id(id); - if ( !$("body").hasClass(name) ) { - const _type = (type == 'dark' || /theme-(?:[a-z]+-)?dark(?:-[a-z]*)?/.test(name)) ? 'theme-type-dark' : 'theme-type-light'; + const theme_id = uitheme.relevant_theme_id(); + if ( !$("body").hasClass(theme_id) ) { + const _type = (type == 'dark' || /theme-(?:[a-z]+-)?dark(?:-[a-z]*)?/.test(theme_id)) ? 'theme-type-dark' : 'theme-type-light'; const _cls = document.body.className.replace(/theme-[\w-]+/gi,'').trim(); - document.body.className = `${_cls?_cls+' ':''}${name} ${_type}`; + document.body.className = `${_cls?_cls+' ':''}${theme_id} ${_type}`; - localStorage.setItem('ui-theme-id', name); - CommonEvents.fire('theme:changed', [name, themes_map[name].type]); + CommonEvents.fire('theme:changed', [theme_id, themes_map[theme_id].type]); } }; @@ -422,8 +490,6 @@ {'theme-dark': utils.Lang.settOptThemeDark}, {'theme-contrast-dark': utils.Lang.settOptThemeContrastDark}]; - - const nativevars = window.RendererProcessVariable; if ( nativevars.theme && nativevars.theme.system == 'disabled' ) _themes.shift(); @@ -433,12 +499,23 @@ _combo.append(``); }); + if ( nativevars.localthemes ) { + for ( const t of nativevars.localthemes ) { + const _theme_title = t.l10n[utils.Lang.id] || t.name; + _combo.append(``); + } + } - ($optsUITheme = _combo) - .val(opts.uitheme) - .selectpicker().on('change', e => { - $btnApply.isdisabled() && $btnApply.disable(false);}) - .parents('.settings-field').show(); + if ( !$optsUITheme ) { + ($optsUITheme = _combo) + .val(opts.uitheme) + .selectpicker().on('change', e => { + $btnApply.isdisabled() && $btnApply.disable(false);}) + .parents('.settings-field').show(); + } else { + $optsUITheme.val(opts.uitheme) + .selectpicker('refresh'); + } } _apply_theme(!!opts.uitheme ? opts.uitheme : 'theme-classic-light'); @@ -460,11 +537,11 @@ if ( !!opts.updates ) { if ( opts.updates.mode !== undefined ) { - if ( !['ask', 'disabled'].includes(opts.updates.mode) ) - opts.updates.mode = 'ask'; // for 7.3. to workaround 'silent' mode + // if ( !['ask', 'disabled'].includes(opts.updates.mode) ) + // opts.updates.mode = 'ask'; // for 7.3. to workaround 'silent' mode - // ($optsAutoupdateMode = ($('#opts-autoupdate-mode', $panel).show().find('select'))) - ($optsAutoupdateMode = ($('#opts-autoupdate', $panel).show().find('select'))) + ($optsAutoupdateMode = ($('#opts-autoupdate-mode', $panel).show().find('select'))) + // ($optsAutoupdateMode = ($('#opts-autoupdate', $panel).show().find('select'))) .val(opts.updates.mode) .selectpicker().on('change', e => { $btnApply.isdisabled() && $btnApply.disable(false); @@ -525,13 +602,6 @@ } }; - const get_system_theme_type = () => { - const nativevars = window.RendererProcessVariable; - return nativevars.theme && !!nativevars.theme.system ? nativevars.theme.system : - window.matchMedia('(prefers-color-scheme: dark)').matches ? THEME_TYPE_DARK : THEME_TYPE_LIGHT; - //window.matchMedia('(prefers-color-scheme: dark)').matches ? THEME_TYPE_DARK : THEME_TYPE_LIGHT; - } - const get_default_theme = type => type == THEME_TYPE_DARK ? THEME_ID_DEFAULT_DARK : THEME_ID_DEFAULT_LIGHT; const on_system_theme_dark = e => sdk.command("system:changed", JSON.stringify({'colorscheme': e.target.matches ? THEME_TYPE_DARK:THEME_TYPE_LIGHT})); @@ -566,6 +636,14 @@ $('option[value=silent]', this.view.$panel).attr('data-subtext', utils.Lang.settOptDescAUpdateSilent); $('option[value=ask]', this.view.$panel).attr('data-subtext', utils.Lang.settOptDescAUpdateAsk); $('option[value=disabled]', this.view.$panel).attr('data-subtext', utils.Lang.settOptDescDisabled); + + // for ( let k of Object.keys(themes_map) ) { + // const t = themes_map[k] + // if ( t.l10n ) { + // const _new_title = t.l10n[nl] || t.l10n[nl.substring(0,2)] || t.name; + // $(`option[value=${k}]`, $optsUITheme).text(_new_title); + // } + // } }; return { @@ -574,6 +652,11 @@ this.view.render(); + const _scaling = [100, 125, 150, 175, 200, 225, 250, 275, 300, 350, 400, 450, 500]; + let _scaling_items = ''; + _scaling.forEach(val => _scaling_items += ``); + $('#opts-ui-scaling .combobox', this.view.$panel).append($(_scaling_items)); + let me = this; me.view.$panel.find('#sett-box-user > a.link').on('click', e => { sdk.command("settings:get", "username"); @@ -627,7 +710,7 @@ return this; }, currentTheme: function() { - const name = localStorage.getItem('ui-theme-id'); + const name = uitheme.id; return {name: name, type: themes_map[name] ? themes_map[name].type : THEME_TYPE_LIGHT}; }, }; diff --git a/common/loginpage/src/panelwelcome.js b/common/loginpage/src/panelwelcome.js index 892a438c3..84432a407 100644 --- a/common/loginpage/src/panelwelcome.js +++ b/common/loginpage/src/panelwelcome.js @@ -84,7 +84,8 @@ init: function() { baseController.prototype.init.apply(this, arguments); - const is_dark_theme = localStorage.getItem('ui-theme') == 'theme-dark'; + const ui_theme = localStorage.getItem('ui-theme'); + const is_dark_theme = ui_theme == 'theme-dark' || ui_theme == 'theme-contrast-dark'; let img = ``; if (window.utils.inParams.osver == 'winxp' || /windows nt 5/i.test(navigator.appVersion)) { diff --git a/common/loginpage/src/styles.less b/common/loginpage/src/styles.less index 4ebd3a886..2b38d3c4c 100644 --- a/common/loginpage/src/styles.less +++ b/common/loginpage/src/styles.less @@ -306,10 +306,12 @@ li.menu-item { &.settings { overflow-x: hidden; + min-width: 450px; } &.about { overflow-x: scroll; + min-width: 450px; } &.templates { @@ -898,6 +900,7 @@ li.menu-item { font-size: 13px; user-select: text; color: @text-normal; + margin-top: 10px; .row-copyright { margin-bottom: 0; @@ -1136,7 +1139,7 @@ li.menu-item { margin-right: 20px; } -#id-features-available { +#id-features-available, #idx-update-cnt { display: none; } @@ -1179,4 +1182,72 @@ li.menu-item { align-items: center; justify-content: center; } -} \ No newline at end of file +} + +#idx-update-cnt { + background-color: @background-tabbar; + border-radius: 5px; + padding: 20px 30px; + margin: 25px 0; + max-width: 800px; + + .status-field { + height: 40px; + + &:first-child { + margin-bottom: 20px; + } + } + + #idx-update-status-icon { + width: 28px; + height: 28px; +/* display: block;*/ + margin-right: 8px; + + &[data-icon=success] { + fill: @icon-success; + } + &[data-icon=error] { + fill: @border-error; + } + &[data-icon=load], &[data-icon=lastcheck] { + fill: @highlight-text-select; + } + + &[data-icon=load] { + animation: rotate 1.5s linear infinite; + } + + @keyframes rotate { + to { + transform: rotate(360deg); + } + } + } +} + +#idx-about-cut-logo { + width: 52px; + overflow: hidden; + margin-right: 15px; + height: 45px; +} + +#idx-about-appname { + font-weight: bold; + font-size: 18px; + margin: -8px 0 0 0; +} + +#idx-about-version { + margin: 4px 0 -4px; +} + +.about-field { + margin-bottom: 10px; +} + +.hidden { + display: none; +} diff --git a/common/loginpage/src/utils.js b/common/loginpage/src/utils.js index 00957b43b..ff9c2e302 100644 --- a/common/loginpage/src/utils.js +++ b/common/loginpage/src/utils.js @@ -384,5 +384,5 @@ function getUrlParams() { } utils.inParams = getUrlParams(); -utils.brandCheck = opts => true; +utils.brandCheck = opts => false; utils.isWinXp = utils.inParams.osver == 'winxp' || /windows nt 5/i.test(navigator.appVersion); diff --git a/common/package/license/3dparty/3DPARTYLICENSE b/common/package/license/3dparty/3DPARTYLICENSE index 502fa41f2..9ecf833b4 100644 --- a/common/package/license/3dparty/3DPARTYLICENSE +++ b/common/package/license/3dparty/3DPARTYLICENSE @@ -32,29 +32,6 @@ ver 3.2526.1359.0 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -WinSparkle -Version 0.5 - -Copyright (c) 2009-2016 Vaclav Slavik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - SingleApplication The MIT License (MIT) diff --git a/macos/Localization/be.xliff b/macos/Localization/be.xliff index a77108628..007bc8ec1 100644 --- a/macos/Localization/be.xliff +++ b/macos/Localization/be.xliff @@ -142,6 +142,11 @@ Дакумент %ld.docx No comment provided by engineer. + + Document %ld.docxf + Дакумент %ld.docxf + No comment provided by engineer. + Document template Шаблон дакумента Word Open XML (*.dotx) diff --git a/macos/Localization/bg.xliff b/macos/Localization/bg.xliff index 5e950a3af..341ea3035 100644 --- a/macos/Localization/bg.xliff +++ b/macos/Localization/bg.xliff @@ -146,6 +146,11 @@ Document %ld.docx Документ %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Документ %ld.docxf + No comment provided by engineer. Document template diff --git a/macos/Localization/ca.xliff b/macos/Localization/ca.xliff index e74d6019c..d56a745c8 100644 --- a/macos/Localization/ca.xliff +++ b/macos/Localization/ca.xliff @@ -142,6 +142,11 @@ Document %ld.docx No comment provided by engineer. + + Document %ld.docxf + Document %ld.docxf + No comment provided by engineer. + Document template Plantilla de document Word Open XML (*.dotx) diff --git a/macos/Localization/cs.xliff b/macos/Localization/cs.xliff index 45d2fe4f5..d487d8f93 100644 --- a/macos/Localization/cs.xliff +++ b/macos/Localization/cs.xliff @@ -146,6 +146,11 @@ Document %ld.docx Dokument %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. Document template diff --git a/macos/Localization/da.xliff b/macos/Localization/da.xliff index e99878737..09a1235e0 100644 --- a/macos/Localization/da.xliff +++ b/macos/Localization/da.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Word Open XML Dokumentskabelon (*.dotx) diff --git a/macos/Localization/de.xliff b/macos/Localization/de.xliff index 0331562da..8ed253ebd 100644 --- a/macos/Localization/de.xliff +++ b/macos/Localization/de.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Word Open XML-Dokumentvorlage (*.dotx) diff --git a/macos/Localization/el-GR.xliff b/macos/Localization/el-GR.xliff index 64ebe2684..796e43d6a 100644 --- a/macos/Localization/el-GR.xliff +++ b/macos/Localization/el-GR.xliff @@ -140,6 +140,11 @@ Document %ld.docx Έγγραφο %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Έγγραφο %ld.docxf + No comment provided by engineer. Document templateΠρότυπο εγγράφου diff --git a/macos/Localization/el.xliff b/macos/Localization/el.xliff index a1d375ccb..eab391e48 100644 --- a/macos/Localization/el.xliff +++ b/macos/Localization/el.xliff @@ -147,6 +147,11 @@ Έγγραφο %ld.docx No comment provided by engineer. + + Document %ld.docxf + Έγγραφο %ld.docxf + No comment provided by engineer. + Document template Πρότυπο εγγράφου Word με ανοιχτή μορφή XML (*.dotx) diff --git a/macos/Localization/en.xliff b/macos/Localization/en.xliff index a297ca855..c2e5e3e2b 100644 --- a/macos/Localization/en.xliff +++ b/macos/Localization/en.xliff @@ -147,6 +147,11 @@ Document %ld.docx No comment provided by engineer. + + Document %ld.docxf + Document %ld.docxf + No comment provided by engineer. + Document template Word Open XML Document Template (*.dotx) diff --git a/macos/Localization/es.xliff b/macos/Localization/es.xliff index fdd449f5e..62d2e624a 100644 --- a/macos/Localization/es.xliff +++ b/macos/Localization/es.xliff @@ -147,6 +147,11 @@ Documento %ld.docx No comment provided by engineer. + + Document %ld.docxf + Documento %ld.docxf + No comment provided by engineer. + Document template Plantilla de documento Word Open XML (*.dotx) diff --git a/macos/Localization/et.xliff b/macos/Localization/et.xliff index f71e9fd6a..4173e2950 100644 --- a/macos/Localization/et.xliff +++ b/macos/Localization/et.xliff @@ -146,6 +146,11 @@ Document %ld.docx Dokument %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. Document template diff --git a/macos/Localization/fi.xliff b/macos/Localization/fi.xliff index 4a3368fe1..fa82352b9 100644 --- a/macos/Localization/fi.xliff +++ b/macos/Localization/fi.xliff @@ -147,6 +147,11 @@ Dokumentti %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokumentti %ld.docxf + No comment provided by engineer. + Document template Word Open XML-asiakirjamalli (*.dotx) diff --git a/macos/Localization/fr.xliff b/macos/Localization/fr.xliff index 41adf3fc0..9b0c4ad29 100644 --- a/macos/Localization/fr.xliff +++ b/macos/Localization/fr.xliff @@ -147,6 +147,11 @@ Document %ld.docx No comment provided by engineer. + + Document %ld.docxf + Document %ld.docxf + No comment provided by engineer. + Document template Modèle de document Word Open XML (*.dotx) diff --git a/macos/Localization/ga.xliff b/macos/Localization/ga.xliff index 202fbe3ce..6b92ebf18 100644 --- a/macos/Localization/ga.xliff +++ b/macos/Localization/ga.xliff @@ -147,6 +147,11 @@ Doiciméad %ld.docx No comment provided by engineer. + + Document %ld.docxf + Doiciméad %ld.docxf + No comment provided by engineer. + Document template Teimpléad doiciméad Word Open XML (*.dotx) diff --git a/macos/Localization/gl.xliff b/macos/Localization/gl.xliff index e1cc5ea77..f2cd9d4d1 100644 --- a/macos/Localization/gl.xliff +++ b/macos/Localization/gl.xliff @@ -142,6 +142,11 @@ Documento %ld.docx No comment provided by engineer. + + Document %ld.docxf + Documento %ld.docxf + No comment provided by engineer. + Document template Modelo do documento Word Open XML (*.dotx) diff --git a/macos/Localization/hi.xliff b/macos/Localization/hi.xliff index 306b66e26..003374acf 100644 --- a/macos/Localization/hi.xliff +++ b/macos/Localization/hi.xliff @@ -144,7 +144,7 @@ Document %ld.docx - दस्तावेज़ %आईडी.डॉक्स + दस्तावेज़ %आईडी.docx No comment provided by engineer. @@ -294,7 +294,7 @@ Presentation %ld.pptx - प्रस्तुति %आईडी.पीपीटीएक्स + प्रस्तुति %आईडी.pptx No comment provided by engineer. @@ -329,7 +329,7 @@ Spreadsheet %ld.xlsx - स्प्रेडशीट %आईडी.एक्सएलएसएक्स + स्प्रेडशीट %आईडी.xlsx No comment provided by engineer. diff --git a/macos/Localization/hr.xliff b/macos/Localization/hr.xliff index aaf8ac43c..50e3d3d39 100644 --- a/macos/Localization/hr.xliff +++ b/macos/Localization/hr.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Word Open XML Predložak dokumenta (*.dotx) diff --git a/macos/Localization/hu.xliff b/macos/Localization/hu.xliff index 7cb94566a..222654f51 100644 --- a/macos/Localization/hu.xliff +++ b/macos/Localization/hu.xliff @@ -147,6 +147,11 @@ Dokumentum %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokumentum %ld.docxf + No comment provided by engineer. + Document template Word Open XML Dokumentumsablon (*.dotx) diff --git a/macos/Localization/hy.xliff b/macos/Localization/hy.xliff index 580de343e..7f4771268 100644 --- a/macos/Localization/hy.xliff +++ b/macos/Localization/hy.xliff @@ -147,6 +147,11 @@ Փաստաթուղթ %ld.docx No comment provided by engineer. + + Document %ld.docxf + Փաստաթուղթ %ld.docxf + No comment provided by engineer. + Document template Word Open XML Փաստաթղթի ձևանմուշ (*.dotx) diff --git a/macos/Localization/id.xliff b/macos/Localization/id.xliff index ca966b667..be1ea6374 100644 --- a/macos/Localization/id.xliff +++ b/macos/Localization/id.xliff @@ -152,6 +152,11 @@ Dokumen %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokumen %ld.docxf + No comment provided by engineer. + Document template Dokumen templat Word Open XML (*.dotx) diff --git a/macos/Localization/it.xliff b/macos/Localization/it.xliff index c8e91b786..c7c018695 100644 --- a/macos/Localization/it.xliff +++ b/macos/Localization/it.xliff @@ -147,6 +147,11 @@ Documento %ld.docx No comment provided by engineer. + + Document %ld.docxf + Documento %ld.docxf + No comment provided by engineer. + Document template Modello documento Word Open XML (*.dotx) diff --git a/macos/Localization/ja.xliff b/macos/Localization/ja.xliff index 7cc765df4..57d5af6b9 100644 --- a/macos/Localization/ja.xliff +++ b/macos/Localization/ja.xliff @@ -147,6 +147,11 @@ ドキュメント %ld.docx No comment provided by engineer. + + Document %ld.docxf + ドキュメント %ld.docxf + No comment provided by engineer. + Document template Word オープン XMLドキュメントテンプレート (*.dotx) diff --git a/macos/Localization/ko.xliff b/macos/Localization/ko.xliff index c2f70be85..a2737cde8 100644 --- a/macos/Localization/ko.xliff +++ b/macos/Localization/ko.xliff @@ -147,6 +147,11 @@ 문서 %ld.docx No comment provided by engineer. + + Document %ld.docxf + 문서 %ld.docxf + No comment provided by engineer. + Document template Word Open XML 문서 템플릿(*.dotx) diff --git a/macos/Localization/lo.xliff b/macos/Localization/lo.xliff index 309c745c8..d000c4e35 100644 --- a/macos/Localization/lo.xliff +++ b/macos/Localization/lo.xliff @@ -146,6 +146,11 @@ Document %ld.docx ເອກະສານ %ld.docx + No comment provided by engineer. + + Document %ld.docxf + ເອກະສານ %ld.docxf + No comment provided by engineer. Document template diff --git a/macos/Localization/lt.xliff b/macos/Localization/lt.xliff index 3d2915b75..579933227 100644 --- a/macos/Localization/lt.xliff +++ b/macos/Localization/lt.xliff @@ -110,6 +110,10 @@ Document %ld.docx Dokumentas %ld.docx + + Document %ld.docxf + Dokumentas %ld.docxf + Document template Word Open XML Dokumento šablonas (*.dotx) diff --git a/macos/Localization/lv.xliff b/macos/Localization/lv.xliff index 0945a59ed..69b2f9714 100644 --- a/macos/Localization/lv.xliff +++ b/macos/Localization/lv.xliff @@ -147,6 +147,11 @@ Dokuments %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokuments %ld.docxf + No comment provided by engineer. + Document template Word Open XML Dokumenta veidne (*.dotx) diff --git a/macos/Localization/nl.xliff b/macos/Localization/nl.xliff index 62cbe9a31..8c9dcdb31 100644 --- a/macos/Localization/nl.xliff +++ b/macos/Localization/nl.xliff @@ -147,6 +147,11 @@ Document %ld.docx No comment provided by engineer. + + Document %ld.docxf + Document %ld.docxf + No comment provided by engineer. + Document template Word Open XML Document Sjabloon (*.dotx) diff --git a/macos/Localization/no.xliff b/macos/Localization/no.xliff index 89e242913..3d87e522d 100644 --- a/macos/Localization/no.xliff +++ b/macos/Localization/no.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Word Open XML-dokumentmal (*.dotx) diff --git a/macos/Localization/pl.xliff b/macos/Localization/pl.xliff index 182c6953c..e483147a6 100644 --- a/macos/Localization/pl.xliff +++ b/macos/Localization/pl.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Szablon dokumentu Word Open XML (*.dotx) diff --git a/macos/Localization/pt-BR.xliff b/macos/Localization/pt-BR.xliff index 1f687babd..e276d4708 100644 --- a/macos/Localization/pt-BR.xliff +++ b/macos/Localization/pt-BR.xliff @@ -147,6 +147,11 @@ Documento %ld.docx No comment provided by engineer. + + Document %ld.docxf + Documento %ld.docxf + No comment provided by engineer. + Document template Modelo de documento do Open XML do Word (*.dotx) diff --git a/macos/Localization/pt-PT.xliff b/macos/Localization/pt-PT.xliff index f66142407..12b11d843 100644 --- a/macos/Localization/pt-PT.xliff +++ b/macos/Localization/pt-PT.xliff @@ -140,6 +140,11 @@ Document %ld.docx Documento %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Documento %ld.docxf + No comment provided by engineer. Document templateModelo de documento Word Open XML (*.dotx) diff --git a/macos/Localization/ro.xliff b/macos/Localization/ro.xliff index a9f3c7870..2639815c2 100644 --- a/macos/Localization/ro.xliff +++ b/macos/Localization/ro.xliff @@ -146,6 +146,11 @@ Document %ld.docx Document %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Document %ld.docxf + No comment provided by engineer. Document template diff --git a/macos/Localization/ru.xliff b/macos/Localization/ru.xliff index db1ef70a2..2205a8798 100644 --- a/macos/Localization/ru.xliff +++ b/macos/Localization/ru.xliff @@ -147,6 +147,11 @@ Документ %ld.docx No comment provided by engineer. + + Document %ld.docxf + Документ %ld.docxf + No comment provided by engineer. + Document template Шаблон документа Word Open XML (*.dotx) diff --git a/macos/Localization/si.xliff b/macos/Localization/si.xliff index 985e107c4..38e380365 100644 --- a/macos/Localization/si.xliff +++ b/macos/Localization/si.xliff @@ -147,6 +147,11 @@ ලේඛනය %ld.docx No comment provided by engineer. + + Document %ld.docxf + ලේඛනය %ld.docxf + No comment provided by engineer. + Document template වර්ඩ් විවෘත XML ලේඛන අච්චුව (*.dotx) diff --git a/macos/Localization/sk.xliff b/macos/Localization/sk.xliff index 291c902d3..a561ab956 100644 --- a/macos/Localization/sk.xliff +++ b/macos/Localization/sk.xliff @@ -140,6 +140,11 @@ Document %ld.docx Dokument %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. Document templateŠablóna dokumentu Word Open XML (*.dotx) diff --git a/macos/Localization/sl.xliff b/macos/Localization/sl.xliff index 2ea25bde4..22f02c0c5 100644 --- a/macos/Localization/sl.xliff +++ b/macos/Localization/sl.xliff @@ -147,6 +147,11 @@ Dokument %ld.docx No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. + Document template Word Open XML predloga dokumenta (*.dotx) diff --git a/macos/Localization/sv.xliff b/macos/Localization/sv.xliff index 01e02907c..58244d9a3 100644 --- a/macos/Localization/sv.xliff +++ b/macos/Localization/sv.xliff @@ -140,6 +140,11 @@ Document %ld.docx Dokument %ld.docx + No comment provided by engineer. + + Document %ld.docxf + Dokument %ld.docxf + No comment provided by engineer. Document templateWord Open XML-dokumentmall (*.dotx)Dokumentmall diff --git a/macos/Localization/tr.xliff b/macos/Localization/tr.xliff index 4b2d85bc0..33cc15413 100644 --- a/macos/Localization/tr.xliff +++ b/macos/Localization/tr.xliff @@ -136,9 +136,9 @@ Belgeye yapılan değişiklikleri kaydetmek istiyor musunuz "%@"? No comment provided by engineer. - - Document %ld.docx - Belge %ld.docx + + Document %ld.docxf + Belge %ld.docxf No comment provided by engineer. diff --git a/macos/Localization/uk.xliff b/macos/Localization/uk.xliff index f8579d19c..189a6452e 100644 --- a/macos/Localization/uk.xliff +++ b/macos/Localization/uk.xliff @@ -147,6 +147,11 @@ Документ %ld.docx No comment provided by engineer. + + Document %ld.docxf + Документ %ld.docxf + No comment provided by engineer. + Document template Шаблон документа Word Open XML (*.dotx) diff --git a/macos/Localization/vi.xliff b/macos/Localization/vi.xliff index 504c2d6e5..c8f667f5d 100644 --- a/macos/Localization/vi.xliff +++ b/macos/Localization/vi.xliff @@ -129,9 +129,9 @@ Do you want to save the changes made to the document "%@"? Bạn có muốn lưu những thay đổi đã thực hiện đối với tài liệu "%@"? - - Document %ld.docx - Văn bản %ld.docx + + Document %ld.docxf + Văn bản %ld.docxf Document template diff --git a/macos/Localization/zh-Hans-CN.xliff b/macos/Localization/zh-Hans-CN.xliff index 7e5a68ae1..7b4129cff 100644 --- a/macos/Localization/zh-Hans-CN.xliff +++ b/macos/Localization/zh-Hans-CN.xliff @@ -147,6 +147,11 @@ 文档%ld.docx No comment provided by engineer. + + Document %ld.docxf + 文档%ld.docxf + No comment provided by engineer. + Document template Word开放式XML文档模板 (*.dotx) diff --git a/macos/Localization/zh-Hant.xliff b/macos/Localization/zh-Hant-TW.xliff similarity index 98% rename from macos/Localization/zh-Hant.xliff rename to macos/Localization/zh-Hant-TW.xliff index 817650cb4..9a85fb496 100644 --- a/macos/Localization/zh-Hant.xliff +++ b/macos/Localization/zh-Hant-TW.xliff @@ -1,6 +1,6 @@ - +
@@ -67,7 +67,7 @@
- +
@@ -147,6 +147,11 @@ 文件 %ld.docx No comment provided by engineer.
+ + Document %ld.docxf + 文件 %ld.docxf + No comment provided by engineer. + Document template Word Open XML 文件範本(*.dotx) @@ -448,7 +453,7 @@ We have a special offer for you. - +
@@ -487,7 +492,7 @@ The trial period will end in %d days, after that you will not be able to create
- +
@@ -1254,7 +1259,7 @@ The trial period will end in %d days, after that you will not be able to create
- +
@@ -1301,7 +1306,7 @@ The trial period will end in %d days, after that you will not be able to create
- +
@@ -1313,7 +1318,7 @@ The trial period will end in %d days, after that you will not be able to create
- +
diff --git a/macos/ONLYOFFICE.xcodeproj/project.pbxproj b/macos/ONLYOFFICE.xcodeproj/project.pbxproj index 07c1d34a8..e329e2f11 100644 --- a/macos/ONLYOFFICE.xcodeproj/project.pbxproj +++ b/macos/ONLYOFFICE.xcodeproj/project.pbxproj @@ -79,7 +79,7 @@ FC0BD6A1258B63F700C47F95 /* ASCPopoverLightView.m in Sources */ = {isa = PBXBuildFile; fileRef = FC1127581BBAAC8000AA3648 /* ASCPopoverLightView.m */; }; FC0BD6A2258B63F700C47F95 /* NSCefView.mm in Sources */ = {isa = PBXBuildFile; fileRef = FC98BAD51BAC43B400747944 /* NSCefView.mm */; }; FC0BD6A3258B63F700C47F95 /* ASCTabsControl.m in Sources */ = {isa = PBXBuildFile; fileRef = FCC77C8C206CEE85001B7837 /* ASCTabsControl.m */; }; - FC0BD6A4258B63F700C47F95 /* ASCTitleBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.m */; }; + FC0BD6A4258B63F700C47F95 /* ASCTitleBarController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.mm */; }; FC0BD6A5258B63F700C47F95 /* SFBPopover.m in Sources */ = {isa = PBXBuildFile; fileRef = FC3BFDFB1BBE83AB0040C904 /* SFBPopover.m */; }; FC0BD6A6258B63F700C47F95 /* ASCEventsController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FC3B77841BB2A94300DB9705 /* ASCEventsController.mm */; }; FC0BD6A7258B63F700C47F95 /* ASCAboutController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC659BF81C75EE8B00C99776 /* ASCAboutController.m */; }; @@ -221,7 +221,7 @@ FCA3F3102570EC9500DCAB12 /* file-epub.icns in Resources */ = {isa = PBXBuildFile; fileRef = FCA3F3062570EC9500DCAB12 /* file-epub.icns */; }; FCA4502E1C2063460007134D /* ASCSharedSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA4502D1C2063460007134D /* ASCSharedSettings.m */; }; FCA9A1901BA6DC6000ABF3AB /* ASCCommonViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A18F1BA6DC6000ABF3AB /* ASCCommonViewController.mm */; }; - FCA9A1951BA6DE2700ABF3AB /* ASCTitleBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.m */; }; + FCA9A1951BA6DE2700ABF3AB /* ASCTitleBarController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.mm */; }; FCA9A1961BA6DE2700ABF3AB /* ASCTitleWindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1941BA6DE2700ABF3AB /* ASCTitleWindowController.mm */; }; FCAA9A3E1BBA802100F3C47F /* ASCDownloadCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = FCAA9A3D1BBA802100F3C47F /* ASCDownloadCellView.m */; }; FCAA9A441BBA817B00F3C47F /* ASCDownloadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FCAA9A431BBA817B00F3C47F /* ASCDownloadViewController.m */; }; @@ -260,7 +260,7 @@ FCB4C6DA26DD018B0012C20D /* ASCPopoverLightView.m in Sources */ = {isa = PBXBuildFile; fileRef = FC1127581BBAAC8000AA3648 /* ASCPopoverLightView.m */; }; FCB4C6DB26DD018B0012C20D /* NSCefView.mm in Sources */ = {isa = PBXBuildFile; fileRef = FC98BAD51BAC43B400747944 /* NSCefView.mm */; }; FCB4C6DC26DD018B0012C20D /* ASCTabsControl.m in Sources */ = {isa = PBXBuildFile; fileRef = FCC77C8C206CEE85001B7837 /* ASCTabsControl.m */; }; - FCB4C6DD26DD018B0012C20D /* ASCTitleBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.m */; }; + FCB4C6DD26DD018B0012C20D /* ASCTitleBarController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.mm */; }; FCB4C6DE26DD018B0012C20D /* SFBPopover.m in Sources */ = {isa = PBXBuildFile; fileRef = FC3BFDFB1BBE83AB0040C904 /* SFBPopover.m */; }; FCB4C6DF26DD018B0012C20D /* ASCEventsController.mm in Sources */ = {isa = PBXBuildFile; fileRef = FC3B77841BB2A94300DB9705 /* ASCEventsController.mm */; }; FCB4C6E026DD018B0012C20D /* ASCAboutController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC659BF81C75EE8B00C99776 /* ASCAboutController.m */; }; @@ -419,6 +419,12 @@ /* Begin PBXFileReference section */ 5A18BAA3285B5BF6004625C7 /* CertificateCommon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CertificateCommon.h; sourceTree = ""; }; 5A452E4A257688C700C58E01 /* providers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = providers; path = Vendor/ONLYOFFICE/providers; sourceTree = SOURCE_ROOT; }; + 5A4ECA652AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Document-Sign.strings"; sourceTree = ""; }; + 5A4ECA662AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.strings"; sourceTree = ""; }; + 5A4ECA672AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.stringsdict"; sourceTree = ""; }; + 5A4ECA682AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Main.strings"; sourceTree = ""; }; + 5A4ECA692AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/MoveApplication.strings"; sourceTree = ""; }; + 5A4ECA6A2AA88CB900286D52 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Presentation-Reporter.strings"; sourceTree = ""; }; 5A513A992A1827F2001A5FBD /* ascprinter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ascprinter.h; sourceTree = ""; }; 5A7F85D027A00C18006B6E27 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Document-Sign.strings"; sourceTree = ""; }; 5A7F85D127A00C18006B6E27 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; @@ -576,12 +582,6 @@ 5A7F868227A1EE83006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/Main.strings"; sourceTree = ""; }; 5A7F868327A1EE83006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/MoveApplication.strings"; sourceTree = ""; }; 5A7F868427A1EE83006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/Presentation-Reporter.strings"; sourceTree = ""; }; - 5A7F868527A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Document-Sign.strings"; sourceTree = ""; }; - 5A7F868627A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 5A7F868727A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.stringsdict"; sourceTree = ""; }; - 5A7F868827A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; - 5A7F868927A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/MoveApplication.strings"; sourceTree = ""; }; - 5A7F868A27A1EF43006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Presentation-Reporter.strings"; sourceTree = ""; }; 5A7F868B27A32DAD006B6E27 /* vi-VN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "vi-VN"; path = "vi-VN.lproj/Document-Sign.strings"; sourceTree = ""; }; 5A7F868C27A32DAD006B6E27 /* vi-VN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "vi-VN"; path = "vi-VN.lproj/Localizable.strings"; sourceTree = ""; }; 5A7F868D27A32DAD006B6E27 /* vi-VN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "vi-VN"; path = "vi-VN.lproj/Localizable.stringsdict"; sourceTree = ""; }; @@ -653,8 +653,6 @@ 5A7F86D927A33EC4006B6E27 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "tr-TR"; path = "tr-TR.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F86DA27A33ED1006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "uk-UA"; path = "uk-UA.lproj/EULA.html"; sourceTree = ""; }; 5A7F86DB27A33ED1006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/InfoPlist.strings"; sourceTree = ""; }; - 5A7F86DC27A33EF1006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; }; - 5A7F86DD27A33EF1006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "zh-Hant"; path = "zh-Hant.lproj/EULA.html"; sourceTree = ""; }; 5A7F86DE27A33F20006B6E27 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = be; path = be.lproj/EULA.html; sourceTree = ""; }; 5A7F86DF27A33F20006B6E27 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = be; path = be.lproj/InfoPlist.strings; sourceTree = ""; }; 5A7F86E027A33F2D006B6E27 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = ca; path = ca.lproj/EULA.html; sourceTree = ""; }; @@ -699,8 +697,6 @@ 5A7F870927A340C8006B6E27 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "tr-TR"; path = "tr-TR.lproj/EULA.html"; sourceTree = ""; }; 5A7F870A27A340D5006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F870B27A340D5006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "uk-UA"; path = "uk-UA.lproj/EULA.html"; sourceTree = ""; }; - 5A7F870C27A340E4006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; }; - 5A7F870D27A340E4006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "zh-Hant"; path = "zh-Hant.lproj/EULA.html"; sourceTree = ""; }; 5A7F870E27A340FF006B6E27 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = be; path = be.lproj/EULA.html; sourceTree = ""; }; 5A7F870F27A340FF006B6E27 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = be; path = be.lproj/InfoPlist.strings; sourceTree = ""; }; 5A7F871027A34109006B6E27 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = ca; path = ca.lproj/EULA.html; sourceTree = ""; }; @@ -713,7 +709,6 @@ 5A7F871727A34242006B6E27 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "el-GR"; path = "el-GR.lproj/EULA.html"; sourceTree = ""; }; 5A7F871827A34264006B6E27 /* hr-HR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "hr-HR"; path = "hr-HR.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F871927A34274006B6E27 /* hr-HR */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "hr-HR"; path = "hr-HR.lproj/EULA.html"; sourceTree = ""; }; - 5A7F871A27A3461A006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F871B27A3462E006B6E27 /* nl-NL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nl-NL"; path = "nl-NL.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F871C27A34633006B6E27 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F871D27A3463F006B6E27 /* fi-FI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fi-FI"; path = "fi-FI.lproj/InfoPlist.strings"; sourceTree = ""; }; @@ -730,7 +725,6 @@ 5A7F872B27A346D5006B6E27 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F872C27A346D8006B6E27 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "tr-TR"; path = "tr-TR.lproj/InfoPlist.strings"; sourceTree = ""; }; 5A7F872D27A346DA006B6E27 /* uk-UA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "uk-UA"; path = "uk-UA.lproj/InfoPlist.strings"; sourceTree = ""; }; - 5A7F872E27A346F4006B6E27 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "zh-Hant"; path = "zh-Hant.lproj/EULA.html"; sourceTree = ""; }; 5A7F872F27A346FA006B6E27 /* nl-NL */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "nl-NL"; path = "nl-NL.lproj/EULA.html"; sourceTree = ""; }; 5A7F873027A346FD006B6E27 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "et-EE"; path = "et-EE.lproj/EULA.html"; sourceTree = ""; }; 5A7F873127A346FF006B6E27 /* fi-FI */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = "fi-FI"; path = "fi-FI.lproj/EULA.html"; sourceTree = ""; }; @@ -792,7 +786,6 @@ BE95F0A623E9FF590045E0CB /* mac_cefview.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mac_cefview.h; sourceTree = ""; }; FC033D251BB13B9900F6C55F /* mac_application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mac_application.h; sourceTree = ""; }; FC035A5B24855E8C00AF820F /* ASCTabViewType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASCTabViewType.h; sourceTree = ""; }; - FC035A5C2485625400AF820F /* ASCDocumentType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASCDocumentType.h; sourceTree = ""; }; FC09073D1C1855A400D9E881 /* editors */ = {isa = PBXFileReference; lastKnownFileType = folder; name = editors; path = Vendor/ONLYOFFICE/editors; sourceTree = SOURCE_ROOT; }; FC0907401C186A7A00D9E881 /* converter */ = {isa = PBXFileReference; lastKnownFileType = folder; name = converter; path = Vendor/ONLYOFFICE/converter; sourceTree = SOURCE_ROOT; }; FC0BD6FB258B63F700C47F95 /* ONLYOFFICE.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ONLYOFFICE.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -845,7 +838,6 @@ FC5A2D3B1BAC075E001ACEB1 /* cefapplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cefapplication.h; sourceTree = ""; }; FC5A2D3C1BAC075E001ACEB1 /* cefview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cefview.h; sourceTree = ""; }; FC5A2D3D1BAC075E001ACEB1 /* keyboardchecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keyboardchecker.h; sourceTree = ""; }; - FC5A2D3E1BAC075E001ACEB1 /* qascprinter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qascprinter.h; sourceTree = ""; }; FC5A2D3F1BAC075E001ACEB1 /* spellchecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spellchecker.h; sourceTree = ""; }; FC5A2D411BAC075E001ACEB1 /* Array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Array.h; sourceTree = ""; }; FC5A2D421BAC075E001ACEB1 /* ASCVariant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCVariant.h; sourceTree = ""; }; @@ -861,11 +853,8 @@ FC5A2D4D1BAC075E001ACEB1 /* Directory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Directory.h; sourceTree = ""; }; FC5A2D4E1BAC075E001ACEB1 /* File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = File.h; sourceTree = ""; }; FC5A2D4F1BAC075E001ACEB1 /* Path.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Path.h; sourceTree = ""; }; - FC5A2D501BAC075E001ACEB1 /* String.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = String.h; sourceTree = ""; }; FC5A2D511BAC075E001ACEB1 /* StringBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringBuilder.h; sourceTree = ""; }; FC5A2D521BAC075E001ACEB1 /* Types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = ""; }; - FC5A2D541BAC075E001ACEB1 /* Editor_Api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Editor_Api.h; sourceTree = ""; }; - FC5A2D551BAC075E001ACEB1 /* Editor_Defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Editor_Defines.h; sourceTree = ""; }; FC64391921B52DAF00A25CD1 /* NSDictionary+Extensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Extensions.h"; sourceTree = ""; }; FC64391A21B52E5700A25CD1 /* NSDictionary+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Extensions.m"; sourceTree = ""; }; FC659BF71C75EE8B00C99776 /* ASCAboutController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCAboutController.h; sourceTree = ""; }; @@ -947,7 +936,7 @@ FCA9A18E1BA6DC6000ABF3AB /* ASCCommonViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCCommonViewController.h; sourceTree = ""; }; FCA9A18F1BA6DC6000ABF3AB /* ASCCommonViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASCCommonViewController.mm; sourceTree = ""; }; FCA9A1911BA6DE2700ABF3AB /* ASCTitleBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCTitleBarController.h; sourceTree = ""; }; - FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASCTitleBarController.m; sourceTree = ""; }; + FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASCTitleBarController.mm; sourceTree = ""; }; FCA9A1931BA6DE2700ABF3AB /* ASCTitleWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCTitleWindowController.h; sourceTree = ""; }; FCA9A1941BA6DE2700ABF3AB /* ASCTitleWindowController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASCTitleWindowController.mm; sourceTree = ""; }; FCAA9A3C1BBA802100F3C47F /* ASCDownloadCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASCDownloadCellView.h; sourceTree = ""; }; @@ -1157,7 +1146,6 @@ isa = PBXGroup; children = ( FC035A5B24855E8C00AF820F /* ASCTabViewType.h */, - FC035A5C2485625400AF820F /* ASCDocumentType.h */, ); path = Enums; sourceTree = ""; @@ -1283,7 +1271,6 @@ FC591593208DC6CE0006F664 /* xmlsec */, FC5A2D351BAC075E001ACEB1 /* ChromiumBasedEditors */, FC5A2D401BAC075E001ACEB1 /* common */, - FC5A2D531BAC075E001ACEB1 /* Word_Api */, ); name = include; sourceTree = ""; @@ -1327,7 +1314,6 @@ FC5A2D3C1BAC075E001ACEB1 /* cefview.h */, FC5A2D3D1BAC075E001ACEB1 /* keyboardchecker.h */, FCD65B931BDFAFCB008361F1 /* nsascprinter.h */, - FC5A2D3E1BAC075E001ACEB1 /* qascprinter.h */, FC5A2D3F1BAC075E001ACEB1 /* spellchecker.h */, ); path = include; @@ -1346,7 +1332,6 @@ FC5A2D4D1BAC075E001ACEB1 /* Directory.h */, FC5A2D4E1BAC075E001ACEB1 /* File.h */, FC5A2D4F1BAC075E001ACEB1 /* Path.h */, - FC5A2D501BAC075E001ACEB1 /* String.h */, FC5A2D511BAC075E001ACEB1 /* StringBuilder.h */, FC5A2D521BAC075E001ACEB1 /* Types.h */, ); @@ -1367,16 +1352,6 @@ path = CPEncodings; sourceTree = ""; }; - FC5A2D531BAC075E001ACEB1 /* Word_Api */ = { - isa = PBXGroup; - children = ( - FC5A2D541BAC075E001ACEB1 /* Editor_Api.h */, - FC5A2D551BAC075E001ACEB1 /* Editor_Defines.h */, - ); - name = Word_Api; - path = ../../core/DesktopEditor/Word_Api; - sourceTree = SOURCE_ROOT; - }; FC67182F1BD918250028600F /* Vendor */ = { isa = PBXGroup; children = ( @@ -1740,7 +1715,7 @@ FCA0B33E1B9EB5960073EDD4 /* ASCTitleWindow.h */, FCA0B33F1B9EB5960073EDD4 /* ASCTitleWindow.m */, FCA9A1911BA6DE2700ABF3AB /* ASCTitleBarController.h */, - FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.m */, + FCA9A1921BA6DE2700ABF3AB /* ASCTitleBarController.mm */, FCA9A1931BA6DE2700ABF3AB /* ASCTitleWindowController.h */, FCA9A1941BA6DE2700ABF3AB /* ASCTitleWindowController.mm */, FC25A1A51C2E844800063A42 /* ASCTabViewController.h */, @@ -1937,13 +1912,13 @@ "sv-SE", "tr-TR", "uk-UA", - "zh-Hant", "vi-VN", "ja-JP", gl, "ga-IE", si, nb, + "zh-Hant-TW", ); mainGroup = FCBC425F1B9D650400405301; productRefGroup = FCBC42691B9D650400405301 /* Products */; @@ -2052,7 +2027,6 @@ FCB4C72226DD018B0012C20D /* Localizable.stringsdict in Resources */, FCB4C72326DD018B0012C20D /* file-ppt.icns in Resources */, FCB4C72426DD018B0012C20D /* MoveApplication.strings in Resources */, - FCB4C72526DD018B0012C20D /* file-ots.icns in Resources */, FCB4C72626DD018B0012C20D /* file-ott.icns in Resources */, FCB4C72726DD018B0012C20D /* file-xls.icns in Resources */, FCB4C72826DD018B0012C20D /* file-html.icns in Resources */, @@ -2104,7 +2078,6 @@ FCD2B9181BC64F0C00F54560 /* Localizable.stringsdict in Resources */, FC98AF2F1E94E16A00718A12 /* file-ppt.icns in Resources */, FC6718461BD91B3A0028600F /* MoveApplication.strings in Resources */, - FCA3F30A2570EC9500DCAB12 /* file-ots.icns in Resources */, FCA3F30B2570EC9500DCAB12 /* file-ott.icns in Resources */, FC98AF3B1E94E16A00718A12 /* file-xls.icns in Resources */, FC98AF1A1E94E16A00718A12 /* file-html.icns in Resources */, @@ -2330,7 +2303,7 @@ FC0BD6A1258B63F700C47F95 /* ASCPopoverLightView.m in Sources */, FC0BD6A2258B63F700C47F95 /* NSCefView.mm in Sources */, FC0BD6A3258B63F700C47F95 /* ASCTabsControl.m in Sources */, - FC0BD6A4258B63F700C47F95 /* ASCTitleBarController.m in Sources */, + FC0BD6A4258B63F700C47F95 /* ASCTitleBarController.mm in Sources */, FC0BD6A5258B63F700C47F95 /* SFBPopover.m in Sources */, FC0BD6A6258B63F700C47F95 /* ASCEventsController.mm in Sources */, FC0BD6A7258B63F700C47F95 /* ASCAboutController.m in Sources */, @@ -2405,7 +2378,7 @@ FCB4C6DA26DD018B0012C20D /* ASCPopoverLightView.m in Sources */, FCB4C6DB26DD018B0012C20D /* NSCefView.mm in Sources */, FCB4C6DC26DD018B0012C20D /* ASCTabsControl.m in Sources */, - FCB4C6DD26DD018B0012C20D /* ASCTitleBarController.m in Sources */, + FCB4C6DD26DD018B0012C20D /* ASCTitleBarController.mm in Sources */, FCB4C6DE26DD018B0012C20D /* SFBPopover.m in Sources */, FCB4C6DF26DD018B0012C20D /* ASCEventsController.mm in Sources */, FCB4C6E026DD018B0012C20D /* ASCAboutController.m in Sources */, @@ -2480,7 +2453,7 @@ FC1127591BBAAC8000AA3648 /* ASCPopoverLightView.m in Sources */, FC98BAD61BAC43B400747944 /* NSCefView.mm in Sources */, FCC77C94206CEE85001B7837 /* ASCTabsControl.m in Sources */, - FCA9A1951BA6DE2700ABF3AB /* ASCTitleBarController.m in Sources */, + FCA9A1951BA6DE2700ABF3AB /* ASCTitleBarController.mm in Sources */, FC3BFE001BBE83AB0040C904 /* SFBPopover.m in Sources */, FC3B77851BB2A94300DB9705 /* ASCEventsController.mm in Sources */, FC659BFA1C75EE8B00C99776 /* ASCAboutController.m in Sources */, @@ -2556,13 +2529,13 @@ 5A7F867827A1EE5A006B6E27 /* sv-SE */, 5A7F867E27A1EE6E006B6E27 /* tr-TR */, 5A7F868427A1EE83006B6E27 /* uk-UA */, - 5A7F868A27A1EF43006B6E27 /* zh-Hant */, 5A7F869027A32DAD006B6E27 /* vi-VN */, 5A7F869927A32F03006B6E27 /* ja-JP */, 5A7F86A527A33102006B6E27 /* gl */, 5A87ABEC283286DB0084198A /* ga-IE */, 5AAFF0A32989B70400D433B5 /* si */, 5A9AC2A929AEB1E100B6A250 /* nb */, + 5A4ECA6A2AA88CB900286D52 /* zh-Hant-TW */, ); name = "Presentation-Reporter.storyboard"; sourceTree = ""; @@ -2603,13 +2576,13 @@ 5A7F867727A1EE5A006B6E27 /* sv-SE */, 5A7F867D27A1EE6E006B6E27 /* tr-TR */, 5A7F868327A1EE83006B6E27 /* uk-UA */, - 5A7F868927A1EF43006B6E27 /* zh-Hant */, 5A7F868F27A32DAD006B6E27 /* vi-VN */, 5A7F869827A32F03006B6E27 /* ja-JP */, 5A7F86A427A33102006B6E27 /* gl */, 5A87ABEB283286DB0084198A /* ga-IE */, 5AAFF0A22989B70400D433B5 /* si */, 5A9AC2A829AEB1E100B6A250 /* nb */, + 5A4ECA692AA88CB900286D52 /* zh-Hant-TW */, ); name = MoveApplication.strings; sourceTree = ""; @@ -2635,7 +2608,6 @@ 5A7F871527A34179006B6E27 /* da-DK */, 5A7F871727A34242006B6E27 /* el-GR */, 5A7F871927A34274006B6E27 /* hr-HR */, - 5A7F872E27A346F4006B6E27 /* zh-Hant */, 5A7F872F27A346FA006B6E27 /* nl-NL */, 5A7F873027A346FD006B6E27 /* et-EE */, 5A7F873127A346FF006B6E27 /* fi-FI */, @@ -2680,7 +2652,6 @@ 5A7F871427A34179006B6E27 /* da-DK */, 5A7F871627A34242006B6E27 /* el-GR */, 5A7F871827A34264006B6E27 /* hr-HR */, - 5A7F871A27A3461A006B6E27 /* zh-Hant */, 5A7F871B27A3462E006B6E27 /* nl-NL */, 5A7F871C27A34633006B6E27 /* et-EE */, 5A7F871D27A3463F006B6E27 /* fi-FI */, @@ -2699,6 +2670,7 @@ 5A7F872D27A346DA006B6E27 /* uk-UA */, 5A7F874227A3478C006B6E27 /* ja-JP */, 5AAFF0A62989B70400D433B5 /* si */, + 5AC517712AA7D8DE00556F12 /* en */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2740,7 +2712,6 @@ 5A7F870627A340B6006B6E27 /* sv-SE */, 5A7F870927A340C8006B6E27 /* tr-TR */, 5A7F870B27A340D5006B6E27 /* uk-UA */, - 5A7F870D27A340E4006B6E27 /* zh-Hant */, 5A7F874427A3495D006B6E27 /* ja-JP */, 5A7F874527A3497C006B6E27 /* vi-VN */, ); @@ -2785,9 +2756,9 @@ 5A7F870727A340B6006B6E27 /* sv-SE */, 5A7F870827A340C8006B6E27 /* tr-TR */, 5A7F870A27A340D5006B6E27 /* uk-UA */, - 5A7F870C27A340E4006B6E27 /* zh-Hant */, 5A7F874327A348BB006B6E27 /* ja-JP */, 5AAFF0A52989B70400D433B5 /* si */, + 5AC517702AA7D8DE00556F12 /* en */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2829,7 +2800,6 @@ 5A7F86D627A33EB4006B6E27 /* sv-SE */, 5A7F86D827A33EC4006B6E27 /* tr-TR */, 5A7F86DA27A33ED1006B6E27 /* uk-UA */, - 5A7F86DD27A33EF1006B6E27 /* zh-Hant */, 5A7F874627A34994006B6E27 /* ja-JP */, 5A7F874727A3499B006B6E27 /* vi-VN */, ); @@ -2874,7 +2844,6 @@ 5A7F86D727A33EB4006B6E27 /* sv-SE */, 5A7F86D927A33EC4006B6E27 /* tr-TR */, 5A7F86DB27A33ED1006B6E27 /* uk-UA */, - 5A7F86DC27A33EF1006B6E27 /* zh-Hant */, 5A7F874827A34A06006B6E27 /* ja-JP */, 5AAFF0A42989B70400D433B5 /* si */, 5A9AC2AA29AEB1F000B6A250 /* nb */, @@ -2918,13 +2887,13 @@ 5A7F867627A1EE5A006B6E27 /* sv-SE */, 5A7F867C27A1EE6E006B6E27 /* tr-TR */, 5A7F868227A1EE83006B6E27 /* uk-UA */, - 5A7F868827A1EF43006B6E27 /* zh-Hant */, 5A7F868E27A32DAD006B6E27 /* vi-VN */, 5A7F869727A32F03006B6E27 /* ja-JP */, 5A7F86A327A33102006B6E27 /* gl */, 5A87ABEA283286DB0084198A /* ga-IE */, 5AAFF0A12989B70400D433B5 /* si */, 5A9AC2A729AEB1E100B6A250 /* nb */, + 5A4ECA682AA88CB900286D52 /* zh-Hant-TW */, ); name = Main.storyboard; sourceTree = ""; @@ -2965,13 +2934,13 @@ 5A7F867527A1EE5A006B6E27 /* sv-SE */, 5A7F867B27A1EE6E006B6E27 /* tr-TR */, 5A7F868127A1EE83006B6E27 /* uk-UA */, - 5A7F868727A1EF43006B6E27 /* zh-Hant */, 5A7F868D27A32DAD006B6E27 /* vi-VN */, 5A7F869627A32F03006B6E27 /* ja-JP */, 5A7F86A227A33102006B6E27 /* gl */, 5A87ABE9283286DB0084198A /* ga-IE */, 5AAFF0A02989B70400D433B5 /* si */, 5A9AC2A629AEB1E100B6A250 /* nb */, + 5A4ECA672AA88CB900286D52 /* zh-Hant-TW */, ); name = Localizable.stringsdict; sourceTree = ""; @@ -3012,13 +2981,13 @@ 5A7F867327A1EE59006B6E27 /* sv-SE */, 5A7F867927A1EE6E006B6E27 /* tr-TR */, 5A7F867F27A1EE83006B6E27 /* uk-UA */, - 5A7F868527A1EF43006B6E27 /* zh-Hant */, 5A7F868B27A32DAD006B6E27 /* vi-VN */, 5A7F869427A32F03006B6E27 /* ja-JP */, 5A7F86A027A33101006B6E27 /* gl */, 5A87ABE7283286DB0084198A /* ga-IE */, 5AAFF09E2989B70400D433B5 /* si */, 5A9AC2A429AEB1E100B6A250 /* nb */, + 5A4ECA652AA88CB900286D52 /* zh-Hant-TW */, ); name = "Document-Sign.storyboard"; sourceTree = ""; @@ -3059,13 +3028,13 @@ 5A7F867427A1EE59006B6E27 /* sv-SE */, 5A7F867A27A1EE6E006B6E27 /* tr-TR */, 5A7F868027A1EE83006B6E27 /* uk-UA */, - 5A7F868627A1EF43006B6E27 /* zh-Hant */, 5A7F868C27A32DAD006B6E27 /* vi-VN */, 5A7F869527A32F03006B6E27 /* ja-JP */, 5A7F86A127A33101006B6E27 /* gl */, 5A87ABEE2832964F0084198A /* ga-IE */, 5AAFF09F2989B70400D433B5 /* si */, 5A9AC2A529AEB1E100B6A250 /* nb */, + 5A4ECA662AA88CB900286D52 /* zh-Hant-TW */, ); name = Localizable.strings; sourceTree = ""; diff --git a/macos/ONLYOFFICE/Code/Controllers/Common/ASCCommonViewController.mm b/macos/ONLYOFFICE/Code/Controllers/Common/ASCCommonViewController.mm index bcb1abe7e..343e4d76c 100644 --- a/macos/ONLYOFFICE/Code/Controllers/Common/ASCCommonViewController.mm +++ b/macos/ONLYOFFICE/Code/Controllers/Common/ASCCommonViewController.mm @@ -71,7 +71,7 @@ #import "ASCThemesController.h" #import "ASCEditorJSVariables.h" #import "ASCPresentationReporter.h" - +#import #define rootTabId @"1CEF624D-9FF3-432B-9967-61361B5BFE8B" @@ -396,7 +396,7 @@ - (void)onTouchBarItemTap:(id)sender senderId:(NSString *)senderId { object:nil userInfo:@{ @"action" : @(ASCTabActionCreateLocalFile), - @"type" : @(CEFDocumentDocument), + @"type" : @(int(AscEditorType::etDocument)), @"active" : @(YES) }]; } else if ([senderId isEqualToString:[NSString stringWithFormat:kCreationButtonIdentifier, @"spreadsheet"]]) { @@ -404,7 +404,7 @@ - (void)onTouchBarItemTap:(id)sender senderId:(NSString *)senderId { object:nil userInfo:@{ @"action" : @(ASCTabActionCreateLocalFile), - @"type" : @(CEFDocumentSpreadsheet), + @"type" : @(int(AscEditorType::etSpreadsheet)), @"active" : @(YES) }]; } else if ([senderId isEqualToString:[NSString stringWithFormat:kCreationButtonIdentifier, @"presentation"]]) { @@ -412,7 +412,7 @@ - (void)onTouchBarItemTap:(id)sender senderId:(NSString *)senderId { object:nil userInfo:@{ @"action" : @(ASCTabActionCreateLocalFile), - @"type" : @(CEFDocumentPresentation), + @"type" : @(int(AscEditorType::etPresentation)), @"active" : @(YES) }]; } else { @@ -645,8 +645,9 @@ - (BOOL)canOpenFile:(NSString *)path tab:(ASCTabView *)tab { BOOL canOpen = NO; if (path) { - NSURL * urlFile = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + NSURL * urlFile = [NSURL URLWithString:[path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]]; + if (urlFile && [urlFile host]) { canOpen = YES; } else { @@ -735,8 +736,37 @@ - (void)safeCloseTabsWithChanges { - (void)onCEFCreateTab:(NSNotification *)notification { if (notification && notification.userInfo) { - NSDictionary * params = (NSDictionary *)notification.userInfo; - + NSMutableDictionary * params = [notification.userInfo mutableCopy]; + + if ([params[@"action"] isEqualToNumber:@(ASCTabActionCreateLocalFileFromTemplate)]) { + NSOpenPanel * openPanel = [NSOpenPanel openPanel]; + NSMutableArray * filter = [NSMutableArray array]; + + if ( [params[@"type"] isEqualToNumber:@((int)AscEditorType::etPresentation)] ) { + [filter addObjectsFromArray:@[@"potx", @"otp"]]; + } else if ( [params[@"type"] isEqualToNumber:@((int)AscEditorType::etSpreadsheet)] ) { + [filter addObjectsFromArray:@[@"xltx", @"xltm", @"ots"]]; + } else { + [filter addObjectsFromArray:@[@"dotx", @"ott"]]; + } + + openPanel.canChooseDirectories = NO; + openPanel.allowsMultipleSelection = NO; + openPanel.canChooseFiles = YES; + openPanel.allowedFileTypes = filter; + + if ([openPanel runModal] == NSModalResponseOK) { + [params setValue:[[openPanel URL] path] forKey:@"template"]; + } else return; + } else + if ([params[@"action"] isEqualToNumber:@(ASCTabActionOpenLocalRecentFile)] || + [params[@"action"] isEqualToNumber:@(ASCTabActionOpenLocalFile)]) + { + if ( ![self canOpenFile:params[@"path"] tab:nil] ) { + return; + } + } + ASCTabView *tab = [[ASCTabView alloc] initWithFrame:CGRectZero]; tab.title = [NSString stringWithFormat:@"%@...", NSLocalizedString(@"Opening", nil)]; tab.type = ASCTabViewTypeOpening; @@ -901,15 +931,38 @@ - (void)onCEFKeyDown:(NSNotification *)notification { //NSLog(@"ui oncefkeydown"); if (eventData) { -// NSEditorApi::CAscKeyboardDown * pData = (NSEditorApi::CAscKeyboardDown *)[eventData pointerValue]; -// -// int keyCode = pData->get_KeyCode(); -// bool isCtrl = pData->get_IsCtrl(); -// BOOL isCommand = pData->get_IsCommandMac(); -// -// if(isCtrl && keyCode == kVK_ANSI_W) { -// [self tabs:self.tabsControl willRemovedTab:[self.tabsControl selectedTab]]; -// } + NSEditorApi::CAscKeyboardDown * pData = (NSEditorApi::CAscKeyboardDown *)[eventData pointerValue]; + + if ( pData->get_KeyCode() == 112 /*kVK_F1*/ && pData->get_IsShift() && pData->get_IsCtrl() ) { + NSOpenPanel * openPanel = [NSOpenPanel openPanel]; + + openPanel.canChooseDirectories = YES; + openPanel.allowsMultipleSelection = NO; + openPanel.canChooseFiles = NO; + openPanel.allowedFileTypes = [ASCConstants images]; +// openPanel.directoryURL = [NSURL fileURLWithPath:directory]; + + [openPanel beginSheetModalForWindow:[NSApp mainWindow] completionHandler:^(NSInteger result){ + [openPanel orderOut:self]; + + if (result == NSFileHandlingPanelOKButton) { + NSString * pathToHelp = [[[openPanel directoryURL] path] stringByAppendingString: @"/apps"]; + NSString * pathContents = [pathToHelp stringByAppendingString:@"/documenteditor/main/resources/help/en/Contents.json"]; + + NSAlert * alert = [[NSAlert alloc] init]; + if ( [[NSFileManager defaultManager] fileExistsAtPath:pathContents] ) { + [[NSUserDefaults standardUserDefaults] setValue:pathToHelp forKey:@"helpUrl"]; + [[ASCEditorJSVariables instance] setVariable:@"helpUrl" withString:pathToHelp]; + [[ASCEditorJSVariables instance] apply]; + + [alert setMessageText:@"Successfully"]; + } else { + [alert setMessageText:@"Failed"]; + } + [alert runModal]; + } + }]; + } } } } @@ -1764,49 +1817,55 @@ - (void)tabs:(ASCTabsControl *)control didAddTab:(ASCTabView *)tab { break; } + case ASCTabActionCreateLocalFileFromTemplate: case ASCTabActionCreateLocalFile: { - int docType = CEFDocumentDocument; + AscEditorType docType = AscEditorType::etDocument; if ( [tab.params[@"type"] isKindOfClass:[NSString class]] ) { NSString * param = tab.params[@"type"]; - if ([param isEqualToString:@"cell"]) docType = CEFDocumentSpreadsheet; - else if ([param isEqualToString:@"slide"]) docType = CEFDocumentPresentation; - else if ([param isEqualToString:@"form"]) docType = CEFDocumentForm; - else /*if ([param isEqualToString:@"word"])*/ docType = CEFDocumentDocument; - } else docType = [tab.params[@"type"] intValue]; + if ([param isEqualToString:@"cell"]) docType = AscEditorType::etSpreadsheet; + else if ([param isEqualToString:@"slide"]) docType = AscEditorType::etPresentation; + else if ([param isEqualToString:@"form"]) docType = AscEditorType::etDocumentMasterForm; +// else /*if ([param isEqualToString:@"word"])*/ docType = AscEditorType::etDocument; + } else docType = (AscEditorType)[tab.params[@"type"] intValue]; NSString * docName = NSLocalizedString(@"Untitled", nil); switch (docType) { - case CEFDocumentDocument: + case AscEditorType::etDocument: docName = [NSString stringWithFormat:NSLocalizedString(@"Document %ld.docx", nil), ++documentNameCounter]; break; - case CEFDocumentSpreadsheet: + case AscEditorType::etSpreadsheet: docName = [NSString stringWithFormat:NSLocalizedString(@"Spreadsheet %ld.xlsx", nil), ++spreadsheetNameCounter]; break; - case CEFDocumentPresentation: + case AscEditorType::etPresentation: docName = [NSString stringWithFormat:NSLocalizedString(@"Presentation %ld.pptx", nil), ++presentationNameCounter]; break; - case CEFDocumentForm: + case AscEditorType::etDocumentMasterOForm: + case AscEditorType::etDocumentMasterForm: docName = [NSString stringWithFormat:NSLocalizedString(@"Document %ld.docxf", nil), ++documentNameCounter]; break; + default: break; } - [cefView createFileWithName:docName type:docType]; + if (action == ASCTabActionCreateLocalFile ) { + [cefView createFileWithName:docName type:docType]; + } else { + [cefView createFileWithNameFromTemplate:docName tplpath:tab.params[@"template"]]; + } + break; } case ASCTabActionOpenLocalFile: { NSString * filePath = tab.params[@"path"]; - if ([self canOpenFile:filePath tab:tab]) { - int fileFormatType = CCefViewEditor::GetFileFormat([filePath stdwstring]); - [cefView openFileWithName:filePath type:fileFormatType]; + int fileFormatType = CCefViewEditor::GetFileFormat([filePath stdwstring]); + [cefView openFileWithName:filePath type:fileFormatType]; - [[AnalyticsHelper sharedInstance] recordCachedEventWithCategory:ASCAnalyticsCategoryApplication + [[AnalyticsHelper sharedInstance] recordCachedEventWithCategory:ASCAnalyticsCategoryApplication action:@"Open local file" label:nil value:nil]; - } break; } @@ -1825,14 +1884,12 @@ - (void)tabs:(ASCTabsControl *)control didAddTab:(ASCTabView *)tab { NSInteger docId = [tab.params[@"fileId"] intValue]; NSString * filePath = tab.params[@"path"]; - if ([self canOpenFile:filePath tab:tab]) { - [cefView openRecentFileWithId:docId]; + [cefView openRecentFileWithId:docId]; - [[AnalyticsHelper sharedInstance] recordCachedEventWithCategory:ASCAnalyticsCategoryApplication + [[AnalyticsHelper sharedInstance] recordCachedEventWithCategory:ASCAnalyticsCategoryApplication action:@"Open local file" label:nil value:nil]; - } break; } diff --git a/macos/ONLYOFFICE/Code/Controllers/Common/ASCEventsController.mm b/macos/ONLYOFFICE/Code/Controllers/Common/ASCEventsController.mm index 83e2c4993..f557b627e 100644 --- a/macos/ONLYOFFICE/Code/Controllers/Common/ASCEventsController.mm +++ b/macos/ONLYOFFICE/Code/Controllers/Common/ASCEventsController.mm @@ -40,7 +40,6 @@ #import "ASCEventsController.h" #import "ASCConstants.h" -#import "ASCDocumentType.h" #import "ASCExternalController.h" #import "ASCPresentationReporter.h" #import "ASCSharedSettings.h" @@ -280,16 +279,15 @@ virtual void OnEvent(NSEditorApi::CAscCefMenuEvent* pRawEvent) break; } - case ASC_MENU_EVENT_TYPE_CEF_LOCALFILE_RECENTOPEN: +// case ASC_MENU_EVENT_TYPE_CEF_LOCALFILE_RECENTOPEN: case ASC_MENU_EVENT_TYPE_CEF_LOCALFILE_RECOVEROPEN: { NSEditorApi::CAscLocalOpenFileRecent_Recover* pData = (NSEditorApi::CAscLocalOpenFileRecent_Recover*)pEvent->m_pData; - BOOL isRecover = pData->get_IsRecover(); [[NSNotificationCenter defaultCenter] postNotificationName:CEFEventNameCreateTab object:nil userInfo:@{ - @"action" : isRecover ? @(ASCTabActionOpenLocalRecoverFile) : @(ASCTabActionOpenLocalRecentFile), + @"action" : @(ASCTabActionOpenLocalRecoverFile), @"active" : @(YES), @"fileId" : @(pData->get_Id()), @"path" : [NSString stringWithstdwstring:pData->get_Path()] @@ -681,26 +679,46 @@ virtual void OnEvent(NSEditorApi::CAscCefMenuEvent* pRawEvent) /// Create local files NSString * nsParam = (NSString *)[NSString stringWithstdwstring:param]; - ASCDocumentType docType = ASCDocumentTypeUnknown; + AscEditorType docType = AscEditorType::etUndefined; - if ([nsParam isEqualToString:@"word"]) { - docType = ASCDocumentTypeDocument; - } else if ([nsParam isEqualToString:@"cell"]) { - docType = ASCDocumentTypeSpreadsheet; - } else if ([nsParam isEqualToString:@"slide"]) { - docType = ASCDocumentTypePresentation; - } else if ([nsParam isEqualToString:@"form"]) { - docType = ASCDocumentTypeForm; - } + if ([nsParam hasPrefix:@"template:"]) { + if ([nsParam hasSuffix:@"word"]) { + docType = AscEditorType::etDocument; + } else + if ([nsParam hasSuffix:@"slide"]) { + docType = AscEditorType::etPresentation; + } else + if ([nsParam hasSuffix:@"cell"]) { + docType = AscEditorType::etSpreadsheet; + } - if (docType != ASCDocumentTypeUnknown) { [[NSNotificationCenter defaultCenter] postNotificationName:CEFEventNameCreateTab object:nil userInfo:@{ - @"action" : @(ASCTabActionCreateLocalFile), - @"type" : @(docType), + @"action" : @(ASCTabActionCreateLocalFileFromTemplate), + @"type" : @(int(docType)), @"active" : @(YES) }]; + } else { + if ([nsParam isEqualToString:@"word"]) { + docType = AscEditorType::etDocument; + } else if ([nsParam isEqualToString:@"cell"]) { + docType = AscEditorType::etSpreadsheet; + } else if ([nsParam isEqualToString:@"slide"]) { + docType = AscEditorType::etPresentation; + } else if ([nsParam isEqualToString:@"form"]) { + docType = AscEditorType::etDocumentMasterForm; + } + + if ( docType != AscEditorType::etUndefined ) { + [[NSNotificationCenter defaultCenter] postNotificationName:CEFEventNameCreateTab + object:nil + userInfo:@{ + @"action" : @(ASCTabActionCreateLocalFile), + @"type" : @(int(docType)), + @"active" : @(YES) + }]; + } } } else if (cmd.find(L"open:folder") != std::wstring::npos) { [[NSNotificationCenter defaultCenter] postNotificationName:CEFEventNameOpenLocalFile @@ -732,7 +750,16 @@ virtual void OnEvent(NSEditorApi::CAscCefMenuEvent* pRawEvent) } } } else if (cmd.find(L"open:recent") != std::wstring::npos) { - NSLog(@"open:recent"); + if (NSDictionary * json = [[NSString stringWithstdwstring:param] dictionary]) { + [[NSNotificationCenter defaultCenter] postNotificationName:CEFEventNameCreateTab + object:nil + userInfo:@{ + @"action" : @(ASCTabActionOpenLocalRecentFile), + @"active" : @(YES), + @"fileId" : json[@"id"], + @"path" : json[@"path"] + }]; + } } else if (cmd.find(L"webapps:features") != std::wstring::npos) { CAscApplicationManager * appManager = [NSAscApplicationWorker getAppManager]; CCefView * pCefView = appManager->GetViewById(senderId); diff --git a/macos/ONLYOFFICE/Code/Controllers/Common/ASCLinguist.m b/macos/ONLYOFFICE/Code/Controllers/Common/ASCLinguist.m index 7914c99cf..5ce9ea189 100644 --- a/macos/ONLYOFFICE/Code/Controllers/Common/ASCLinguist.m +++ b/macos/ONLYOFFICE/Code/Controllers/Common/ASCLinguist.m @@ -78,7 +78,7 @@ + (NSDictionary *)availableLanguages { @"pt-BR": @"Português Brasileiro", @"pt-PT": @"Português (Portugal)", @"zh-CN": @"简体中文", - @"zh-HK": @"繁體中文", + @"zh-TW": @"繁體中文", @"sk-SK": @"Slovenčina", @"cs-CZ": @"Čeština", @"pl-PL": @"Polski", diff --git a/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.h b/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.h index 2d20dbba5..a65be81f9 100644 --- a/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.h +++ b/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.h @@ -48,6 +48,7 @@ static NSString * const btnPortalActiveBackgroundColor = @"portal-button-backgr static NSString * const tabWordActiveBackgroundColor = @"tab-word-background-active-color"; static NSString * const tabCellActiveBackgroundColor = @"tab-cell-background-active-color"; static NSString * const tabSlideActiveBackgroundColor = @"tab-slide-background-active-color"; +static NSString * const tabPdfActiveBackgroundColor = @"tab-pdf-background-active-color"; @interface ASCThemesController : NSObject diff --git a/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.m b/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.m index 82fa90acc..86ebc46c2 100644 --- a/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.m +++ b/macos/ONLYOFFICE/Code/Controllers/Common/ASCThemesController.m @@ -103,18 +103,20 @@ + (NSColor*)color:(NSString*)name forTheme:(NSString*)theme { return [NSColor colorNamed:@"tab-portal-activeColor"]; else return kColorRGBA(255, 255, 255, 1.0); } - } else if ([name isEqualToString:tabWordActiveBackgroundColor]) { + } else { if ( [theme isEqualToString:uiThemeDark] ) return UIColorFromRGB(0x2a2a2a); else if ( [theme isEqualToString:uiThemeContrastDark] ) return UIColorFromRGB(0x1e1e1e); - else return [NSColor brendDocumentEditor]; - } else if ([name isEqualToString:tabCellActiveBackgroundColor]) { - if ( [theme isEqualToString:uiThemeDark] ) return UIColorFromRGB(0x2a2a2a); - else if ( [theme isEqualToString:uiThemeContrastDark] ) return UIColorFromRGB(0x1e1e1e); - else return [NSColor brendSpreadsheetEditor]; - } else if ([name isEqualToString:tabSlideActiveBackgroundColor]) { - if ( [theme isEqualToString:uiThemeDark] ) return UIColorFromRGB(0x2a2a2a); - else if ( [theme isEqualToString:uiThemeContrastDark] ) return UIColorFromRGB(0x1e1e1e); - else return [NSColor brendPresentationEditor]; + else { + if ([name isEqualToString:tabWordActiveBackgroundColor]) { + return [NSColor brendDocumentEditor]; + } else if ([name isEqualToString:tabCellActiveBackgroundColor]) { + return [NSColor brendSpreadsheetEditor]; + } else if ([name isEqualToString:tabSlideActiveBackgroundColor]) { + return [NSColor brendPresentationEditor]; + } else if ([name isEqualToString:tabPdfActiveBackgroundColor]) { + return [NSColor brandPdfEditor]; + } + } } return NULL; diff --git a/macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.m b/macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.mm similarity index 93% rename from macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.m rename to macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.mm index 65816f5f1..963ae301a 100644 --- a/macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.m +++ b/macos/ONLYOFFICE/Code/Controllers/MainWindow/ASCTitleBarController.mm @@ -50,8 +50,9 @@ #import "ASCDownloadViewController.h" #import "ASCDownloadController.h" #import "ASCMenuButtonCell.h" -#import "ASCDocumentType.h" #import "ASCThemesController.h" +#import "ASCApplicationManager.h" + static float kASCWindowDefaultTrafficButtonsLeftMargin = 0; static float kASCWindowMinTitleWidth = 0; @@ -124,6 +125,26 @@ - (void)initialize { self.downloadWidthConstraint.constant = .0f; self.downloadImageView.canDrawSubviewsIntoLayer = YES; + self.downloadImageView.animates = NO; + self.downloadImageView.hidden = NO; + + NSDataAsset * asset = [[NSDataAsset alloc] initWithName:@"progress_download_icon"]; + NSBitmapImageRep * rep = [[NSBitmapImageRep alloc] initWithData:[asset data]]; + int framescount = [[rep valueForProperty:NSImageFrameCount] intValue]; + [rep setProperty:NSImageCurrentFrame withValue:[NSNumber numberWithUnsignedInt:15]]; + NSData *repData = [rep representationUsingType:NSPNGFileType properties:nil]; + NSImage * img = [[NSImage alloc] initWithData:repData]; + [self.downloadImageView setImage:img]; + +// NSImage * image = [NSImage imageNamed:@"progress_download_icon"]; +// if ( image ) { +// +// NSLog(@"download1: image loaded, %d", framescount); +//// self.downloadImageView.image = image; +// [self.downloadImageView setImage:img]; +// } else { +// NSLog(@"download1: load failed"); +// } kASCWindowDefaultTrafficButtonsLeftMargin = NSWidth(self.closeButtonFullscreen.frame) - 2.0; // OSX 10.11 magic @@ -172,7 +193,8 @@ - (void)initialize { [[[ASCDownloadController sharedInstance] multicastDelegate] addDelegate:self]; [self.tabsControl.multicastDelegate addDelegate:self]; - [self.userProfileButton setHidden:YES]; +// [self.userProfileButton setHidden:YES]; + [self.userProfileButton setHidden:NO]; [self.portalButton setState:NSControlStateValueOn]; [self.tabsControl removeAllConstraints]; @@ -245,7 +267,7 @@ - (void)doLayout { // Layout title and tabs CGFloat containerWidth = CGRectGetWidth(self.titleContainerView.frame); - CGFloat maxTabsWidth = containerWidth - kASCWindowMinTitleWidth; + CGFloat maxTabsWidth = containerWidth - kASCWindowMinTitleWidth - 100; CGFloat actualTabsWidth = self.tabsControl.maxTabWidth * [self.tabsControl.tabs count]; self.tabsControl.frame = CGRectMake(0, 0, MIN(actualTabsWidth, maxTabsWidth), CGRectGetHeight(self.tabsControl.frame)); @@ -257,7 +279,6 @@ - (void)viewWillTransitionToSize:(NSSize)newSize { #pragma mark - #pragma mark CEF events handler - - (void)onCEFChangedTabEditorType:(NSNotification *)notification { if (notification && notification.userInfo) { NSDictionary * params = (NSDictionary *)notification.userInfo; @@ -266,13 +287,15 @@ - (void)onCEFChangedTabEditorType:(NSNotification *)notification { ASCTabView * tab = [self.tabsControl tabWithUUID:viewId]; +// NSLog(@"on change editor type %ld %lu", type); + if (tab) { ASCTabViewType docType = ASCTabViewTypeUnknown; - switch (type) { - case ASCDocumentTypeDocument : docType = ASCTabViewTypeDocument; break; - case ASCDocumentTypeSpreadsheet : docType = ASCTabViewTypeSpreadsheet; break; - case ASCDocumentTypePresentation : docType = ASCTabViewTypePresentation; break; - + switch (AscEditorType(type)) { + case AscEditorType::etDocument : docType = ASCTabViewTypeDocument; break; + case AscEditorType::etSpreadsheet : docType = ASCTabViewTypeSpreadsheet; break; + case AscEditorType::etPresentation : docType = ASCTabViewTypePresentation; break; + case AscEditorType::etPdf : docType = ASCTabViewTypePdf; break; default: break; } diff --git a/macos/ONLYOFFICE/Code/Controls/ASCTabs/ASCTabView.m b/macos/ONLYOFFICE/Code/Controls/ASCTabs/ASCTabView.m index 105b54f4e..704dbac3d 100644 --- a/macos/ONLYOFFICE/Code/Controls/ASCTabs/ASCTabView.m +++ b/macos/ONLYOFFICE/Code/Controls/ASCTabs/ASCTabView.m @@ -113,6 +113,8 @@ - (void)initialize { @{@"normal": @"icon_tabs_se_inactive", @"active": @"icon_tabs_se_active"}, // ASCTabViewTypePresentation @{@"normal": @"icon_tabs_pe_inactive", @"active": @"icon_tabs_pe_active"}, + // ASCTabViewTypePdf + @{@"normal": @"icon_tabs_pdf_inactive", @"active": @"icon_tabs_pdf_active"}, // ASCTabViewTypePortal @{@"normal": @"icon_tab_portal_active", @"active": @"icon_tab_portal_active"} ] @@ -245,6 +247,14 @@ - (void)setType:(ASCTabViewType)type { } else { tabViewCell.activeTextColor = UIColorFromRGB(0xffffff); } + } else if (type == ASCTabViewTypePdf) { + tabViewCell.activeColor = [ASCThemesController currentThemeColor:tabPdfActiveBackgroundColor]; + tabViewCell.clickColor = [ASCThemesController currentThemeColor:tabPdfActiveBackgroundColor]; + if (@available(macOS 10.13, *)) { + tabViewCell.activeTextColor = [NSColor colorNamed:@"tab-editorsActiveTextColor"]; + } else { + tabViewCell.activeTextColor = UIColorFromRGB(0xffffff); + } } if (_delegate && [_delegate respondsToSelector:@selector(tabDidUpdate:)]) { diff --git a/macos/ONLYOFFICE/Code/Enums/ASCDocumentType.h b/macos/ONLYOFFICE/Code/Enums/ASCDocumentType.h deleted file mode 100644 index 52e135b87..000000000 --- a/macos/ONLYOFFICE/Code/Enums/ASCDocumentType.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// ASCDocumentType.h -// ONLYOFFICE -// -// Created by Alexander Yuzhin on 01.06.2020. -// Copyright © 2020 Ascensio System SIA. All rights reserved. -// - -#ifndef ASCDocumentType_h -#define ASCDocumentType_h - -typedef NS_ENUM(NSUInteger, ASCDocumentType) { - ASCDocumentTypeDocument, - ASCDocumentTypePresentation, - ASCDocumentTypeSpreadsheet, - ASCDocumentTypeForm, - ASCDocumentTypeUnknown = NSUIntegerMax -}; - -#endif /* ASCDocumentType_h */ diff --git a/macos/ONLYOFFICE/Code/Enums/ASCTabViewType.h b/macos/ONLYOFFICE/Code/Enums/ASCTabViewType.h index c0668f332..ca80a50dc 100644 --- a/macos/ONLYOFFICE/Code/Enums/ASCTabViewType.h +++ b/macos/ONLYOFFICE/Code/Enums/ASCTabViewType.h @@ -15,6 +15,7 @@ typedef NS_ENUM(NSUInteger, ASCTabViewType) { ASCTabViewTypeDocument, ASCTabViewTypeSpreadsheet, ASCTabViewTypePresentation, + ASCTabViewTypePdf, ASCTabViewTypePortal }; diff --git a/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.h b/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.h index 56d5b91cd..ebabd3ff8 100644 --- a/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.h +++ b/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.h @@ -55,6 +55,7 @@ + (NSColor *) brendDocumentEditor; + (NSColor *) brendSpreadsheetEditor; + (NSColor *) brendPresentationEditor; ++ (NSColor *) brandPdfEditor; @end @interface NSColor (Extensions) diff --git a/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.m b/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.m index bfc3e04e0..5706a284a 100644 --- a/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.m +++ b/macos/ONLYOFFICE/Code/Extensions/NSColor+Extensions.m @@ -64,6 +64,13 @@ + (NSColor *) brendPresentationEditor { if (@available(macOS 10.13, *)) { return [NSColor colorNamed:@"brend-PresentationEditor"]; } + return UIColorFromRGB(0xbe664f); +} + ++ (NSColor *) brandPdfEditor { + if (@available(macOS 10.13, *)) { + return [NSColor colorNamed:@"brand-PdfEditor"]; + } return UIColorFromRGB(0xaa5252); } diff --git a/macos/ONLYOFFICE/Code/TouchBar/Controllers/ASCTouchBarController.m b/macos/ONLYOFFICE/Code/TouchBar/Controllers/ASCTouchBarController.m index 2714fbb26..9cbae6051 100644 --- a/macos/ONLYOFFICE/Code/TouchBar/Controllers/ASCTouchBarController.m +++ b/macos/ONLYOFFICE/Code/TouchBar/Controllers/ASCTouchBarController.m @@ -186,6 +186,10 @@ - (BOOL)updateTabInfoFor:(ASCTabView *)tab { isChange = self.tabs[index].type != ASCTabTouchBarTypePresentation; self.tabs[index].type = ASCTabTouchBarTypePresentation; break; + case ASCTabViewTypePdf: + isChange = self.tabs[index].type != ASCTabTouchBarTypePdf; + self.tabs[index].type = ASCTabTouchBarTypePdf; + break; default: isChange = self.tabs[index].type != ASCTabTouchBarTypePortal; self.tabs[index].type = ASCTabTouchBarTypePortal; diff --git a/macos/ONLYOFFICE/Code/TouchBar/Models/ASCTabTouchBar.h b/macos/ONLYOFFICE/Code/TouchBar/Models/ASCTabTouchBar.h index f0d4c7f52..d66f2681c 100644 --- a/macos/ONLYOFFICE/Code/TouchBar/Models/ASCTabTouchBar.h +++ b/macos/ONLYOFFICE/Code/TouchBar/Models/ASCTabTouchBar.h @@ -47,7 +47,8 @@ typedef NS_ENUM(NSInteger, ASCTabTouchBarType) ASCTabTouchBarTypeSpreadsheet = 2, ASCTabTouchBarTypePresentation = 3, ASCTabTouchBarTypePortal = 4, - ASCTabTouchBarTypePage = 5 + ASCTabTouchBarTypePage = 5, + ASCTabTouchBarTypePdf = 6 }; NS_ASSUME_NONNULL_BEGIN diff --git a/macos/ONLYOFFICE/Code/TouchBar/Views/ASCTabTouchBarItem.m b/macos/ONLYOFFICE/Code/TouchBar/Views/ASCTabTouchBarItem.m index 8f03f7883..fb5b2e945 100644 --- a/macos/ONLYOFFICE/Code/TouchBar/Views/ASCTabTouchBarItem.m +++ b/macos/ONLYOFFICE/Code/TouchBar/Views/ASCTabTouchBarItem.m @@ -137,6 +137,10 @@ - (void)updateInfo { self.layer.backgroundColor = [[NSColor brendPresentationEditor] CGColor]; [_imageView setImage:[NSImage imageNamed:@"touchbar-tab-presentation"]]; break; + case ASCTabTouchBarTypePdf: + self.layer.backgroundColor = [[NSColor brandPdfEditor] CGColor]; + [_imageView setImage:[NSImage imageNamed:@"touchbar-tab-document"]]; + break; default: self.layer.backgroundColor = [[NSColor whiteColor] CGColor]; [_imageView setImage:[NSImage imageNamed:NSImageNameTouchBarOpenInBrowserTemplate]]; diff --git a/macos/ONLYOFFICE/Code/Utils/ASCConstants.h b/macos/ONLYOFFICE/Code/Utils/ASCConstants.h index 964893a51..e27588153 100644 --- a/macos/ONLYOFFICE/Code/Utils/ASCConstants.h +++ b/macos/ONLYOFFICE/Code/Utils/ASCConstants.h @@ -51,19 +51,13 @@ typedef NS_ENUM(int, ASCTabActionType) { ASCTabActionOpenPortal, ASCTabActionOpenUrl, ASCTabActionCreateLocalFile, + ASCTabActionCreateLocalFileFromTemplate, ASCTabActionOpenLocalFile, ASCTabActionOpenLocalRecentFile, ASCTabActionOpenLocalRecoverFile, ASCTabActionSaveLocalFile, }; -typedef NS_ENUM(int, CEFDocumentType) { - CEFDocumentDocument = 0, - CEFDocumentSpreadsheet = 2, - CEFDocumentPresentation = 1, - CEFDocumentForm = 3, -}; - static NSString * const kRegHelpUrl = @"kRegHelpUrl"; static NSString * const kHelpUrl = @"kHelpUrl"; static NSString * const kRegistrationPortalUrl = @"kRegistrationPortalUrl"; diff --git a/macos/ONLYOFFICE/Code/Utils/ASCConstants.m b/macos/ONLYOFFICE/Code/Utils/ASCConstants.m index 58eb49318..adbdf5b5b 100644 --- a/macos/ONLYOFFICE/Code/Utils/ASCConstants.m +++ b/macos/ONLYOFFICE/Code/Utils/ASCConstants.m @@ -55,7 +55,7 @@ + (id)shared { } + (NSArray *)images { - return @[@"jpg", @"jpeg", @"png", @"gif", @"bmp", @"tif", @"tiff", @"ico"]; + return @[@"jpg", @"jpeg", @"png", @"gif", @"bmp", @"tif", @"tiff", @"ico", @"svg"]; } + (NSArray *)videos { @@ -68,17 +68,17 @@ + (NSArray *)audios { } + (NSArray *)documents { - return @[@"docx", @"doc", @"odt", @"ott", @"rtf", @"docm", @"dotx", @"dotm", @"docxf", @"fodt", @"wps", @"wpt", + return @[@"docx", @"doc", @"odt", @"ott", @"rtf", @"docm", @"dot", @"dotx", @"dotm", @"docxf", @"fodt", @"wps", @"wpt", @"xml", @"pdf", @"epub", @"djv", @"djvu", @"txt", @"html", @"htm", @"mht", @"mhtml", @"xps", @"doctx", @"fb2", @"oform", @"sxw", @"stw"]; } + (NSArray *)spreadsheets { - return @[@"xls", @"xlsx", @"csv", @"ods", @"xltx", @"ots", @"xltm", @"xml", @"fods", @"et", @"ett", @"sxc"]; + return @[@"xls", @"xlsx", @"xlsm", @"xlsb", @"csv", @"ods", @"xltx", @"ots", @"xltm", @"xml", @"fods", @"et", @"ett", @"sxc"]; } + (NSArray *)presentations { - return @[@"ppt", @"pptx", @"ppsx", @"odp", @"potx", @"otp", @"pps", @"ppsm", @"potm", @"fodp", @"dps", @"dpt", @"sxi"]; + return @[@"ppt", @"pptx", @"pptm", @"ppsx", @"odp", @"potx", @"otp", @"pps", @"ppsm", @"potm", @"fodp", @"dps", @"dpt", @"sxi"]; } + (NSArray *)cancryptformats { diff --git a/macos/ONLYOFFICE/Code/Utils/ASCEditorJSVariables.mm b/macos/ONLYOFFICE/Code/Utils/ASCEditorJSVariables.mm index 4f8d99996..0abfb9b13 100644 --- a/macos/ONLYOFFICE/Code/Utils/ASCEditorJSVariables.mm +++ b/macos/ONLYOFFICE/Code/Utils/ASCEditorJSVariables.mm @@ -75,6 +75,12 @@ - (id)init { url = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"ASCWebappsHelpUrl"]; } + if (url && [url length]) { + [_jsVariables setValue:url forKey:@"helpUrl"]; + NSLog(@"set web-apps help url %@", url); + } + + if (url && [url length]) { [_jsVariables setValue:url forKey:@"helpUrl"]; NSLog(@"set web-apps help url %@", url); diff --git a/macos/ONLYOFFICE/Code/Views/NSCefView.h b/macos/ONLYOFFICE/Code/Views/NSCefView.h index c4830bf04..abfcecbe6 100644 --- a/macos/ONLYOFFICE/Code/Views/NSCefView.h +++ b/macos/ONLYOFFICE/Code/Views/NSCefView.h @@ -56,7 +56,8 @@ - (NSString *)originalUrl; - (void)loadWithUrl:(NSString *)url; -- (void)createFileWithName:(NSString *)name type:(NSInteger)type; +- (void)createFileWithName:(NSString *)name type:(AscEditorType)type; +- (void)createFileWithNameFromTemplate:(NSString *)name tplpath:(NSString *)path; - (void)openFileWithName:(NSString *)name type:(NSInteger)type; - (void)openRecentFileWithId:(NSInteger)index; - (void)openRecoverFileWithId:(NSInteger)index; diff --git a/macos/ONLYOFFICE/Code/Views/NSCefView.mm b/macos/ONLYOFFICE/Code/Views/NSCefView.mm index 9b4f67055..28fb4ae5f 100644 --- a/macos/ONLYOFFICE/Code/Views/NSCefView.mm +++ b/macos/ONLYOFFICE/Code/Views/NSCefView.mm @@ -148,12 +148,22 @@ - (void)loadWithUrl:(NSString *)url { } } -- (void)createFileWithName:(NSString *)name type:(NSInteger)type { +- (void)createFileWithName:(NSString *)name type:(AscEditorType)type { if (m_pCefView) { CCefViewEditor * editorView = dynamic_cast(m_pCefView->GetCefView()); if (editorView) { - editorView->CreateLocalFile((int)type, [name stdwstring]); + editorView->CreateLocalFile((AscEditorType)type, [name stdwstring]); + } + } +} + +- (void)createFileWithNameFromTemplate:(NSString *)name tplpath:(NSString *)path { + if (m_pCefView) { + CCefViewEditor * editorView = dynamic_cast(m_pCefView->GetCefView()); + + if (editorView) { + editorView->CreateLocalFile(AscEditorType::etUndefined, [name stdwstring], [path stdwstring]); } } } diff --git a/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/Contents.json b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/Contents.json index da4a164c9..73c00596a 100644 --- a/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/Contents.json +++ b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brand-PdfEditor.colorset/Contents.json b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brand-PdfEditor.colorset/Contents.json new file mode 100644 index 000000000..87ea86c5a --- /dev/null +++ b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brand-PdfEditor.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x52", + "green" : "0x52", + "red" : "0xaa" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brend-PresentationEditor.colorset/Contents.json b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brend-PresentationEditor.colorset/Contents.json index 139d1a466..ffc4ad622 100644 --- a/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brend-PresentationEditor.colorset/Contents.json +++ b/macos/ONLYOFFICE/Images.xcassets/Colors/Editors/brend-PresentationEditor.colorset/Contents.json @@ -1,20 +1,20 @@ { - "info" : { - "version" : 1, - "author" : "xcode" - }, "colors" : [ { - "idiom" : "universal", "color" : { "color-space" : "srgb", "components" : { - "red" : "0.666", "alpha" : "1.000", - "blue" : "0.321", - "green" : "0.321" + "blue" : "0x4F", + "green" : "0x66", + "red" : "0xBE" } - } + }, + "idiom" : "universal" } - ] -} \ No newline at end of file + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/Contents.json b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/Contents.json new file mode 100644 index 000000000..aac2accab --- /dev/null +++ b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "pdf_desktop.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "pdf_desktop_2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop.png new file mode 100644 index 000000000..5e25461b2 Binary files /dev/null and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop.png differ diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop_2x.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop_2x.png new file mode 100644 index 000000000..4fdbe6dbe Binary files /dev/null and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_active.imageset/pdf_desktop_2x.png differ diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/Contents.json b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/Contents.json new file mode 100644 index 000000000..aac2accab --- /dev/null +++ b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "pdf_desktop.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "pdf_desktop_2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop.png new file mode 100644 index 000000000..5e25461b2 Binary files /dev/null and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop.png differ diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop_2x.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop_2x.png new file mode 100644 index 000000000..4fdbe6dbe Binary files /dev/null and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pdf_inactive.imageset/pdf_desktop_2x.png differ diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop.png index 2a773eb88..df031091f 100644 Binary files a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop.png and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop.png differ diff --git a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop_2x.png b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop_2x.png index 4c38113a1..271a30ef6 100644 Binary files a/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop_2x.png and b/macos/ONLYOFFICE/Images.xcassets/Tabs/icon_tabs_pe_active.imageset/ppt_desktop_2x.png differ diff --git a/macos/ONLYOFFICE/Resources/ONLYOFFICE-arm/si.lproj/InfoPlist.strings b/macos/ONLYOFFICE/Resources/ONLYOFFICE-arm/si.lproj/InfoPlist.strings index aa585c76e..75a870a85 100644 --- a/macos/ONLYOFFICE/Resources/ONLYOFFICE-arm/si.lproj/InfoPlist.strings +++ b/macos/ONLYOFFICE/Resources/ONLYOFFICE-arm/si.lproj/InfoPlist.strings @@ -1,6 +1,3 @@ /* Bundle name */ "CFBundleName" = "ඔන්ලිඔෆිස්"; -/* Copyright (human-readable) */ -"NSHumanReadableCopyright" = "ප්‍රකාශන අයිතිය © 2022 Ascensio System SIA. සියළුම හිමිකම් ඇවිරිණි."; - diff --git a/macos/ONLYOFFICE/Resources/ONLYOFFICE-v8/si.lproj/InfoPlist.strings b/macos/ONLYOFFICE/Resources/ONLYOFFICE-v8/si.lproj/InfoPlist.strings index aa585c76e..75a870a85 100644 --- a/macos/ONLYOFFICE/Resources/ONLYOFFICE-v8/si.lproj/InfoPlist.strings +++ b/macos/ONLYOFFICE/Resources/ONLYOFFICE-v8/si.lproj/InfoPlist.strings @@ -1,6 +1,3 @@ /* Bundle name */ "CFBundleName" = "ඔන්ලිඔෆිස්"; -/* Copyright (human-readable) */ -"NSHumanReadableCopyright" = "ප්‍රකාශන අයිතිය © 2022 Ascensio System SIA. සියළුම හිමිකම් ඇවිරිණි."; - diff --git a/macos/ONLYOFFICE/Resources/ONLYOFFICE-x86_64/si.lproj/InfoPlist.strings b/macos/ONLYOFFICE/Resources/ONLYOFFICE-x86_64/si.lproj/InfoPlist.strings index aa585c76e..75a870a85 100644 --- a/macos/ONLYOFFICE/Resources/ONLYOFFICE-x86_64/si.lproj/InfoPlist.strings +++ b/macos/ONLYOFFICE/Resources/ONLYOFFICE-x86_64/si.lproj/InfoPlist.strings @@ -1,6 +1,3 @@ /* Bundle name */ "CFBundleName" = "ඔන්ලිඔෆිස්"; -/* Copyright (human-readable) */ -"NSHumanReadableCopyright" = "ප්‍රකාශන අයිතිය © 2022 Ascensio System SIA. සියළුම හිමිකම් ඇවිරිණි."; - diff --git a/macos/ONLYOFFICE/be.lproj/Document-Sign.strings b/macos/ONLYOFFICE/be.lproj/Document-Sign.strings index 12743943b..e7ca14072 100644 --- a/macos/ONLYOFFICE/be.lproj/Document-Sign.strings +++ b/macos/ONLYOFFICE/be.lproj/Document-Sign.strings @@ -1,32 +1,32 @@ /* Class = "NSTextFieldCell"; title = "Enter the password for the private key."; ObjectID = "1dL-nN-bJI"; */ -"1dL-nN-bJI.title" = "Увядзіце пароль для закрытага ключа."; +"1dL-nN-bJI.title" = "Увядзіце пароль для прыватнага ключа."; /* Class = "NSTextFieldCell"; title = "Enter the password for the digital signature."; ObjectID = "1Fy-mg-aq9"; */ "1Fy-mg-aq9.title" = "Увядзіце пароль для лічбавага подпісу."; /* Class = "NSTextFieldCell"; title = "Specify the digital signature file for the document."; ObjectID = "2Ck-6y-ygx"; */ -"2Ck-6y-ygx.title" = "Пазначце лічбавы подпіс для дакумента."; +"2Ck-6y-ygx.title" = "Вызначце лічбавы подпіс для дакумента."; /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "4gA-s8-Lne"; */ "4gA-s8-Lne.placeholderString" = "Увядзіце пароль"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "GOU-av-TC1"; */ -"GOU-av-TC1.title" = "Адмяніць"; +"GOU-av-TC1.title" = "Скасаваць"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "jpH-3g-Gt5"; */ -"jpH-3g-Gt5.title" = "Адмяніць"; +"jpH-3g-Gt5.title" = "Скасаваць"; /* Class = "NSButtonCell"; title = "Load a Private Key"; ObjectID = "P3k-kI-w22"; */ -"P3k-kI-w22.title" = "Загрузіць закрыты ключ"; +"P3k-kI-w22.title" = "Загрузіць прыватны ключ"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "qZ4-0O-L0G"; */ -"qZ4-0O-L0G.title" = "Адмяніць"; +"qZ4-0O-L0G.title" = "Скасаваць"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "RbM-Dq-A3K"; */ -"RbM-Dq-A3K.title" = "Адмяніць"; +"RbM-Dq-A3K.title" = "Скасаваць"; /* Class = "NSTextFieldCell"; title = "Specify a private key for the digital signature."; ObjectID = "Tfc-EF-VnS"; */ -"Tfc-EF-VnS.title" = "Пазначце закрыты ключ для лічбавага подпісу."; +"Tfc-EF-VnS.title" = "Вызначце прыватны ключ для лічбавага подпісу."; /* Class = "NSButtonCell"; title = "Load Signature"; ObjectID = "tTF-wa-eJp"; */ "tTF-wa-eJp.title" = "Загрузіць подпіс"; diff --git a/macos/ONLYOFFICE/be.lproj/Localizable.strings b/macos/ONLYOFFICE/be.lproj/Localizable.strings index 74c853b97..8d6e0f66e 100644 --- a/macos/ONLYOFFICE/be.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/be.lproj/Localizable.strings @@ -1,26 +1,26 @@ /* No comment provided by engineer. */ -"%@ Help" = "%@ Дапамога"; +"%@ Help" = "%@ Даведка"; /* No comment provided by engineer. */ -"About %@" = "Аб %@"; +"About %@" = "Пра %@"; /* No comment provided by engineer. */ -"Acknowledgments" = "Апавяшчэння"; +"Acknowledgments" = "Пацвярджэнні"; /* No comment provided by engineer. */ "Before signing the document, it must be saved." = "Перад падпісаннем дакумента яго неабходна захаваць."; /* No comment provided by engineer. */ -"Cancel" = "Адмяніць"; +"Cancel" = "Скасаваць"; /* No comment provided by engineer. */ "Cannot open file of Digital Signature" = "Немагчыма адкрыць файл лічбавага подпісу"; /* No comment provided by engineer. */ -"Cannot open file of Private Key" = "Немагчыма адкрыць файл закрытага ключа"; +"Cannot open file of Private Key" = "Немагчыма адкрыць файл прыватнага ключа"; /* No comment provided by engineer. */ -"Cannot open folder of the file location." = "Немагчыма адкрыць папку з месцазнаходжаннем файла."; +"Cannot open folder of the file location." = "Немагчыма адкрыць каталог файла."; /* No comment provided by engineer. */ "Comma-Separated Values" = "Значэнні, падзеленыя коскамі (*.csv)"; @@ -41,10 +41,10 @@ "Document %ld.docx" = "Дакумент %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Шаблон дакумента Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Дакумент %ld.docxf"; /* No comment provided by engineer. */ -"Electronic Publication" = "Электронная публікацыя (*.epub)"; +"Document template" = "Шаблон дакумента Word Open XML (*.dotx)"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Электронная табліца Excel 97-2003 (*.xls)"; @@ -56,7 +56,7 @@ "FictionBook File" = "Файл FictionBook (*.fb2)"; /* No comment provided by engineer. */ -"File \"%@\" can not be open or not exist." = "Файл \"%@\" не можа быць адкрыты або не існуе."; +"File \"%@\" can not be open or not exist." = "Файл \"%@\" не існуе або яго немагчыма адкрыць."; /* No comment provided by engineer. */ "File can not be open." = "Немагчыма адкрыць файл."; @@ -68,17 +68,11 @@ "Hide %@" = "Схаваць %@"; /* No comment provided by engineer. */ -"HTML File" = "Файл HTML (*.html)"; - -/* No comment provided by engineer. */ -"If you have already purchased %@, you should find your activation key in an email confirmation." = "Калі вы ўжо набылі %@, вы павінны знайсці ключ актывацыі ў пацверджанні па электроннай пошце."; +"If you have already purchased %@, you should find your activation key in an email confirmation." = "Калі вы ўжо набылі %@, вам трэба знайсці ключ актывацыі ў лісце пацвярджэння, які быў адпраўлены па электроннай пошце."; /* No comment provided by engineer. */ "License Agreement" = "Ліцэнзійнае пагадненне"; -/* No comment provided by engineer. */ -"MHT File" = "Файл MHT (*.mht)"; - /* No comment provided by engineer. */ "Mobipocket e-book" = "Электронная кніга mobipocket (*.mobi)"; @@ -95,13 +89,13 @@ "No" = "Не"; /* No comment provided by engineer. */ -"OK" = "OK"; +"OK" = "Добра"; /* No comment provided by engineer. */ "ONLYOFFICE can not open the Digital Signature file. Try opening another file." = "ONLYOFFICE не можа адкрыць файл лічбавага подпісу. Паспрабуйце адкрыць іншы файл."; /* No comment provided by engineer. */ -"ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE не можа адкрыць закрыты ключ. Паспрабуйце адкрыць іншы файл."; +"ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE не можа адкрыць прыватны ключ. Паспрабуйце адкрыць іншы файл."; /* No comment provided by engineer. */ "OpenDocument Document Template" = "Шаблон дакумента OpenDocument (*.ott)"; @@ -116,7 +110,7 @@ "Opening" = "Адкрыццё"; /* No comment provided by engineer. */ -"OpenOffice Document" = "Тэкставы файл OpenDocument (*.odt) "; +"OpenOffice Document" = "Тэкставы файл OpenDocument (*.odt)"; /* No comment provided by engineer. */ "OpenOffice Presentation" = "Прэзентацыя OpenDocument (*.odp)"; @@ -140,10 +134,10 @@ "PowerPoint 2007 Presentation" = "Прэзентацыя Office Open XML (*.pptx)"; /* No comment provided by engineer. */ -"PowerPoint Slide Show" = "Слайд-шоў Office Open XML (*.ppsx)"; +"PowerPoint Slide Show" = "Слайд-шоу Office Open XML (*.ppsx)"; /* No comment provided by engineer. */ -"Preparing..." = "Ідзе падрыхтоўка ..."; +"Preparing..." = "Рыхтаванне..."; /* No comment provided by engineer. */ "Presentation %ld.pptx" = "Прэзентацыя %ld.pptx"; @@ -152,13 +146,13 @@ "Presentation template" = "Шаблон прэзентацыі PowerPoint Open XML (*.potx)"; /* No comment provided by engineer. */ -"Presenter View" = "Прагляд спікера"; +"Presenter View" = "Рэжым дакладчыка"; /* No comment provided by engineer. */ -"Quit %@" = "Пакінуць %@"; +"Quit %@" = "Выйсці з %@"; /* No comment provided by engineer. */ -"Review Changes..." = "Прагледзець змены ..."; +"Review Changes..." = "Пераглядзець змены ..."; /* No comment provided by engineer. */ "Rich Text Document" = "Багаты тэкставы дакумент (*.rtf)"; @@ -173,19 +167,19 @@ "Spreadsheet %ld.xlsx" = "Табліца %ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "Шаблон табліцы Excel Open XML (*.xltx)"; +"Spreadsheet template" = "Шаблон электроннай табліцы Excel Open XML (*.xltx)"; /* No comment provided by engineer. */ "Thank you for evaluating %@!" = "Дзякуй за ацэнку %@!"; /* No comment provided by engineer. */ -"The document \"%@\" must be built. Continue?" = "Дакумент \"%@\" павінен быць пабудаваны. Прадоўжыць?"; +"The document \"%@\" must be built. Continue?" = "Дакумент \"%@\" павінен быць сабраны. Працягнуць?"; /* No comment provided by engineer. */ -"To open the file location, it must be saved." = "Каб адкрыць месцазнаходжанне файла, яго трэба захаваць."; +"To open the file location, it must be saved." = "Каб адкрыць месца размяшчэння файла, яго трэба захаваць."; /* No comment provided by engineer. */ -"Unconfirmed" = "Непацверджаны"; +"Unconfirmed" = "Не пацверджана"; /* No comment provided by engineer. */ "Untitled" = "Без назвы"; @@ -212,17 +206,17 @@ "Yes" = "Так"; /* No comment provided by engineer. */ -"You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting?" = "У вас ёсць %1$ld %2$@ дакументаў з непацверджанымі зменамі. Вы хочаце перагледзець гэтыя змены, перш чым пакінуць старонку?"; +"You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting?" = "У вас ёсць %1$ld %2$@ дакументаў з непацверджанымі зменамі. Хочаце пераглядзець гэтыя змены, перш чым пакінуць старонку?"; /* No comment provided by engineer. */ "You have successfully activated %@." = "Вы паспяхова актывавалі %@."; /* No comment provided by engineer. */ -"Your changes will be lost if you don’t save them." = "Вашы змены будуць страчаны, калі вы іх не захаваеце."; +"Your changes will be lost if you don’t save them." = "Змены страцяцца, калі вы іх не захаваеце."; /* No comment provided by engineer. */ -"Your subscription has expired.\n\nThe program works in the non-activated mode.\n\nNow you can prolong or upgrade your subscription with a discount." = "Твая падпіска скончылася.\n\nПраграма працуе ў неактываваным рэжыме.\n\nЦяпер вы можаце падоўжыць або абнавіць падпіску са зніжкай."; +"Your subscription has expired.\n\nThe program works in the non-activated mode.\n\nNow you can prolong or upgrade your subscription with a discount." = "Ваша падпіска скончылася.\n\nПраграма працуе ў неактываваным рэжыме.\n\nЦяпер вы можаце працягнуць або абнавіць падпіску са зніжкай."; /* No comment provided by engineer. */ -"Your subscription is about to expire\n(%d days left).\n\nWe have a special offer for you." = "Ваша падпіска хутка скончыцца\n(засталося%d дзён).\n\nУ нас ёсць для вас спецыяльная прапанова."; +"Your subscription is about to expire\n(%d days left).\n\nWe have a special offer for you." = "Ваша падпіска хутка скончыцца\n(засталося %d дзён).\n\nУ нас ёсць для вас спецыяльная прапанова."; diff --git a/macos/ONLYOFFICE/be.lproj/Localizable.stringsdict b/macos/ONLYOFFICE/be.lproj/Localizable.stringsdict index 44129020f..de35b189f 100644 --- a/macos/ONLYOFFICE/be.lproj/Localizable.stringsdict +++ b/macos/ONLYOFFICE/be.lproj/Localizable.stringsdict @@ -40,10 +40,10 @@ The trial period will end in %d days, after that you will not be able to create You are using a trial version of the application. The trial period will end in %d days, after that you will not be able to create and edit documents. one - Вы выкарыстоўваеце пробную версію прыкладання. + Вы выкарыстоўваеце пробную версію праграмы. Пробны перыяд скончыцца праз %d дзень, пасля чаго вы не зможаце ствараць і рэдагаваць дакументы. other - Вы выкарыстоўваеце пробную версію прыкладання. + Вы выкарыстоўваеце пробную версію праграмы. Пробны перыяд скончыцца праз %d дзён, пасля чаго вы не зможаце ствараць і рэдагаваць дакументы.. @@ -62,9 +62,9 @@ The trial period will end in %d days, after that you will not be able to create many You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting? one - У вас ёсць %ld%@ дакумент з непацверджанымі зменамі. Вы хочаце перагледзець гэтыя змены, перш чым пакінуць старонку? + У вас ёсць %ld%@ дакумент з непацверджанымі зменамі. Хочаце пераглядзець гэтыя змены, перш чым пакінуць старонку? other - У вас ёсць %ld%@ дакументаў з непацверджанымі зменамі. Вы хочаце перагледзець гэтыя змены, перш чым пакінуць старонку? + У вас ёсць %ld%@ дакументаў з непацверджанымі зменамі. Хочаце пераглядзець гэтыя змены, перш чым пакінуць старонку? diff --git a/macos/ONLYOFFICE/be.lproj/Main.strings b/macos/ONLYOFFICE/be.lproj/Main.strings index ea17dbf9c..39d102e11 100644 --- a/macos/ONLYOFFICE/be.lproj/Main.strings +++ b/macos/ONLYOFFICE/be.lproj/Main.strings @@ -2,7 +2,7 @@ "1b7-l0-nxx.title" = "Знайсці"; /* Class = "NSMenuItem"; title = "Lower"; ObjectID = "1tx-W0-xDw"; */ -"1tx-W0-xDw.title" = "Знізіць"; +"1tx-W0-xDw.title" = "Ніжэй"; /* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */ "1UK-8n-QPP.title" = "Наладзіць панэль інструментаў…"; @@ -11,19 +11,19 @@ "1Xt-HY-uBw.title" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Raise"; ObjectID = "2h7-ER-AoG"; */ -"2h7-ER-AoG.title" = "Падняць"; +"2h7-ER-AoG.title" = "Вышэй"; /* Class = "NSMenuItem"; title = "Transformations"; ObjectID = "2oI-Rn-ZJC"; */ -"2oI-Rn-ZJC.title" = "Пераўтварэнні"; +"2oI-Rn-ZJC.title" = "Трансфармацыі"; /* Class = "NSMenu"; title = "Spelling"; ObjectID = "3IN-sU-3Bg"; */ -"3IN-sU-3Bg.title" = "Арфаграфія"; +"3IN-sU-3Bg.title" = "Правапіс"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "3Om-Ey-2VK"; */ -"3Om-Ey-2VK.title" = "Выкарыстаць па змаўчанні"; +"3Om-Ey-2VK.title" = "Выкарыстаць прадвызначаны"; /* Class = "NSMenu"; title = "Speech"; ObjectID = "3rS-ZA-NoH"; */ -"3rS-ZA-NoH.title" = "Мова"; +"3rS-ZA-NoH.title" = "Маўленне"; /* Class = "NSMenuItem"; title = "Find"; ObjectID = "4EN-yA-p0u"; */ "4EN-yA-p0u.title" = "Знайсці"; @@ -32,10 +32,10 @@ "4et-TX-a4m.title" = "Ліцэнзійнае пагадненне"; /* Class = "NSMenuItem"; title = "Quit ONLYOFFICE"; ObjectID = "4sb-4s-VLi"; */ -"4sb-4s-VLi.title" = "Пакінуць ONLYOFFICE"; +"4sb-4s-VLi.title" = "Выйсці з ONLYOFFICE"; /* Class = "NSMenuItem"; title = "About ONLYOFFICE"; ObjectID = "5kV-Vb-QxS"; */ -"5kV-Vb-QxS.title" = "Аб ONLYOFFICE"; +"5kV-Vb-QxS.title" = "Пра ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */ "5QF-Oa-p0T.title" = "Рэдагаваць"; @@ -44,37 +44,37 @@ "5Vv-lz-BsD.title" = "Скапіяваць стыль"; /* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */ -"6dh-zS-Vam.title" = "Перарабіць"; +"6dh-zS-Vam.title" = "Паўтарыць"; /* Class = "NSButtonCell"; title = "License agreement"; ObjectID = "8Ga-Cu-VGe"; */ "8Ga-Cu-VGe.title" = "Ліцэнзійнае пагадненне"; /* Class = "NSMenu"; title = "Writing Direction"; ObjectID = "8mr-sm-Yjd"; */ -"8mr-sm-Yjd.title" = "Напрамак напісання"; +"8mr-sm-Yjd.title" = "Кірунак напісання"; /* Class = "NSMenuItem"; title = "New"; ObjectID = "9aQ-wl-gjS"; */ -"9aQ-wl-gjS.title" = "Новы"; +"9aQ-wl-gjS.title" = "Стварыць"; /* Class = "NSTextFieldCell"; title = "none"; ObjectID = "9i7-kj-42B"; */ -"9i7-kj-42B.title" = "ніякі"; +"9i7-kj-42B.title" = "няма"; /* Class = "NSMenuItem"; title = "Substitutions"; ObjectID = "9ic-FL-obx"; */ "9ic-FL-obx.title" = "Замены"; /* Class = "NSMenuItem"; title = "Smart Copy/Paste"; ObjectID = "9yt-4B-nSM"; */ -"9yt-4B-nSM.title" = "Разумная Копія/Устаўка"; +"9yt-4B-nSM.title" = "Разумнае капіяванне/Устаўлянне"; /* Class = "NSMenuItem"; title = "Tighten"; ObjectID = "46P-cB-AYj"; */ -"46P-cB-AYj.title" = "Зацягнуць"; +"46P-cB-AYj.title" = "Падцягнуць"; /* Class = "NSMenuItem"; title = "Correct Spelling Automatically"; ObjectID = "78Y-hA-62v"; */ -"78Y-hA-62v.title" = "Аўтаматычна выправіць правапіс"; +"78Y-hA-62v.title" = "Аўтаматычна выпраўляць правапіс"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "agt-UL-0e3"; */ -"agt-UL-0e3.title" = "Выкарыстаць па змаўчанні"; +"agt-UL-0e3.title" = "Выкарыстоўваць прадвызначаны"; /* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */ -"aTl-1u-JFS.title" = "Раздрукаваць…"; +"aTl-1u-JFS.title" = "Друкаваць…"; /* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */ "aUF-d1-5bR.title" = "Акно"; @@ -89,31 +89,31 @@ "BgM-ve-c93.title" = "\tЗлева направа"; /* Class = "NSMenuItem"; title = "Show Colors"; ObjectID = "bgn-CT-cEk"; */ -"bgn-CT-cEk.title" = "Паказаць колеры"; +"bgn-CT-cEk.title" = "Паказваць колеры"; /* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */ "bib-Uj-vzu.title" = "Файл"; /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ -"BOF-NM-1cW.title" = "Параметры…"; +"BOF-NM-1cW.title" = "Налады…"; /* Class = "NSMenuItem"; title = "Use Selection for Find"; ObjectID = "buJ-ug-pKt"; */ -"buJ-ug-pKt.title" = "Выкарыстаць Выбар для пошуку"; +"buJ-ug-pKt.title" = "Выкарыстаць вылучанае для пошуку"; /* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "Bw7-FT-i3A"; */ "Bw7-FT-i3A.title" = "Захаваць як…"; /* Class = "NSMenu"; title = "Transformations"; ObjectID = "c8a-y6-VQd"; */ -"c8a-y6-VQd.title" = "Пераўтварэнні"; +"c8a-y6-VQd.title" = "Трансфармацыі"; /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "cDB-IK-hbR"; */ "cDB-IK-hbR.title" = "Не выкарыстоўваць"; /* Class = "NSMenuItem"; title = "Acknowledgments"; ObjectID = "CJU-dx-a9l"; */ -"CJU-dx-a9l.title" = "Апавяшчэння"; +"CJU-dx-a9l.title" = "Пацвярджэнні"; /* Class = "NSMenuItem"; title = "Selection"; ObjectID = "cqv-fj-IhA"; */ -"cqv-fj-IhA.title" = "Выбар"; +"cqv-fj-IhA.title" = "Вылучэнне"; /* Class = "NSMenuItem"; title = "Smart Links"; ObjectID = "cwL-P1-jid"; */ "cwL-P1-jid.title" = "Разумныя спасылкі"; @@ -131,16 +131,16 @@ "DOj-j9-dza.title" = "Табліца"; /* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */ -"dRJ-4n-Yzg.title" = "Адмяніць"; +"dRJ-4n-Yzg.title" = "Адрабіць"; /* Class = "NSMenuItem"; title = "Spelling and Grammar"; ObjectID = "Dv1-io-Yv7"; */ -"Dv1-io-Yv7.title" = "Арфаграфія і граматыка"; +"Dv1-io-Yv7.title" = "Правапіс і граматыка"; /* Class = "NSMenuItem"; title = "Close"; ObjectID = "DVo-aG-piG"; */ -"DVo-aG-piG.title" = "Зачыніць"; +"DVo-aG-piG.title" = "Закрыць"; /* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */ -"F2S-fz-NVQ.title" = "Дапамога"; +"F2S-fz-NVQ.title" = "Даведка"; /* Class = "NSMenuItem"; title = "Text"; ObjectID = "Fal-I4-PZk"; */ "Fal-I4-PZk.title" = "Тэкст"; @@ -155,7 +155,7 @@ "FoF-wl-Dxi.title" = "Імя карыстальніка"; /* Class = "NSMenuItem"; title = "Bold"; ObjectID = "GB9-OM-e27"; */ -"GB9-OM-e27.title" = "Тлусты шрыфт"; +"GB9-OM-e27.title" = "Тоўсты"; /* Class = "NSMenu"; title = "Format"; ObjectID = "GEO-Iw-cKr"; */ "GEO-Iw-cKr.title" = "Фармат"; @@ -167,22 +167,22 @@ "gm3-6i-EnL.title" = "Назва файла"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "GUa-eO-cwY"; */ -"GUa-eO-cwY.title" = "Выкарыстаць па змаўчанні"; +"GUa-eO-cwY.title" = "Выкарыстоўваць прадвызначаны"; /* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */ "gVA-U4-sdL.title" = "Уставіць"; /* Class = "NSMenuItem"; title = "Writing Direction"; ObjectID = "H1b-Si-o9J"; */ -"H1b-Si-o9J.title" = "Напрамак напісання"; +"H1b-Si-o9J.title" = "Кірунак напісання"; /* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */ "H8h-7b-M4v.title" = "Прагляд"; /* Class = "NSMenu"; title = "New"; ObjectID = "hD5-Cz-ItX"; */ -"hD5-Cz-ItX.title" = "Новы"; +"hD5-Cz-ItX.title" = "Стварыць"; /* Class = "NSMenuItem"; title = "Show Spelling and Grammar"; ObjectID = "HFo-cy-zxI"; */ -"HFo-cy-zxI.title" = "Паказаць арфаграфію і граматыку"; +"HFo-cy-zxI.title" = "Паказваць правапіс і граматыку"; /* Class = "NSMenuItem"; title = "Text Replacement"; ObjectID = "HFQ-gK-NFA"; */ "HFQ-gK-NFA.title" = "Замена тэксту"; @@ -197,10 +197,10 @@ "HyV-fh-RgO.title" = "Прагляд"; /* Class = "NSMenuItem"; title = "Check Document Now"; ObjectID = "hz2-CU-CR7"; */ -"hz2-CU-CR7.title" = "Праверыць дакумент зараз"; +"hz2-CU-CR7.title" = "Праверыць дакумент"; /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ -"hz9-B4-Xy5.title" = "Паслугі"; +"hz9-B4-Xy5.title" = "Сэрвісы"; /* Class = "NSMenuItem"; title = "Subscript"; ObjectID = "I0S-gh-46l"; */ "I0S-gh-46l.title" = "Індэкс"; @@ -212,13 +212,13 @@ "IAo-SY-fd9.title" = "Адкрыць…"; /* Class = "NSMenu"; title = "Baseline"; ObjectID = "ijk-EB-dga"; */ -"ijk-EB-dga.title" = "Зыходная лінія"; +"ijk-EB-dga.title" = "Базавая лінія"; /* Class = "NSWindow"; title = "ONLYOFFICE"; ObjectID = "IQv-IB-iLA"; */ "IQv-IB-iLA.title" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Justify"; ObjectID = "J5U-5w-g23"; */ -"J5U-5w-g23.title" = "Абгрунтуйце"; +"J5U-5w-g23.title" = "Выраўнаваць"; /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "J7y-lM-qPV"; */ "J7y-lM-qPV.title" = "Не выкарыстоўваць"; @@ -251,28 +251,28 @@ "LVM-kO-fVI.title" = "Уставіць лінейку"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "m0C-e9-0oc"; */ -"m0C-e9-0oc.title" = "Адмяніць"; +"m0C-e9-0oc.title" = "Скасаваць"; /* Class = "NSMenuItem"; title = "Check Grammar With Spelling"; ObjectID = "mK6-2p-4JG"; */ -"mK6-2p-4JG.title" = "Праверыць граматыку з правапісам"; +"mK6-2p-4JG.title" = "Правяранне граматыкі і правапісу"; /* Class = "NSMenuItem"; title = "Copy Ruler"; ObjectID = "MkV-Pr-PK5"; */ "MkV-Pr-PK5.title" = "Скапіяваць лінейку"; /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ -"NMo-om-nkz.title" = "Паслугі"; +"NMo-om-nkz.title" = "Сэрвісы"; /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "Nop-cj-93Q"; */ -"Nop-cj-93Q.title" = "\tПа змаўчанні"; +"Nop-cj-93Q.title" = "\tПрадвызначана"; /* Class = "NSMenuItem"; title = "Ligatures"; ObjectID = "o6e-r0-MWq"; */ "o6e-r0-MWq.title" = "Лігатуры"; /* Class = "NSMenuItem"; title = "Baseline"; ObjectID = "OaQ-X3-Vso"; */ -"OaQ-X3-Vso.title" = "Зыходная лінія"; +"OaQ-X3-Vso.title" = "Базавая лінія"; /* Class = "NSMenu"; title = "Open Recent"; ObjectID = "oas-Oc-fiZ"; */ -"oas-Oc-fiZ.title" = "Адкрыць Апошнія"; +"oas-Oc-fiZ.title" = "Адкрыць нядаўнія"; /* Class = "NSMenuItem"; title = "Loosen"; ObjectID = "ogc-rX-tC1"; */ "ogc-rX-tC1.title" = "Паслабіць"; @@ -284,7 +284,7 @@ "OwM-mh-QMV.title" = "Знайсці папярэдняе"; /* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */ -"OY7-WF-poV.title" = "Мінімізаваць"; +"OY7-WF-poV.title" = "Згарнуць"; /* Class = "NSMenuItem"; title = "Stop Speaking"; ObjectID = "Oyz-dy-DGm"; */ "Oyz-dy-DGm.title" = "Перастаньце гаварыць"; @@ -305,7 +305,7 @@ "q09-fT-Sye.title" = "Знайсці наступнае"; /* Class = "NSMenuItem"; title = "Page Setup…"; ObjectID = "qIS-W8-SiK"; */ -"qIS-W8-SiK.title" = "Налада старонкі…"; +"qIS-W8-SiK.title" = "Наладжванне старонкі…"; /* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */ "R4o-n2-Eq4.title" = "Павялічыць"; @@ -314,34 +314,34 @@ "RB4-Sm-HuC.title" = "\tСправа налева"; /* Class = "NSMenuItem"; title = "Check Spelling While Typing"; ObjectID = "rbD-Rh-wIN"; */ -"rbD-Rh-wIN.title" = "Правяраць арфаграфію падчас набору тэксту"; +"rbD-Rh-wIN.title" = "Правяраць правапіс падчас уводу тэксту"; /* Class = "NSMenuItem"; title = "Smart Dashes"; ObjectID = "rgM-f4-ycn"; */ "rgM-f4-ycn.title" = "Разумныя працяжнікі"; /* Class = "NSButtonCell"; title = "Close"; ObjectID = "Riu-oE-8dj"; */ -"Riu-oE-8dj.title" = "Зачыніць"; +"Riu-oE-8dj.title" = "Закрыць"; /* Class = "NSTextFieldCell"; title = "none"; ObjectID = "Rkd-xb-FRJ"; */ -"Rkd-xb-FRJ.title" = "ніякі"; +"Rkd-xb-FRJ.title" = "няма"; /* Class = "NSButtonCell"; title = "Logout"; ObjectID = "RmO-tv-UKh"; */ -"RmO-tv-UKh.title" = "Выйсці з сістэмы"; +"RmO-tv-UKh.title" = "Выйсці"; /* Class = "NSMenuItem"; title = "Superscript"; ObjectID = "Rqc-34-cIF"; */ "Rqc-34-cIF.title" = "Верхні індэкс"; /* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */ -"Ruw-6m-B2m.title" = "Выбраць усё"; +"Ruw-6m-B2m.title" = "Абраць усё"; /* Class = "NSMenuItem"; title = "Jump to Selection"; ObjectID = "S0p-oC-mLd"; */ -"S0p-oC-mLd.title" = "Перайсці да выбару"; +"S0p-oC-mLd.title" = "Перайсці да вылучэння"; /* Class = "NSTextFieldCell"; title = "Copyright info"; ObjectID = "sGd-zc-V0B"; */ -"sGd-zc-V0B.title" = "Інфармацыя аб аўтарскім праве"; +"sGd-zc-V0B.title" = "Інфармацыя пра аўтарскія правы"; /* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */ -"snW-S8-Cw5.title" = "Паказаць панэль інструментаў"; +"snW-S8-Cw5.title" = "Паказваць панэль інструментаў"; /* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */ "Td7-aD-5lo.title" = "Акно"; @@ -353,13 +353,13 @@ "tlD-Oa-oAM.title" = "Керн"; /* Class = "NSMenuItem"; title = "Data Detectors"; ObjectID = "tRr-pd-1PS"; */ -"tRr-pd-1PS.title" = "Дэтэктары дадзеных"; +"tRr-pd-1PS.title" = "Дэтэктары даных"; /* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "tXI-mr-wws"; */ -"tXI-mr-wws.title" = "Адкрыць Апошнія"; +"tXI-mr-wws.title" = "Адкрыць нядаўнія"; /* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "ud7-wC-A79"; */ -"ud7-wC-A79.title" = "Праверыць наяўнасць абнаўленняў…"; +"ud7-wC-A79.title" = "Праверыць на наяўнасць абнаўленняў…"; /* Class = "NSMenuItem"; title = "Capitalize"; ObjectID = "UEZ-Bs-lqG"; */ "UEZ-Bs-lqG.title" = "З вялікай літары"; @@ -371,10 +371,10 @@ "uRl-iY-unG.title" = "Выразаць"; /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ -"Vdr-fp-XzO.title" = "Схаваць Иншыя"; +"Vdr-fp-XzO.title" = "Схаваць іншыя"; /* Class = "NSMenuItem"; title = "Center"; ObjectID = "VIY-Ag-zcb"; */ -"VIY-Ag-zcb.title" = "Сцэнтраваць"; +"VIY-Ag-zcb.title" = "Па цэнтры"; /* Class = "NSMenuItem"; title = "Italic"; ObjectID = "Vjx-xi-njq"; */ "Vjx-xi-njq.title" = "Курсіў"; @@ -383,7 +383,7 @@ "vKC-jM-MkH.title" = "Уставіць стыль"; /* Class = "NSMenuItem"; title = "Show Ruler"; ObjectID = "vLm-3I-IUL"; */ -"vLm-3I-IUL.title" = "Паказаць лінейку"; +"vLm-3I-IUL.title" = "Паказваць лінейку"; /* Class = "NSMenuItem"; title = "Make Upper Case"; ObjectID = "vmV-6d-7jI"; */ "vmV-6d-7jI.title" = "Зрабіць з вялікай літары"; @@ -398,7 +398,7 @@ "W48-6f-4Dl.title" = "Рэдагаваць"; /* Class = "NSMenuItem"; title = "Align Right"; ObjectID = "wb2-vD-lq4"; */ -"wb2-vD-lq4.title" = "Выраўнаць па правым краі"; +"wb2-vD-lq4.title" = "Выраўнаваць па правым краі"; /* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */ "WeT-3V-zwk.title" = "Уставіць і супаставіць стыль"; @@ -407,10 +407,10 @@ "wpe-8d-5DV.title" = "Тэкставая ячэйка"; /* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */ -"wpr-3q-Mcd.title" = "Дапамога"; +"wpr-3q-Mcd.title" = "Даведка"; /* Class = "NSMenuItem"; title = "Underline"; ObjectID = "WRG-CD-K1S"; */ -"WRG-CD-K1S.title" = "Падкрэсліць"; +"WRG-CD-K1S.title" = "Падкрэслены"; /* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */ "x3v-GG-iWU.title" = "Скапіяваць"; @@ -419,10 +419,10 @@ "xCO-ey-2lo.title" = "Прадукт"; /* Class = "NSMenuItem"; title = "Use All"; ObjectID = "xQD-1f-W4t"; */ -"xQD-1f-W4t.title" = "Выкарыстаць усе"; +"xQD-1f-W4t.title" = "Выкарыстоўваць усе"; /* Class = "NSMenuItem"; title = "Speech"; ObjectID = "xrE-MZ-jX0"; */ -"xrE-MZ-jX0.title" = "Мова"; +"xrE-MZ-jX0.title" = "Маўленне"; /* Class = "NSMenuItem"; title = "Find…"; ObjectID = "Xz5-n4-O0W"; */ "Xz5-n4-O0W.title" = "Знайсці…"; @@ -431,19 +431,19 @@ "YEy-JH-Tfz.title" = "Знайсці і замяніць…"; /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "YGs-j5-SAR"; */ -"YGs-j5-SAR.title" = "\tПа змаўчанні"; +"YGs-j5-SAR.title" = "\tПрадвызначана"; /* Class = "NSMenuItem"; title = "Start Speaking"; ObjectID = "Ynk-f8-cLZ"; */ "Ynk-f8-cLZ.title" = "Пачніце гаварыць"; /* Class = "NSMenuItem"; title = "Show Substitutions"; ObjectID = "z6F-FW-3nz"; */ -"z6F-FW-3nz.title" = "Паказаць замену"; +"z6F-FW-3nz.title" = "Паказваць замены"; /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "ZbA-hc-8PE"; */ "ZbA-hc-8PE.title" = "Версія"; /* Class = "NSMenuItem"; title = "Align Left"; ObjectID = "ZM1-6Q-yy1"; */ -"ZM1-6Q-yy1.title" = "Выраўнаць па левым краі"; +"ZM1-6Q-yy1.title" = "Выраўнаваць па левым краі"; /* Class = "NSTextFieldCell"; title = "Email:"; ObjectID = "Zsi-3o-ASl"; */ "Zsi-3o-ASl.title" = "Адрас электроннай пошты:"; diff --git a/macos/ONLYOFFICE/be.lproj/MoveApplication.strings b/macos/ONLYOFFICE/be.lproj/MoveApplication.strings index 52052b43f..99e1ccb50 100644 --- a/macos/ONLYOFFICE/be.lproj/MoveApplication.strings +++ b/macos/ONLYOFFICE/be.lproj/MoveApplication.strings @@ -1,24 +1,24 @@ /* No comment provided by engineer. */ -"Could not move to Applications folder" = "Немагчыма перамясціць у папку прыкладанняў"; +"Could not move to Applications folder" = "Немагчыма перамясціць у каталог праграм"; /* No comment provided by engineer. */ -"Do Not Move" = "Не рухаць"; +"Do Not Move" = "Не перамяшчаць"; /* No comment provided by engineer. */ -"I can move myself to the Applications folder if you'd like." = "Я магу перамясціцца ў папку Прыкладанні, калі хочаце."; +"I can move myself to the Applications folder if you'd like." = "Я магу перамясціцца ў каталог праграм, калі хочаце."; /* No comment provided by engineer. */ -"Move to Applications Folder" = "Перамясціць у папку прыкладанняў"; +"Move to Applications Folder" = "Перамясціць у каталог праграм"; /* No comment provided by engineer. */ -"Move to Applications folder in your Home folder?" = "Перамясціць у папку прыкладанняў у вашай хатняй папцы?"; +"Move to Applications folder in your Home folder?" = "Перамясціць у каталог праграм у вашым хатнім каталозе?"; /* No comment provided by engineer. */ -"Move to Applications folder?" = "Перамясціць у папку прыкладанняў?"; +"Move to Applications folder?" = "Перамясціць у каталог праграм?"; /* No comment provided by engineer. */ "Note that this will require an administrator password." = "Звярніце ўвагу, што для гэтага спатрэбіцца пароль адміністратара."; /* No comment provided by engineer. */ -"This will keep your Downloads folder uncluttered." = "Гэта захавае папку Загрузкі незахламленай."; +"This will keep your Downloads folder uncluttered." = "Гэта дазваляе падтрымліваць парадак у каталозе спампаваных файлаў."; diff --git a/macos/ONLYOFFICE/be.lproj/Presentation-Reporter.strings b/macos/ONLYOFFICE/be.lproj/Presentation-Reporter.strings index ccd55f599..566ca2937 100644 --- a/macos/ONLYOFFICE/be.lproj/Presentation-Reporter.strings +++ b/macos/ONLYOFFICE/be.lproj/Presentation-Reporter.strings @@ -1,3 +1,3 @@ /* Class = "NSWindow"; title = "Reporter Window"; ObjectID = "Ygx-5K-Hn8"; */ -"Ygx-5K-Hn8.title" = "Акно дакладчыка"; +"Ygx-5K-Hn8.title" = "Акно рэжыму дакладчыка"; diff --git a/macos/ONLYOFFICE/bg-BG.lproj/Localizable.strings b/macos/ONLYOFFICE/bg-BG.lproj/Localizable.strings index bafd050b2..2b3900b9c 100644 --- a/macos/ONLYOFFICE/bg-BG.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/bg-BG.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Документ %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Документ %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Шаблон за документ (*.dotx)"; diff --git a/macos/ONLYOFFICE/ca.lproj/Localizable.strings b/macos/ONLYOFFICE/ca.lproj/Localizable.strings index b44a40460..b32dac7a3 100644 --- a/macos/ONLYOFFICE/ca.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ca.lproj/Localizable.strings @@ -41,10 +41,10 @@ "Document %ld.docx" = "Document %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Plantilla de document Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Document %ld.docxf"; /* No comment provided by engineer. */ -"Electronic Publication" = "Publicació electronica (*.epub)"; +"Document template" = "Plantilla de document Word Open XML (*.dotx)"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Full de càlcul Excel 97-2003 (*.xls)"; @@ -67,18 +67,12 @@ /* No comment provided by engineer. */ "Hide %@" = "Ocultar %@"; -/* No comment provided by engineer. */ -"HTML File" = "Fitxer HTML (*.html)"; - /* No comment provided by engineer. */ "If you have already purchased %@, you should find your activation key in an email confirmation." = "Si ja has comprat %@, hauries de trobar la clau d'activació en un correu electronic de confirmació."; /* No comment provided by engineer. */ "License Agreement" = "Acord de llicència"; -/* No comment provided by engineer. */ -"MHT File" = "Fitxer MHT (*.mht)"; - /* No comment provided by engineer. */ "Mobipocket e-book" = "Llibre electrònic de butxaca (*.mobi)"; @@ -128,13 +122,13 @@ "PDF File" = "Document portàtil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Document portàtil / A (*.pdf)"; +"PDF/A File" = "Document portàtil /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Text pla (*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "Presentació de diapositives PowerPoint 97-2003 (*.ppt)"; +"PowerPoint 97-2003 Presentation" = "Presentació PowerPoint 97-2003 (*.ppt)"; /* No comment provided by engineer. */ "PowerPoint 2007 Presentation" = "Presentació Office Open XML (*.pptx)"; diff --git a/macos/ONLYOFFICE/cs.lproj/Localizable.strings b/macos/ONLYOFFICE/cs.lproj/Localizable.strings index 2d0b04672..ce5556777 100644 --- a/macos/ONLYOFFICE/cs.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/cs.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Šablona dokumentu Word Open XML (*.dotx)"; diff --git a/macos/ONLYOFFICE/da-DK.lproj/Localizable.strings b/macos/ONLYOFFICE/da-DK.lproj/Localizable.strings index 18808fe22..34bcc0c01 100644 --- a/macos/ONLYOFFICE/da-DK.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/da-DK.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Dokumentskabelon (*.dotx)"; @@ -47,7 +50,7 @@ "Excel 97-2003 Spreadsheet" = "Excel 97-2003-regneark (*.xls)"; /* No comment provided by engineer. */ -"Excel 2007 Spreadsheet" = "Office Open XML-regneark (*.docx)"; +"Excel 2007 Spreadsheet" = "Office Open XML-regneark (*.xlsx)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "Fil \"%@\" kan ikke åbnes eller eksisterer ikke."; @@ -104,7 +107,7 @@ "Opening" = "Åbner"; /* No comment provided by engineer. */ -"OpenOffice Document" = "OpenDocument Tekstfil (*.odt) "; +"OpenOffice Document" = "OpenDocument Tekstfil (*.odt)"; /* No comment provided by engineer. */ "OpenOffice Presentation" = "OpenDocument Præsentation (*.odp)"; diff --git a/macos/ONLYOFFICE/de.lproj/Localizable.strings b/macos/ONLYOFFICE/de.lproj/Localizable.strings index cc4e57e16..80b3a111f 100644 --- a/macos/ONLYOFFICE/de.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/de.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Dokument %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Word Open XML-Dokumentvorlage (*.dotx)"; +"Document %ld.docxf" = "Dokument %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "Nicht speichern"; +"Document template" = "Word Open XML-Dokumentvorlage (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Elektronische Publikation (*.epub)"; +"Don't Save" = "Nicht speichern"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Excel 97-2003-Tabellenkalkulation (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "%@ verbergen"; -/* No comment provided by engineer. */ -"HTML File" = "Fichier HyperText Markup Language-Datei (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Wenn Sie Ihre Dokumente nicht überprüfen, gehen alle Änderungen verloren."; @@ -83,7 +80,10 @@ "License Agreement" = "Lizenzvereinbarung"; /* No comment provided by engineer. */ -"MHT File" = "Webseiten-Archiv (*.mht)"; +"Macro-enabled Presentation" = "Präsentation mit aktivierten Makros (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Vorlage der Tabellenkalkulation mit aktivierten Makros (*.xltm)"; /* No comment provided by engineer. */ "Mobipocket e-book" = "Mobipocket-Datei (*.mobi)"; @@ -134,7 +134,7 @@ "PDF File" = "Portables Dokumentenformat (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Portables Dokumentenformat / A (*.pdf)"; +"PDF/A File" = "Portables Dokumentenformat /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Textdatei (*.txt)"; diff --git a/macos/ONLYOFFICE/el-GR.lproj/Localizable.strings b/macos/ONLYOFFICE/el-GR.lproj/Localizable.strings index 600d15e5d..d561a6c1c 100644 --- a/macos/ONLYOFFICE/el-GR.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/el-GR.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Έγγραφο %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Έγγραφο %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Πρότυπο εγγράφου Word με ανοιχτή μορφή XML (*.dotx)"; @@ -47,7 +50,7 @@ "Excel 97-2003 Spreadsheet" = "Υπολογιστικό φύλλο Excel 97-2003 (*.xls)"; /* No comment provided by engineer. */ -"Excel 2007 Spreadsheet" = "Υπολογιστικό φύλλο Office με ανοιχτή μορφή XML (*.xlsx)"; +"Excel 2007 Spreadsheet" = "Υπολογιστικό φύλλο Office με ανοιχτή μορφή XML (*.xlsx)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "Το αρχείο \"%@\" δεν μπορεί να ανοιχθεί ή δεν υπάρχει."; @@ -119,10 +122,10 @@ "PDF File" = "Φορητό έγγραφο (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Φορητό έγγραφο / A (*.pdf)"; +"PDF/A File" = "Φορητό έγγραφο /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Απλό κείμενο (*.txt)"; +"Plain Text" = "Αρχείο απλού κειμένου (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "Παρουσίαση PowerPoint 97-2003 (*.ppt)"; diff --git a/macos/ONLYOFFICE/es.lproj/Localizable.strings b/macos/ONLYOFFICE/es.lproj/Localizable.strings index c49524307..5938ccc23 100644 --- a/macos/ONLYOFFICE/es.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/es.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Documento %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Plantilla de documento Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Documento %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "No guardar"; +"Document template" = "Plantilla de documento Word Open XML (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Archivo de publicación electrónica (*.epub)"; +"Don't Save" = "No guardar"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Hoja de cálculo Excel 97-2003 (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Esconder %@"; -/* No comment provided by engineer. */ -"HTML File" = "Archivo de lenguaje de marcado de hipertexto (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Si no revisa sus documentos, todos sus cambios se perderán."; @@ -83,7 +80,10 @@ "License Agreement" = "Acuerdo de Licencia"; /* No comment provided by engineer. */ -"MHT File" = "Archivo de página web (*.mht)"; +"Macro-enabled Presentation" = "Presentación compatible con macros (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Plantilla de hoja de cálculo compatible con macros (*.xltm)"; /* No comment provided by engineer. */ "Mobipocket e-book" = "Archivo Mobipocket (*.mobi)"; @@ -134,16 +134,16 @@ "PDF File" = "Documento portátil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Documento portátil / A (*.pdf)"; +"PDF/A File" = "Documento portátil /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Archivo de texto sin formato (*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "Hoja de cálculo Excel 97-2003 (*.xls)"; +"PowerPoint 97-2003 Presentation" = "Presentación PowerPoint 97-2003 (*.ppt)"; /* No comment provided by engineer. */ -"PowerPoint 2007 Presentation" = "Hoja de cálculo Office Open XML (*.xlsx)"; +"PowerPoint 2007 Presentation" = "Presentación Office Open XML (*.pptx)"; /* No comment provided by engineer. */ "PowerPoint Slide Show" = "Presentación con diapositivas Office Open XML (*.ppsx)"; diff --git a/macos/ONLYOFFICE/et-EE.lproj/Document-Sign.strings b/macos/ONLYOFFICE/et-EE.lproj/Document-Sign.strings index 7c757d27f..f9d6a6f97 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/Document-Sign.strings +++ b/macos/ONLYOFFICE/et-EE.lproj/Document-Sign.strings @@ -1,36 +1,36 @@ /* Class = "NSTextFieldCell"; title = "Enter the password for the private key."; ObjectID = "1dL-nN-bJI"; */ -"1dL-nN-bJI.title" = "Sisesta salasõna privaatse võtme jaoks.Sisesta salasõna privaatse võtme jaoks."; +"1dL-nN-bJI.title" = "Sisesta salasõna privaatse võtme jaoks."; /* Class = "NSTextFieldCell"; title = "Enter the password for the digital signature."; ObjectID = "1Fy-mg-aq9"; */ -"1Fy-mg-aq9.title" = "Sisesta salasõna digitaalse allkirja jaoks.Sisesta salasõna digitaalse allkirja jaoks."; +"1Fy-mg-aq9.title" = "Sisesta salasõna digitaalse allkirja jaoks."; /* Class = "NSTextFieldCell"; title = "Specify the digital signature file for the document."; ObjectID = "2Ck-6y-ygx"; */ -"2Ck-6y-ygx.title" = "Täpsusta digitaalse allkirja fail dokumendi jaoks.Täpsusta digitaalse allkirja fail dokumendi jaoks."; +"2Ck-6y-ygx.title" = "Täpsusta digitaalse allkirja fail dokumendi jaoks."; /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "4gA-s8-Lne"; */ -"4gA-s8-Lne.placeholderString" = "Sisesta salasõnaSisesta salasõna"; +"4gA-s8-Lne.placeholderString" = "Sisesta salasõna"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "GOU-av-TC1"; */ -"GOU-av-TC1.title" = "TühistaTühista"; +"GOU-av-TC1.title" = "Tühista"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "jpH-3g-Gt5"; */ -"jpH-3g-Gt5.title" = "TühistaTühista"; +"jpH-3g-Gt5.title" = "Tühista"; /* Class = "NSButtonCell"; title = "Load a Private Key"; ObjectID = "P3k-kI-w22"; */ -"P3k-kI-w22.title" = "Laadi privaatne võtiLaadi privaatne võti"; +"P3k-kI-w22.title" = "Laadi privaatne võti"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "qZ4-0O-L0G"; */ -"qZ4-0O-L0G.title" = "TühistaTühista"; +"qZ4-0O-L0G.title" = "Tühista"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "RbM-Dq-A3K"; */ -"RbM-Dq-A3K.title" = "TühistaTühista"; +"RbM-Dq-A3K.title" = "Tühista"; /* Class = "NSTextFieldCell"; title = "Specify a private key for the digital signature."; ObjectID = "Tfc-EF-VnS"; */ -"Tfc-EF-VnS.title" = "Täpsusta privaatse võtme jaoks digitaalne salasõna.Täpsusta privaatse võtme jaoks digitaalne salasõna."; +"Tfc-EF-VnS.title" = "Täpsusta privaatse võtme jaoks digitaalne salasõna."; /* Class = "NSButtonCell"; title = "Load Signature"; ObjectID = "tTF-wa-eJp"; */ -"tTF-wa-eJp.title" = "Laadi allkiriLaadi allkiri"; +"tTF-wa-eJp.title" = "Laadi allkiri"; /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "Zj5-0h-hpW"; */ -"Zj5-0h-hpW.placeholderString" = "Sisesta salasõnaSisesta salasõna"; +"Zj5-0h-hpW.placeholderString" = "Sisesta salasõna"; diff --git a/macos/ONLYOFFICE/et-EE.lproj/Localizable.strings b/macos/ONLYOFFICE/et-EE.lproj/Localizable.strings index 903e27690..0b47d36b7 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/et-EE.lproj/Localizable.strings @@ -1,17 +1,17 @@ /* No comment provided by engineer. */ -"%@ Help" = "%@Abi%@Abi"; +"%@ Help" = "%@Abi"; /* No comment provided by engineer. */ -"About %@" = "Umbes %@Umbes %@"; +"About %@" = "Umbes %@"; /* No comment provided by engineer. */ -"Acknowledgments" = "TunnustusedTunnustused"; +"Acknowledgments" = "Tunnustused"; /* No comment provided by engineer. */ "Before signing the document, it must be saved." = "Enne dokumendi allkirjastamist tuleb see salvestada."; /* No comment provided by engineer. */ -"Cancel" = "TühistaTühista"; +"Cancel" = "Tühista"; /* No comment provided by engineer. */ "Cannot open file of Digital Signature" = "Ei saa avada digitaalse allkirja faili"; @@ -23,25 +23,28 @@ "Cannot open folder of the file location." = "Ei saa avada faili otsingu kausta."; /* No comment provided by engineer. */ -"Comma-Separated Values" = "Komaga eraldatud väärtused (*.csv)Komaga eraldatud väärtused (*.csv)"; +"Comma-Separated Values" = "Komaga eraldatud väärtused (*.csv)"; /* No comment provided by engineer. */ "Create portal" = "Loo portaal"; /* No comment provided by engineer. */ -"Delete and Quit" = "Kustuta ja LoobuKustuta ja Loobu"; +"Delete and Quit" = "Kustuta ja Loobu"; /* No comment provided by engineer. */ -"DjVu File" = "Digitaalne dokument (*.djvu)Digitaalne dokument (*.djvu)"; +"DjVu File" = "Digitaalne dokument (*.djvu)"; /* No comment provided by engineer. */ -"Do you want to save the changes made to the document \"%@\"?" = "Kas sa soovid dokumendis tehtud muudatused salvestada“%@“?Kas sa soovid dokumendis tehtud muudatused salvestada“%@“?"; +"Do you want to save the changes made to the document \"%@\"?" = "Kas sa soovid dokumendis tehtud muudatused salvestada“%@“?"; /* No comment provided by engineer. */ -"Document %ld.docx" = "Dokument %ld.docxDokument %ld.docx"; +"Document %ld.docx" = "Dokument %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Dokumendi šabloonWord Open XML dokument šabloon (*.dotx)"; +"Document %ld.docxf" = "Dokument %ld.docxf"; + +/* No comment provided by engineer. */ +"Document template" = "Word Open XML dokument šabloon (*.dotx)"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Excel 97-2003 arvutustabel (*.xls)"; @@ -50,28 +53,28 @@ "Excel 2007 Spreadsheet" = "Office avatud XML arvutustabel (*.xlsx)"; /* No comment provided by engineer. */ -"File \"%@\" can not be open or not exist." = "Faili „%@“ ei saa avada või seda ei eksisteeri.Faili „%@“ ei saa avada või seda ei eksisteeri."; +"File \"%@\" can not be open or not exist." = "Faili „%@“ ei saa avada või seda ei eksisteeri."; /* No comment provided by engineer. */ -"File can not be open." = "Faili ei saa avada.Faili ei saa avada."; +"File can not be open." = "Faili ei saa avada."; /* No comment provided by engineer. */ -"File Format:" = "Faili formaat:Faili formaat:"; +"File Format:" = "Faili formaat:"; /* No comment provided by engineer. */ -"Hide %@" = "Peida %@Peida %@"; +"Hide %@" = "Peida %@"; /* No comment provided by engineer. */ -"If you don't review your documents, all your changeses will be lost." = "Kui sa ei vaata oma dokumente uuesti üle, kõik su muudatused lähevad kaotsi.Kui sa ei vaata oma dokumente uuesti üle, kõik su muudatused lähevad kaotsi."; +"If you don't review your documents, all your changeses will be lost." = "Kui sa ei vaata oma dokumente uuesti üle, kõik su muudatused lähevad kaotsi."; /* No comment provided by engineer. */ -"If you have already purchased %@, you should find your activation key in an email confirmation." = "Kui sa oled juba ostnud %@, leiad oma aktiveerimis võtme kinnitus meililt.Kui sa oled juba ostnud %@, leiad oma aktiveerimis võtme kinnitus meililt."; +"If you have already purchased %@, you should find your activation key in an email confirmation." = "Kui sa oled juba ostnud %@, leiad oma aktiveerimis võtme kinnitus meililt."; /* No comment provided by engineer. */ -"License Agreement" = "LitsentsilepingLitsentsileping"; +"License Agreement" = "Litsentsileping"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "Mobipocket e-raamatMobipocket e-raamat (*.mobi)"; +"Mobipocket e-book" = "Mobipocket e-raamat (*.mobi)"; /* No comment provided by engineer. */ "new-document" = "Uus Dokument"; @@ -86,25 +89,25 @@ "No" = "Ei"; /* No comment provided by engineer. */ -"OK" = "OKOK"; +"OK" = "OK"; /* No comment provided by engineer. */ -"ONLYOFFICE can not open the Digital Signature file. Try opening another file." = "ONLYOFFICE ei saa avada digitaalse allkirja faili.Proovi avada muud faili."; +"ONLYOFFICE can not open the Digital Signature file. Try opening another file." = "ONLYOFFICE ei saa avada digitaalse allkirja faili. Proovi avada muud faili."; /* No comment provided by engineer. */ -"ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE ei saa avada privaatset võtit.Proovi avada muud faili."; +"ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE ei saa avada privaatset võtit. Proovi avada muud faili."; /* No comment provided by engineer. */ -"OpenDocument Document Template" = "OpenDocument Dokumendi šabloonOpenDocument dokumendi šabloon (*.ott)"; +"OpenDocument Document Template" = "OpenDocument dokumendi šabloon (*.ott)"; /* No comment provided by engineer. */ -"OpenDocument Presentation Template" = "OpenDocument Estitluse šabloonOpenDocument esitluse šabloon(*.otp)"; +"OpenDocument Presentation Template" = "OpenDocument esitluse šabloon(*.otp)"; /* No comment provided by engineer. */ -"OpenDocument Spreadsheet Template" = "OpenDocument Arvutustabeli šabloonOpenDocument arvutustabeli šabloon (*.ots)"; +"OpenDocument Spreadsheet Template" = "OpenDocument arvutustabeli šabloon (*.ots)"; /* No comment provided by engineer. */ -"Opening" = "AvamineAvamine"; +"Opening" = "Avamine"; /* No comment provided by engineer. */ "OpenOffice Document" = "OpenDocument teksti fail (*.odt)"; @@ -119,10 +122,10 @@ "PDF File" = "Porditav document (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "PDF/A FailPorditav document / A (*.pdf)"; +"PDF/A File" = "Porditav document /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Tavaline TekstTavaline Tekst (*.txt)"; +"Plain Text" = "Tavaline Tekst (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 esitlus (*.ppt)"; @@ -134,58 +137,58 @@ "PowerPoint Slide Show" = "Office Open XML pildiesitlus (*.ppsx)"; /* No comment provided by engineer. */ -"Preparing..." = "Valmistumine...Valmistumine..."; +"Preparing..." = "Valmistumine..."; /* No comment provided by engineer. */ -"Presentation %ld.pptx" = "Esitlus %ld.pptxEsitlus %ld.pptx"; +"Presentation %ld.pptx" = "Esitlus %ld.pptx"; /* No comment provided by engineer. */ -"Presentation template" = "Esitluse šabloonPowerPoint Open XML esitluse šabloon (*.potx)"; +"Presentation template" = "PowerPoint Open XML esitluse šabloon (*.potx)"; /* No comment provided by engineer. */ -"Quit %@" = "Loobu %@Loobu %@"; +"Quit %@" = "Loobu %@"; /* No comment provided by engineer. */ -"Review Changes..." = "Vaata muutused üle...Vaata muutused üle..."; +"Review Changes..." = "Vaata muutused üle..."; /* No comment provided by engineer. */ "Rich Text Document" = "Rikkaliku Teksti Dokument (*.rtf)"; /* No comment provided by engineer. */ -"Save" = "SalvestaSalvesta"; +"Save" = "Salvesta"; /* No comment provided by engineer. */ "Save the document?" = "Salvesta dokument?"; /* No comment provided by engineer. */ -"Spreadsheet %ld.xlsx" = "Arvutustabel %ld.xlsxArvutustabel %ld.xlsx"; +"Spreadsheet %ld.xlsx" = "Arvutustabel %ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "Arvutustabeli šabloonExcel Open XML arvutustabeli šabloon (*.xltx)"; +"Spreadsheet template" = "Excel Open XML arvutustabeli šabloon (*.xltx)"; /* No comment provided by engineer. */ -"Thank you for evaluating %@!" = "Aitäh, et hindasite %@!Aitäh, et hindasite %@!"; +"Thank you for evaluating %@!" = "Aitäh, et hindasite %@!"; /* No comment provided by engineer. */ -"The document \"%@\" must be built. Continue?" = "Dokument „%@“ tuleb luua.Jätka?"; +"The document \"%@\" must be built. Continue?" = "Dokument „%@“ tuleb luua. Jätka?"; /* No comment provided by engineer. */ "To open the file location, it must be saved." = "Et avada faili asukoht, tuleb see eelnevalt salvestada."; /* No comment provided by engineer. */ -"Unconfirmed" = "KinnitamataKinnitamata"; +"Unconfirmed" = "Kinnitamata"; /* No comment provided by engineer. */ -"Untitled" = "PealkirjataPealkirjata"; +"Untitled" = "Pealkirjata"; /* No comment provided by engineer. */ "Version %@ (%@)" = "Versioon %1$@ (%2$@)"; /* No comment provided by engineer. */ -"Web Page" = "VeebilehtVeebileht"; +"Web Page" = "Veebileht"; /* No comment provided by engineer. */ -"Word 97-2003 Document" = "Word 97-2003 document (*.doc)"; +"Word 97-2003 Document" = "Word 97-2003 dokument (*.doc)"; /* No comment provided by engineer. */ "Word 2007 Document" = "Office avatud XML dokument (*.docx)"; @@ -194,16 +197,16 @@ "XML Paper Specification" = "OpenXPS dokument (*.xps)"; /* No comment provided by engineer. */ -"Yes" = "JahJah"; +"Yes" = "Jah"; /* No comment provided by engineer. */ -"You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting?" = "Sul on %1$ld %2$@ dokumendid kinnitamata muudatustega. Soovid need enne loobumist üle vaadata?Sul on %1$ld %2$@ dokumendid kinnitamata muudatustega. Soovid need enne loobumist üle vaadata?"; +"You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting?" = "Sul on %1$ld %2$@ dokumendid kinnitamata muudatustega. Soovid need enne loobumist üle vaadata?"; /* No comment provided by engineer. */ -"You have successfully activated %@." = "Sa oled edukalt aktiveerinud %@.Sa oled edukalt aktiveerinud %@."; +"You have successfully activated %@." = "Sa oled edukalt aktiveerinud %@."; /* No comment provided by engineer. */ -"Your changes will be lost if you don’t save them." = "Sinu muudatused lähevad kaotsi, kui sa neid ei salvesta.Sinu muudatused lähevad kaotsi, kui sa neid ei salvesta."; +"Your changes will be lost if you don’t save them." = "Sinu muudatused lähevad kaotsi, kui sa neid ei salvesta."; /* No comment provided by engineer. */ "Your subscription has expired.\n\nThe program works in the non-activated mode.\n\nNow you can prolong or upgrade your subscription with a discount." = "Sinu tellimus on aegunud.\n\nProgramm töötab mitte aktiveeritud režiimis.\n\nNüüd saad pikendada või uuendada oma tellimust soodustusega."; diff --git a/macos/ONLYOFFICE/et-EE.lproj/Localizable.stringsdict b/macos/ONLYOFFICE/et-EE.lproj/Localizable.stringsdict index e09c12cbb..6178cbd7f 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/Localizable.stringsdict +++ b/macos/ONLYOFFICE/et-EE.lproj/Localizable.stringsdict @@ -5,7 +5,7 @@ %d days are left until the license expiration. NSStringLocalizedFormatKey - %#@päeva@%#@päeva@ + %#@päeva@ days NSStringFormatSpecTypeKey @@ -13,16 +13,16 @@ NSStringFormatValueTypeKey d one - %D päev on jäänud litsentsi aegumiseni.%D päev on jäänud litsentsi aegumiseni. + %D päev on jäänud litsentsi aegumiseni. other - %D päeva on jäänud litsentsi aegumiseni.%D päeva on jäänud litsentsi aegumiseni. + %D päeva on jäänud litsentsi aegumiseni. You are using a trial version of the application. The trial period will end in %d days, after that you will not be able to create and edit documents. NSStringLocalizedFormatKey - %#@päeva@%#@päeva@ + %#@päeva@ days NSStringFormatSpecTypeKey @@ -40,7 +40,7 @@ Prooviperiood lõpeb %d päeva pärast. Peale seda ei saa luua ega muuta dokumen You have %ld %@ documents with unconfirmed changes. Do you want to review these changes before quitting? NSStringLocalizedFormatKey - %#@dokumendid@%#@dokumendid@ + %#@dokumendid@ documents NSStringFormatSpecTypeKey @@ -48,9 +48,9 @@ Prooviperiood lõpeb %d päeva pärast. Peale seda ei saa luua ega muuta dokumen NSStringFormatValueTypeKey ld one - Sul on %ld%@ dokument kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist?Sul on %ld%@ dokument kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist? + Sul on %ld%@ dokument kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist? other - Sul on %ld%@ dokumendid kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist?Sul on %ld%@ dokumendid kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist? + Sul on %ld%@ dokumendid kinnitamata muudatustega. Soovid need muudatused üle vaadata enne loobumist? diff --git a/macos/ONLYOFFICE/et-EE.lproj/Main.strings b/macos/ONLYOFFICE/et-EE.lproj/Main.strings index 58521dcac..49cd7d718 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/Main.strings +++ b/macos/ONLYOFFICE/et-EE.lproj/Main.strings @@ -1,456 +1,456 @@ /* Class = "NSMenu"; title = "Find"; ObjectID = "1b7-l0-nxx"; */ -"1b7-l0-nxx.title" = "LeiaLeia"; +"1b7-l0-nxx.title" = "Leia"; /* Class = "NSMenuItem"; title = "Lower"; ObjectID = "1tx-W0-xDw"; */ -"1tx-W0-xDw.title" = "AlumineAlumine"; +"1tx-W0-xDw.title" = "Alumine"; /* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */ -"1UK-8n-QPP.title" = "Kohanda TööriistaribaKohanda Tööriistariba"; +"1UK-8n-QPP.title" = "Kohanda Tööriistariba"; /* Class = "NSMenuItem"; title = "ONLYOFFICE"; ObjectID = "1Xt-HY-uBw"; */ -"1Xt-HY-uBw.title" = "ONLYOFFICEONLYOFFICE"; +"1Xt-HY-uBw.title" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Raise"; ObjectID = "2h7-ER-AoG"; */ -"2h7-ER-AoG.title" = "ÜlemineÜlemine"; +"2h7-ER-AoG.title" = "Ülemine"; /* Class = "NSMenuItem"; title = "Transformations"; ObjectID = "2oI-Rn-ZJC"; */ -"2oI-Rn-ZJC.title" = "MuudatusedMuudatused"; +"2oI-Rn-ZJC.title" = "Muudatused"; /* Class = "NSMenu"; title = "Spelling"; ObjectID = "3IN-sU-3Bg"; */ -"3IN-sU-3Bg.title" = "ÕigekiriÕigekiri"; +"3IN-sU-3Bg.title" = "Õigekiri"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "3Om-Ey-2VK"; */ -"3Om-Ey-2VK.title" = "Kasuta vaikimisiKasuta vaikimisi"; +"3Om-Ey-2VK.title" = "Kasuta vaikimisi"; /* Class = "NSMenu"; title = "Speech"; ObjectID = "3rS-ZA-NoH"; */ -"3rS-ZA-NoH.title" = "RäägiKõne"; +"3rS-ZA-NoH.title" = "Kõne"; /* Class = "NSMenuItem"; title = "Find"; ObjectID = "4EN-yA-p0u"; */ -"4EN-yA-p0u.title" = "LeiaLeia"; +"4EN-yA-p0u.title" = "Leia"; /* Class = "NSMenuItem"; title = "License Agreement"; ObjectID = "4et-TX-a4m"; */ -"4et-TX-a4m.title" = "LitsentsilepingLitsentsileping"; +"4et-TX-a4m.title" = "Litsentsileping"; /* Class = "NSMenuItem"; title = "Quit ONLYOFFICE"; ObjectID = "4sb-4s-VLi"; */ -"4sb-4s-VLi.title" = "Loobu ONLYOFFICELoobu ONLYOFFICE"; +"4sb-4s-VLi.title" = "Loobu ONLYOFFICE"; /* Class = "NSMenuItem"; title = "About ONLYOFFICE"; ObjectID = "5kV-Vb-QxS"; */ -"5kV-Vb-QxS.title" = "Rohkem ONLYOFFICE’ltRohkem ONLYOFFICE’lt"; +"5kV-Vb-QxS.title" = "Rohkem ONLYOFFICE’lt"; /* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */ -"5QF-Oa-p0T.title" = "MuudaMuuda"; +"5QF-Oa-p0T.title" = "Muuda"; /* Class = "NSMenuItem"; title = "Copy Style"; ObjectID = "5Vv-lz-BsD"; */ -"5Vv-lz-BsD.title" = "Kopeeri StiilKopeeri Stiil"; +"5Vv-lz-BsD.title" = "Kopeeri Stiil"; /* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */ -"6dh-zS-Vam.title" = "Tee uuestiTee uuesti"; +"6dh-zS-Vam.title" = "Tee uuesti"; /* Class = "NSButtonCell"; title = "License agreement"; ObjectID = "8Ga-Cu-VGe"; */ -"8Ga-Cu-VGe.title" = "LitsentsilepingLitsentsileping"; +"8Ga-Cu-VGe.title" = "Litsentsileping"; /* Class = "NSMenu"; title = "Writing Direction"; ObjectID = "8mr-sm-Yjd"; */ -"8mr-sm-Yjd.title" = "Kirjutamise KirjeldusKirjutamise Kirjeldus"; +"8mr-sm-Yjd.title" = "Kirjutamise Kirjeldus"; /* Class = "NSMenuItem"; title = "New"; ObjectID = "9aQ-wl-gjS"; */ -"9aQ-wl-gjS.title" = "UusUus"; +"9aQ-wl-gjS.title" = "Uus"; /* Class = "NSTextFieldCell"; title = "none"; ObjectID = "9i7-kj-42B"; */ -"9i7-kj-42B.title" = "PuudubPuudub"; +"9i7-kj-42B.title" = "Puudub"; /* Class = "NSMenuItem"; title = "Substitutions"; ObjectID = "9ic-FL-obx"; */ -"9ic-FL-obx.title" = "AsendusAsendus"; +"9ic-FL-obx.title" = "Asendus"; /* Class = "NSMenuItem"; title = "Smart Copy/Paste"; ObjectID = "9yt-4B-nSM"; */ -"9yt-4B-nSM.title" = "Tark Kopeeri/KleebiTark Kopeeri/Kleebi"; +"9yt-4B-nSM.title" = "Tark Kopeeri/Kleebi"; /* Class = "NSMenuItem"; title = "Tighten"; ObjectID = "46P-cB-AYj"; */ -"46P-cB-AYj.title" = "TugevndaTugevnda"; +"46P-cB-AYj.title" = "Tugevnda"; /* Class = "NSMenuItem"; title = "Correct Spelling Automatically"; ObjectID = "78Y-hA-62v"; */ -"78Y-hA-62v.title" = "Paranda Õigekiri AutomaatseltParanda Õigekiri Automaatselt"; +"78Y-hA-62v.title" = "Paranda Õigekiri Automaatselt"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "agt-UL-0e3"; */ -"agt-UL-0e3.title" = "Kasuta vaikimisiKasuta vaikimisi"; +"agt-UL-0e3.title" = "Kasuta vaikimisi"; /* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */ -"aTl-1u-JFS.title" = "Prindi...Prindi..."; +"aTl-1u-JFS.title" = "Prindi..."; /* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */ -"aUF-d1-5bR.title" = "AkenAken"; +"aUF-d1-5bR.title" = "Aken"; /* Class = "NSMenu"; title = "Font"; ObjectID = "aXa-aM-Jaq"; */ -"aXa-aM-Jaq.title" = "FontFont"; +"aXa-aM-Jaq.title" = "Font"; /* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ -"AYu-sK-qS6.title" = "PeamenüüPeamenüü"; +"AYu-sK-qS6.title" = "Peamenüü"; /* Class = "NSMenuItem"; title = "\tLeft to Right"; ObjectID = "BgM-ve-c93"; */ "BgM-ve-c93.title" = "\tVasakult Paremale"; /* Class = "NSMenuItem"; title = "Show Colors"; ObjectID = "bgn-CT-cEk"; */ -"bgn-CT-cEk.title" = "Näita VärveNäita Värve"; +"bgn-CT-cEk.title" = "Näita Värve"; /* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */ -"bib-Uj-vzu.title" = "FailFail"; +"bib-Uj-vzu.title" = "Fail"; /* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */ -"BOF-NM-1cW.title" = "Eelistused...Eelistused..."; +"BOF-NM-1cW.title" = "Eelistused..."; /* Class = "NSMenuItem"; title = "Use Selection for Find"; ObjectID = "buJ-ug-pKt"; */ -"buJ-ug-pKt.title" = "Kasura Valikut et LeidaKasura Valikut et Leida"; +"buJ-ug-pKt.title" = "Kasura Valikut et Leida"; /* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "Bw7-FT-i3A"; */ -"Bw7-FT-i3A.title" = "Salvesta Kui...Salvesta Kui..."; +"Bw7-FT-i3A.title" = "Salvesta Kui..."; /* Class = "NSMenu"; title = "Transformations"; ObjectID = "c8a-y6-VQd"; */ -"c8a-y6-VQd.title" = "MuudatusedMuudatused"; +"c8a-y6-VQd.title" = "Muudatused"; /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "cDB-IK-hbR"; */ -"cDB-IK-hbR.title" = "Ära Kasuta ÜhtegiÄra Kasuta Ühtegi"; +"cDB-IK-hbR.title" = "Ära Kasuta Ühtegi"; /* Class = "NSMenuItem"; title = "Acknowledgments"; ObjectID = "CJU-dx-a9l"; */ -"CJU-dx-a9l.title" = "TunnustusedTunnustused"; +"CJU-dx-a9l.title" = "Tunnustused"; /* Class = "NSMenuItem"; title = "Selection"; ObjectID = "cqv-fj-IhA"; */ -"cqv-fj-IhA.title" = "ValikudValikud"; +"cqv-fj-IhA.title" = "Valikud"; /* Class = "NSMenuItem"; title = "Smart Links"; ObjectID = "cwL-P1-jid"; */ -"cwL-P1-jid.title" = "Nutikad LingidNutikad Lingid"; +"cwL-P1-jid.title" = "Nutikad Lingid"; /* Class = "NSMenu"; title = "Text"; ObjectID = "d9c-me-L2H"; */ -"d9c-me-L2H.title" = "TekstTekst"; +"d9c-me-L2H.title" = "Tekst"; /* Class = "NSMenuItem"; title = "Make Lower Case"; ObjectID = "d9M-CD-aMd"; */ -"d9M-CD-aMd.title" = "Tee Väikesteks TähtedeksTee Väikesteks Tähtedeks"; +"d9M-CD-aMd.title" = "Tee Väikesteks Tähtedeks"; /* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */ -"dMs-cI-mzQ.title" = "FailFail"; +"dMs-cI-mzQ.title" = "Fail"; /* Class = "NSMenuItem"; title = "Spreadsheet"; ObjectID = "DOj-j9-dza"; */ -"DOj-j9-dza.title" = "ArvutustabelArvutustabel"; +"DOj-j9-dza.title" = "Arvutustabel"; /* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */ -"dRJ-4n-Yzg.title" = "Võta TagasiVõta Tagasi"; +"dRJ-4n-Yzg.title" = "Võta Tagasi"; /* Class = "NSMenuItem"; title = "Spelling and Grammar"; ObjectID = "Dv1-io-Yv7"; */ -"Dv1-io-Yv7.title" = "Õigekiri ja GrammatikaÕigekiri ja Grammatika"; +"Dv1-io-Yv7.title" = "Õigekiri ja Grammatika"; /* Class = "NSMenuItem"; title = "Close"; ObjectID = "DVo-aG-piG"; */ -"DVo-aG-piG.title" = "SulgeSulge"; +"DVo-aG-piG.title" = "Sulge"; /* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */ -"F2S-fz-NVQ.title" = "AbiAbi"; +"F2S-fz-NVQ.title" = "Abi"; /* Class = "NSMenuItem"; title = "Text"; ObjectID = "Fal-I4-PZk"; */ -"Fal-I4-PZk.title" = "TekstTekst"; +"Fal-I4-PZk.title" = "Tekst"; /* Class = "NSMenu"; title = "Substitutions"; ObjectID = "FeM-D8-WVr"; */ -"FeM-D8-WVr.title" = "AsendusAsendus"; +"FeM-D8-WVr.title" = "Asendus"; /* Class = "NSMenuItem"; title = "Product Help"; ObjectID = "FKE-Sm-Kum"; */ -"FKE-Sm-Kum.title" = "Toote AbiToote Abi"; +"FKE-Sm-Kum.title" = "Toote Abi"; /* Class = "NSTextFieldCell"; title = "User Name"; ObjectID = "FoF-wl-Dxi"; */ -"FoF-wl-Dxi.title" = "KasutajanimiKasutajanimi"; +"FoF-wl-Dxi.title" = "Kasutajanimi"; /* Class = "NSMenuItem"; title = "Bold"; ObjectID = "GB9-OM-e27"; */ -"GB9-OM-e27.title" = "PoolpaksPoolpaks"; +"GB9-OM-e27.title" = "Poolpaks"; /* Class = "NSMenu"; title = "Format"; ObjectID = "GEO-Iw-cKr"; */ -"GEO-Iw-cKr.title" = "FormaatFormaat"; +"GEO-Iw-cKr.title" = "Formaat"; /* Class = "NSMenuItem"; title = "Font"; ObjectID = "Gi5-1S-RQB"; */ -"Gi5-1S-RQB.title" = "FontFont"; +"Gi5-1S-RQB.title" = "Font"; /* Class = "NSTextFieldCell"; title = "File Name"; ObjectID = "gm3-6i-EnL"; */ -"gm3-6i-EnL.title" = "Faili NimiFaili Nimi"; +"gm3-6i-EnL.title" = "Faili Nimi"; /* Class = "NSMenuItem"; title = "Use Default"; ObjectID = "GUa-eO-cwY"; */ -"GUa-eO-cwY.title" = "Kasuta vaikimisiKasuta vaikimisi"; +"GUa-eO-cwY.title" = "Kasuta vaikimisi"; /* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */ -"gVA-U4-sdL.title" = "KleebiKleebi"; +"gVA-U4-sdL.title" = "Kleebi"; /* Class = "NSMenuItem"; title = "Writing Direction"; ObjectID = "H1b-Si-o9J"; */ -"H1b-Si-o9J.title" = "Kirjutamise KirjeldusKirjutamise Kirjeldus"; +"H1b-Si-o9J.title" = "Kirjutamise Kirjeldus"; /* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */ -"H8h-7b-M4v.title" = "VaadeVaade"; +"H8h-7b-M4v.title" = "Vaade"; /* Class = "NSMenu"; title = "New"; ObjectID = "hD5-Cz-ItX"; */ -"hD5-Cz-ItX.title" = "UusUus"; +"hD5-Cz-ItX.title" = "Uus"; /* Class = "NSMenuItem"; title = "Show Spelling and Grammar"; ObjectID = "HFo-cy-zxI"; */ -"HFo-cy-zxI.title" = "Näita Õigekirja ja GrammatikatNäita Õigekirja ja Grammatikat"; +"HFo-cy-zxI.title" = "Näita Õigekirja ja Grammatikat"; /* Class = "NSMenuItem"; title = "Text Replacement"; ObjectID = "HFQ-gK-NFA"; */ -"HFQ-gK-NFA.title" = "Teksti AsendamineTeksti Asendamine"; +"HFQ-gK-NFA.title" = "Teksti Asendamine"; /* Class = "NSMenuItem"; title = "Presentation"; ObjectID = "hkB-TU-Ps1"; */ -"hkB-TU-Ps1.title" = "EsitlusEsitlus"; +"hkB-TU-Ps1.title" = "Esitlus"; /* Class = "NSMenuItem"; title = "Smart Quotes"; ObjectID = "hQb-2v-fYv"; */ -"hQb-2v-fYv.title" = "Nutikad TsitaadidNutikad Tsitaadid"; +"hQb-2v-fYv.title" = "Nutikad Tsitaadid"; /* Class = "NSMenu"; title = "View"; ObjectID = "HyV-fh-RgO"; */ -"HyV-fh-RgO.title" = "VaadeVaade"; +"HyV-fh-RgO.title" = "Vaade"; /* Class = "NSMenuItem"; title = "Check Document Now"; ObjectID = "hz2-CU-CR7"; */ -"hz2-CU-CR7.title" = "Vaata Dokumenti NüüdVaata Dokumenti Nüüd"; +"hz2-CU-CR7.title" = "Vaata Dokumenti Nüüd"; /* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ -"hz9-B4-Xy5.title" = "TeenusedTeenused"; +"hz9-B4-Xy5.title" = "Teenused"; /* Class = "NSMenuItem"; title = "Subscript"; ObjectID = "I0S-gh-46l"; */ -"I0S-gh-46l.title" = "IndeksIndeks"; +"I0S-gh-46l.title" = "Indeks"; /* Class = "NSMenuItem"; title = "Smaller"; ObjectID = "i1d-Er-qST"; */ -"i1d-Er-qST.title" = "VäiksemVäiksem"; +"i1d-Er-qST.title" = "Väiksem"; /* Class = "NSMenuItem"; title = "Open…"; ObjectID = "IAo-SY-fd9"; */ -"IAo-SY-fd9.title" = "Ava...Ava..."; +"IAo-SY-fd9.title" = "Ava..."; /* Class = "NSMenu"; title = "Baseline"; ObjectID = "ijk-EB-dga"; */ -"ijk-EB-dga.title" = "AlgtaseAlgtase"; +"ijk-EB-dga.title" = "Algtase"; /* Class = "NSWindow"; title = "ONLYOFFICE"; ObjectID = "IQv-IB-iLA"; */ -"IQv-IB-iLA.title" = "ONLYOFFICEONLYOFFICE"; +"IQv-IB-iLA.title" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Justify"; ObjectID = "J5U-5w-g23"; */ -"J5U-5w-g23.title" = "ÕigustaÕigusta"; +"J5U-5w-g23.title" = "Õigusta"; /* Class = "NSMenuItem"; title = "Use None"; ObjectID = "J7y-lM-qPV"; */ -"J7y-lM-qPV.title" = "Ära Kasuta ÜhtegiÄra Kasuta Ühtegi"; +"J7y-lM-qPV.title" = "Ära Kasuta Ühtegi"; /* Class = "NSMenuItem"; title = "Kern"; ObjectID = "jBQ-r6-VK2"; */ -"jBQ-r6-VK2.title" = "TähesobitusTähesobitus"; +"jBQ-r6-VK2.title" = "Tähesobitus"; /* Class = "NSMenuItem"; title = "\tRight to Left"; ObjectID = "jFq-tB-4Kx"; */ "jFq-tB-4Kx.title" = "Paremalt Vasakule"; /* Class = "NSMenuItem"; title = "Format"; ObjectID = "jxT-CU-nIS"; */ -"jxT-CU-nIS.title" = "FormaatFormaat"; +"jxT-CU-nIS.title" = "Formaat"; /* Class = "NSMenuItem"; title = "Revert to Saved"; ObjectID = "KaW-ft-85H"; */ -"KaW-ft-85H.title" = "Naase Salvestatud juurdeNaase Salvestatud juurde"; +"KaW-ft-85H.title" = "Naase Salvestatud juurde"; /* Class = "NSTabViewItem"; label = "ONLYOFFICE"; ObjectID = "kcg-El-49G"; */ -"kcg-El-49G.label" = "ONLYOFFICEONLYOFFICE"; +"kcg-El-49G.label" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ -"Kd2-mp-pUS.title" = "Näita KõikeNäita Kõike"; +"Kd2-mp-pUS.title" = "Näita Kõike"; /* Class = "NSMenuItem"; title = "\tLeft to Right"; ObjectID = "Lbh-J2-qVU"; */ "Lbh-J2-qVU.title" = "Vasakult Paremale"; /* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */ -"LE2-aR-0XJ.title" = "Too Kõik EtteToo Kõik Ette"; +"LE2-aR-0XJ.title" = "Too Kõik Ette"; /* Class = "NSMenuItem"; title = "Paste Ruler"; ObjectID = "LVM-kO-fVI"; */ -"LVM-kO-fVI.title" = "Kleebi JoonlaudKleebi Joonlaud"; +"LVM-kO-fVI.title" = "Kleebi Joonlaud"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "m0C-e9-0oc"; */ -"m0C-e9-0oc.title" = "TühistaTühista"; +"m0C-e9-0oc.title" = "Tühista"; /* Class = "NSMenuItem"; title = "Check Grammar With Spelling"; ObjectID = "mK6-2p-4JG"; */ -"mK6-2p-4JG.title" = "Kontrolli Grammatikat koos ÕigekirjagaKontrolli Grammatikat koos Õigekirjaga"; +"mK6-2p-4JG.title" = "Kontrolli Grammatikat koos Õigekirjaga"; /* Class = "NSMenuItem"; title = "Copy Ruler"; ObjectID = "MkV-Pr-PK5"; */ -"MkV-Pr-PK5.title" = "Kopeeri JoonlaudKopeeri Joonlaud"; +"MkV-Pr-PK5.title" = "Kopeeri Joonlaud"; /* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ -"NMo-om-nkz.title" = "TeenusedTeenused"; +"NMo-om-nkz.title" = "Teenused"; /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "Nop-cj-93Q"; */ "Nop-cj-93Q.title" = "\tVaikimisi"; /* Class = "NSMenuItem"; title = "Ligatures"; ObjectID = "o6e-r0-MWq"; */ -"o6e-r0-MWq.title" = "LiittähedLiittähed"; +"o6e-r0-MWq.title" = "Liittähed"; /* Class = "NSMenuItem"; title = "Baseline"; ObjectID = "OaQ-X3-Vso"; */ -"OaQ-X3-Vso.title" = "AlgtaseAlgtase"; +"OaQ-X3-Vso.title" = "Algtase"; /* Class = "NSMenu"; title = "Open Recent"; ObjectID = "oas-Oc-fiZ"; */ -"oas-Oc-fiZ.title" = "Ava HiljutineAva Hiljutine"; +"oas-Oc-fiZ.title" = "Ava Hiljutine"; /* Class = "NSMenuItem"; title = "Loosen"; ObjectID = "ogc-rX-tC1"; */ -"ogc-rX-tC1.title" = "LõdvendaLõdvenda"; +"ogc-rX-tC1.title" = "Lõdvenda"; /* Class = "NSMenuItem"; title = "Hide ONLYOFFICE"; ObjectID = "Olw-nP-bQN"; */ -"Olw-nP-bQN.title" = "Peida ONLYOFFICEPeida ONLYOFFICE"; +"Olw-nP-bQN.title" = "Peida ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Find Previous"; ObjectID = "OwM-mh-QMV"; */ -"OwM-mh-QMV.title" = "Leia EelnevLeia Eelnev"; +"OwM-mh-QMV.title" = "Leia Eelnev"; /* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */ -"OY7-WF-poV.title" = "MinimeeriMinimeeri"; +"OY7-WF-poV.title" = "Minimeeri"; /* Class = "NSMenuItem"; title = "Stop Speaking"; ObjectID = "Oyz-dy-DGm"; */ -"Oyz-dy-DGm.title" = "Lõpeta RääkimineLõpeta Rääkimine"; +"Oyz-dy-DGm.title" = "Lõpeta Rääkimine"; /* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */ -"pa3-QI-u2k.title" = "KustutaKustuta"; +"pa3-QI-u2k.title" = "Kustuta"; /* Class = "NSMenuItem"; title = "Bigger"; ObjectID = "Ptp-SP-VEL"; */ -"Ptp-SP-VEL.title" = "SuuremSuurem"; +"Ptp-SP-VEL.title" = "Suurem"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "pxx-59-PXV"; */ -"pxx-59-PXV.title" = "SalvestaSalvesta"; +"pxx-59-PXV.title" = "Salvesta"; /* Class = "NSMenuItem"; title = "Show Fonts"; ObjectID = "Q5e-8K-NDq"; */ -"Q5e-8K-NDq.title" = "Näita FonteNäita Fonte"; +"Q5e-8K-NDq.title" = "Näita Fonte"; /* Class = "NSMenuItem"; title = "Find Next"; ObjectID = "q09-fT-Sye"; */ -"q09-fT-Sye.title" = "Leia JärgmineLeia Järgmine"; +"q09-fT-Sye.title" = "Leia Järgmine"; /* Class = "NSMenuItem"; title = "Page Setup…"; ObjectID = "qIS-W8-SiK"; */ -"qIS-W8-SiK.title" = "Lehekülge Seaded...Lehekülge Seaded..."; +"qIS-W8-SiK.title" = "Lehekülge Seaded..."; /* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */ -"R4o-n2-Eq4.title" = "SuumiSuumi"; +"R4o-n2-Eq4.title" = "Suumi"; /* Class = "NSMenuItem"; title = "\tRight to Left"; ObjectID = "RB4-Sm-HuC"; */ "RB4-Sm-HuC.title" = "\tParemalt Vasakule"; /* Class = "NSMenuItem"; title = "Check Spelling While Typing"; ObjectID = "rbD-Rh-wIN"; */ -"rbD-Rh-wIN.title" = "Kontrolli Õigekirja samal ajal kirjutadesKontrolli Õigekirja samal ajal kirjutades"; +"rbD-Rh-wIN.title" = "Kontrolli Õigekirja samal ajal kirjutades"; /* Class = "NSMenuItem"; title = "Smart Dashes"; ObjectID = "rgM-f4-ycn"; */ -"rgM-f4-ycn.title" = "Nutikad LisandidNutikad Lisandid"; +"rgM-f4-ycn.title" = "Nutikad Lisandid"; /* Class = "NSButtonCell"; title = "Close"; ObjectID = "Riu-oE-8dj"; */ -"Riu-oE-8dj.title" = "SulgeSulge"; +"Riu-oE-8dj.title" = "Sulge"; /* Class = "NSTextFieldCell"; title = "none"; ObjectID = "Rkd-xb-FRJ"; */ -"Rkd-xb-FRJ.title" = "PuudubPuudub"; +"Rkd-xb-FRJ.title" = "Puudub"; /* Class = "NSButtonCell"; title = "Logout"; ObjectID = "RmO-tv-UKh"; */ -"RmO-tv-UKh.title" = "Logi väljaLogi välja"; +"RmO-tv-UKh.title" = "Logi välja"; /* Class = "NSMenuItem"; title = "Superscript"; ObjectID = "Rqc-34-cIF"; */ -"Rqc-34-cIF.title" = "PealiskiriPealiskiri"; +"Rqc-34-cIF.title" = "Pealiskiri"; /* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */ -"Ruw-6m-B2m.title" = "Vali KõikVali Kõik"; +"Ruw-6m-B2m.title" = "Vali Kõik"; /* Class = "NSMenuItem"; title = "Jump to Selection"; ObjectID = "S0p-oC-mLd"; */ -"S0p-oC-mLd.title" = "Hüppa ValikutesseHüppa Valikutesse"; +"S0p-oC-mLd.title" = "Hüppa Valikutesse"; /* Class = "NSTextFieldCell"; title = "Copyright info"; ObjectID = "sGd-zc-V0B"; */ -"sGd-zc-V0B.title" = "Autoriõiguste teaveAutoriõiguste teave"; +"sGd-zc-V0B.title" = "Autoriõiguste teave"; /* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */ -"snW-S8-Cw5.title" = "Näita TööriistaribaNäita Tööriistariba"; +"snW-S8-Cw5.title" = "Näita Tööriistariba"; /* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */ -"Td7-aD-5lo.title" = "AkenAken"; +"Td7-aD-5lo.title" = "Aken"; /* Class = "NSMenuItem"; title = "Document"; ObjectID = "TEm-B8-gsH"; */ -"TEm-B8-gsH.title" = "DokumentDokument"; +"TEm-B8-gsH.title" = "Dokument"; /* Class = "NSMenu"; title = "Kern"; ObjectID = "tlD-Oa-oAM"; */ -"tlD-Oa-oAM.title" = "TähesobitusTähesobitus"; +"tlD-Oa-oAM.title" = "Tähesobitus"; /* Class = "NSMenuItem"; title = "Data Detectors"; ObjectID = "tRr-pd-1PS"; */ -"tRr-pd-1PS.title" = "Andmete LeidjaAndmete Leidja"; +"tRr-pd-1PS.title" = "Andmete Leidja"; /* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "tXI-mr-wws"; */ -"tXI-mr-wws.title" = "Ava HiljutineAva Hiljutine"; +"tXI-mr-wws.title" = "Ava Hiljutine"; /* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "ud7-wC-A79"; */ -"ud7-wC-A79.title" = "Kontrolli UuendusiKontrolli Uuendusi"; +"ud7-wC-A79.title" = "Kontrolli Uuendusi"; /* Class = "NSMenuItem"; title = "Capitalize"; ObjectID = "UEZ-Bs-lqG"; */ -"UEZ-Bs-lqG.title" = "Kasuta suuri tähtiKasuta suuri tähti"; +"UEZ-Bs-lqG.title" = "Kasuta suuri tähti"; /* Class = "NSMenu"; title = "ONLYOFFICE"; ObjectID = "uQy-DD-JDr"; */ -"uQy-DD-JDr.title" = "ONLYOFFICEONLYOFFICE"; +"uQy-DD-JDr.title" = "ONLYOFFICE"; /* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */ -"uRl-iY-unG.title" = "LõikaLõika"; +"uRl-iY-unG.title" = "Lõika"; /* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ -"Vdr-fp-XzO.title" = "Peida TeisedPeida Teised"; +"Vdr-fp-XzO.title" = "Peida Teised"; /* Class = "NSMenuItem"; title = "Center"; ObjectID = "VIY-Ag-zcb"; */ -"VIY-Ag-zcb.title" = "KeskelKeskel"; +"VIY-Ag-zcb.title" = "Keskel"; /* Class = "NSMenuItem"; title = "Italic"; ObjectID = "Vjx-xi-njq"; */ -"Vjx-xi-njq.title" = "KaldkiriKaldkiri"; +"Vjx-xi-njq.title" = "Kaldkiri"; /* Class = "NSMenuItem"; title = "Paste Style"; ObjectID = "vKC-jM-MkH"; */ -"vKC-jM-MkH.title" = "Kleebi StiilKleebi Stiil"; +"vKC-jM-MkH.title" = "Kleebi Stiil"; /* Class = "NSMenuItem"; title = "Show Ruler"; ObjectID = "vLm-3I-IUL"; */ -"vLm-3I-IUL.title" = "Näita JoonlaudaNäita Joonlauda"; +"vLm-3I-IUL.title" = "Näita Joonlauda"; /* Class = "NSMenuItem"; title = "Make Upper Case"; ObjectID = "vmV-6d-7jI"; */ -"vmV-6d-7jI.title" = "Tee suurteks tähtedeksTee suurteks tähtedeks"; +"vmV-6d-7jI.title" = "Tee suurteks tähtedeks"; /* Class = "NSMenuItem"; title = "Clear Menu"; ObjectID = "vNY-rz-j42"; */ -"vNY-rz-j42.title" = "Puhasta MenüüPuhasta Menüü"; +"vNY-rz-j42.title" = "Puhasta Menüü"; /* Class = "NSMenu"; title = "Ligatures"; ObjectID = "w0m-vy-SC9"; */ -"w0m-vy-SC9.title" = "LiittähedLiittähed"; +"w0m-vy-SC9.title" = "Liittähed"; /* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */ -"W48-6f-4Dl.title" = "MuudaMuuda"; +"W48-6f-4Dl.title" = "Muuda"; /* Class = "NSMenuItem"; title = "Align Right"; ObjectID = "wb2-vD-lq4"; */ -"wb2-vD-lq4.title" = "Joonda ParemaleJoonda Paremale"; +"wb2-vD-lq4.title" = "Joonda Paremale"; /* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */ -"WeT-3V-zwk.title" = "Kleebi ja Sobita StiilKleebi ja Sobita Stiil"; +"WeT-3V-zwk.title" = "Kleebi ja Sobita Stiil"; /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "wpe-8d-5DV"; */ -"wpe-8d-5DV.title" = "Teksti KastTeksti Kast"; +"wpe-8d-5DV.title" = "Teksti Kast"; /* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */ -"wpr-3q-Mcd.title" = "AbiAbi"; +"wpr-3q-Mcd.title" = "Abi"; /* Class = "NSMenuItem"; title = "Underline"; ObjectID = "WRG-CD-K1S"; */ -"WRG-CD-K1S.title" = "AllajoonitudAllajoonitud"; +"WRG-CD-K1S.title" = "Allajoonitud"; /* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */ -"x3v-GG-iWU.title" = "KopeeriKopeeri"; +"x3v-GG-iWU.title" = "Kopeeri"; /* Class = "NSTextFieldCell"; title = "Product"; ObjectID = "xCO-ey-2lo"; */ -"xCO-ey-2lo.title" = "ToodeToode"; +"xCO-ey-2lo.title" = "Toode"; /* Class = "NSMenuItem"; title = "Use All"; ObjectID = "xQD-1f-W4t"; */ -"xQD-1f-W4t.title" = "Kasuta KõikiKasuta Kõiki"; +"xQD-1f-W4t.title" = "Kasuta Kõiki"; /* Class = "NSMenuItem"; title = "Speech"; ObjectID = "xrE-MZ-jX0"; */ -"xrE-MZ-jX0.title" = "KõneKõne"; +"xrE-MZ-jX0.title" = "Kõne"; /* Class = "NSMenuItem"; title = "Find…"; ObjectID = "Xz5-n4-O0W"; */ -"Xz5-n4-O0W.title" = "Leia...Leia..."; +"Xz5-n4-O0W.title" = "Leia..."; /* Class = "NSMenuItem"; title = "Find and Replace…"; ObjectID = "YEy-JH-Tfz"; */ -"YEy-JH-Tfz.title" = "Leia ja Asenda...Leia ja Asenda..."; +"YEy-JH-Tfz.title" = "Leia ja Asenda..."; /* Class = "NSMenuItem"; title = "\tDefault"; ObjectID = "YGs-j5-SAR"; */ "YGs-j5-SAR.title" = "Vaikimisi"; /* Class = "NSMenuItem"; title = "Start Speaking"; ObjectID = "Ynk-f8-cLZ"; */ -"Ynk-f8-cLZ.title" = "Alusta RääkimistAlusta Rääkimist"; +"Ynk-f8-cLZ.title" = "Alusta Rääkimist"; /* Class = "NSMenuItem"; title = "Show Substitutions"; ObjectID = "z6F-FW-3nz"; */ -"z6F-FW-3nz.title" = "Näita AsendamisiNäita Asendamisi"; +"z6F-FW-3nz.title" = "Näita Asendamisi"; /* Class = "NSTextFieldCell"; title = "Version"; ObjectID = "ZbA-hc-8PE"; */ -"ZbA-hc-8PE.title" = "VersioonVersioon"; +"ZbA-hc-8PE.title" = "Versioon"; /* Class = "NSMenuItem"; title = "Align Left"; ObjectID = "ZM1-6Q-yy1"; */ -"ZM1-6Q-yy1.title" = "Joonda VasakuleJoonda Vasakule"; +"ZM1-6Q-yy1.title" = "Joonda Vasakule"; /* Class = "NSTextFieldCell"; title = "Email:"; ObjectID = "Zsi-3o-ASl"; */ -"Zsi-3o-ASl.title" = "Email:Email:"; +"Zsi-3o-ASl.title" = "Email:"; /* Class = "NSMenuItem"; title = "Paragraph"; ObjectID = "ZvO-Gk-QUH"; */ -"ZvO-Gk-QUH.title" = "ParagrahvParagrahv"; +"ZvO-Gk-QUH.title" = "Paragrahv"; /* Class = "NSTextFieldCell"; title = "Portal:"; ObjectID = "zwS-9G-S0N"; */ -"zwS-9G-S0N.title" = "Portaal:Portaal:"; +"zwS-9G-S0N.title" = "Portaal:"; diff --git a/macos/ONLYOFFICE/et-EE.lproj/MoveApplication.strings b/macos/ONLYOFFICE/et-EE.lproj/MoveApplication.strings index 9ccb15d8f..62d8c74ec 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/MoveApplication.strings +++ b/macos/ONLYOFFICE/et-EE.lproj/MoveApplication.strings @@ -1,24 +1,24 @@ /* No comment provided by engineer. */ -"Could not move to Applications folder" = "Ei saanud liigutada Rakenduste kaustaEi saanud liigutada Rakenduste kausta"; +"Could not move to Applications folder" = "Ei saanud liigutada Rakenduste kausta"; /* No comment provided by engineer. */ -"Do Not Move" = "Ära LiigutaÄra Liiguta"; +"Do Not Move" = "Ära Liiguta"; /* No comment provided by engineer. */ -"I can move myself to the Applications folder if you'd like." = "Ma saan ennast liigutada Rakenduste kausta, kui sa soovid.Ma saan ennast liigutada Rakenduste kausta, kui sa soovid."; +"I can move myself to the Applications folder if you'd like." = "Ma saan ennast liigutada Rakenduste kausta, kui sa soovid."; /* No comment provided by engineer. */ -"Move to Applications Folder" = "Liiguta Rakenduste KaustaLiiguta Rakenduste Kausta"; +"Move to Applications Folder" = "Liiguta Rakenduste Kausta"; /* No comment provided by engineer. */ -"Move to Applications folder in your Home folder?" = "Liiguta Rakenduste kausta sinu Kodu kaustas?Liiguta Rakenduste kausta sinu Kodu kaustas?"; +"Move to Applications folder in your Home folder?" = "Liiguta Rakenduste kausta sinu Kodu kaustas?"; /* No comment provided by engineer. */ -"Move to Applications folder?" = "Liiguta Rakenduste kausta? Liiguta Rakenduste kausta?"; +"Move to Applications folder?" = "Liiguta Rakenduste kausta?"; /* No comment provided by engineer. */ -"Note that this will require an administrator password." = "Pane tähele, et see vaja andministraatori salasõna.Pane tähele, et see vaja andministraatori salasõna."; +"Note that this will require an administrator password." = "Pane tähele, et see vaja andministraatori salasõna."; /* No comment provided by engineer. */ -"This will keep your Downloads folder uncluttered." = "See hoiab sinu Allalaetud failide kausta korras.See hoiab sinu Allalaetud failide kausta korras."; +"This will keep your Downloads folder uncluttered." = "See hoiab sinu Allalaetud failide kausta korras."; diff --git a/macos/ONLYOFFICE/et-EE.lproj/Presentation-Reporter.strings b/macos/ONLYOFFICE/et-EE.lproj/Presentation-Reporter.strings index a51f894e8..73e0e5391 100644 --- a/macos/ONLYOFFICE/et-EE.lproj/Presentation-Reporter.strings +++ b/macos/ONLYOFFICE/et-EE.lproj/Presentation-Reporter.strings @@ -1,3 +1,3 @@ /* Class = "NSWindow"; title = "Reporter Window"; ObjectID = "Ygx-5K-Hn8"; */ -"Ygx-5K-Hn8.title" = "Reporteri AkenReporteri Aken"; +"Ygx-5K-Hn8.title" = "Reporteri Aken"; diff --git a/macos/ONLYOFFICE/fi-FI.lproj/Localizable.strings b/macos/ONLYOFFICE/fi-FI.lproj/Localizable.strings index 69257fb80..fdc7bfcdd 100644 --- a/macos/ONLYOFFICE/fi-FI.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/fi-FI.lproj/Localizable.strings @@ -41,10 +41,13 @@ "Document %ld.docx" = "Dokumentti %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Word Open XML asiakirjamalli (*.dotx)"; +"Document %ld.docxf" = "Dokumentti %ld.docxf"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "Excel 97–2003 -laskentataulukko (*.xls)"; +"Document template" = "Word Open XML-asiakirjamalli (*.dotx)"; + +/* No comment provided by engineer. */ +"Excel 97-2003 Spreadsheet" = "Excel 97–2003-laskentataulukko (*.xls)"; /* No comment provided by engineer. */ "Excel 2007 Spreadsheet" = "Officen avoin XML-asiakirja (*.xlsx)"; @@ -116,13 +119,13 @@ "PDF File" = "Kannettava asiakirja (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Kannettava asiakirja / A (*.pdf)"; +"PDF/A File" = "Kannettava asiakirja /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Pelkkä Teksti (*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "PowerPoint 97–2003 -esitys (*.ppt)"; +"PowerPoint 97-2003 Presentation" = "PowerPoint 97–2003-esitys (*.ppt)"; /* No comment provided by engineer. */ "PowerPoint 2007 Presentation" = "Officen avoin XML-esitys (*.pptx)"; @@ -137,7 +140,7 @@ "Presentation %ld.pptx" = "Esitys %ld.pptx"; /* No comment provided by engineer. */ -"Presentation template" = "PowerPoint Open XML esityksen malli (*.potx)"; +"Presentation template" = "PowerPoint Open XML-esityksenmalli (*.potx)"; /* No comment provided by engineer. */ "Quit %@" = "Lopeta %@"; @@ -158,7 +161,7 @@ "Spreadsheet %ld.xlsx" = "Laskentataulukko %ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "Excel Open XML laskentataulukkomalli (*.xltx)"; +"Spreadsheet template" = "Excel Open XML-laskentataulukkomalli (*.xltx)"; /* No comment provided by engineer. */ "Thank you for evaluating %@!" = "Kiitos arviostasi tuotteesta %@!"; @@ -182,13 +185,13 @@ "Web Page" = "Verkkosivu"; /* No comment provided by engineer. */ -"Word 97-2003 Document" = "Word 97–2003 -asiakirja (*.doc)"; +"Word 97-2003 Document" = "Word 97–2003-asiakirja (*.doc)"; /* No comment provided by engineer. */ "Word 2007 Document" = "Officen avoin XML-asiakirja (*.docx)"; /* No comment provided by engineer. */ -"XML Paper Specification" = "OpenXPS-asiakirja(*.xps)"; +"XML Paper Specification" = "OpenXPS-asiakirja (*.xps)"; /* No comment provided by engineer. */ "Yes" = "Kyllä"; diff --git a/macos/ONLYOFFICE/fr.lproj/Localizable.strings b/macos/ONLYOFFICE/fr.lproj/Localizable.strings index f189011d9..174b4a543 100644 --- a/macos/ONLYOFFICE/fr.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/fr.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Document %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Modèle de document Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Document %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "Ne pas enregistrer"; +"Document template" = "Modèle de document Word Open XML (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Fichier de publication électronique (*.epub)"; +"Don't Save" = "Ne pas enregistrer"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Classeur Excel 97-2003 (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Masquer %@"; -/* No comment provided by engineer. */ -"HTML File" = "Fichier HyperText Markup Language (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Si vous ne révisez pas vos documents, toutes vos modifications seront perdues."; @@ -83,7 +80,10 @@ "License Agreement" = "Accord de licence"; /* No comment provided by engineer. */ -"MHT File" = "Fichier d'archives de pages Web (*.mht)"; +"Macro-enabled Presentation" = "Présentation avec les macros activées (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Modèle de feuille de calcul avec les macros activées (*.xltm)"; /* No comment provided by engineer. */ "Mobipocket e-book" = "Livre électronique Mobipocket (*.mobi)"; @@ -134,7 +134,7 @@ "PDF File" = "Document portable (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Document portable / A (*.pdf)"; +"PDF/A File" = "Document portable /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Fichier texte brut (*.txt)"; diff --git a/macos/ONLYOFFICE/ga-IE.lproj/Localizable.strings b/macos/ONLYOFFICE/ga-IE.lproj/Localizable.strings index f67da9b75..615c6591a 100644 --- a/macos/ONLYOFFICE/ga-IE.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ga-IE.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Doiciméad %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Doiciméad %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Teimpléad doiciméad Word Open XML (*.dotx)"; @@ -98,7 +101,7 @@ "OpenDocument Presentation Template" = "Teimpléad cur i láthair OpenDocument (*.otp)"; /* No comment provided by engineer. */ -"OpenDocument Spreadsheet Template" = "Teimpléad scarbhileog OpenDocument *.(ots)"; +"OpenDocument Spreadsheet Template" = "Teimpléad scarbhileog OpenDocument (*.ots)"; /* No comment provided by engineer. */ "Opening" = "Ag Oscailt"; diff --git a/macos/ONLYOFFICE/gl.lproj/Localizable.strings b/macos/ONLYOFFICE/gl.lproj/Localizable.strings index b20674838..d53b7e261 100644 --- a/macos/ONLYOFFICE/gl.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/gl.lproj/Localizable.strings @@ -41,10 +41,10 @@ "Document %ld.docx" = "Documento %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Modelo do documento Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Documento %ld.docxf"; /* No comment provided by engineer. */ -"Electronic Publication" = "Publicación electronica (*.epub)"; +"Document template" = "Modelo do documento Word Open XML (*.dotx)"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Folla de cálculo Excel 97-2003 (*.xls)"; @@ -67,9 +67,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Agochar %@"; -/* No comment provided by engineer. */ -"HTML File" = "Ficheiro HTML (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Se non revisa os seus documentos, perderanse todos os seus cambios."; @@ -79,9 +76,6 @@ /* No comment provided by engineer. */ "License Agreement" = "Acordo da licenza"; -/* No comment provided by engineer. */ -"MHT File" = "Ficheiro MHT (*.mht)"; - /* No comment provided by engineer. */ "Mobipocket e-book" = "Libro electrónico Mobipocket (*.mobi)"; @@ -122,7 +116,7 @@ "OpenOffice Document" = "Ficheiro de texto OpenDocument (*.odt)"; /* No comment provided by engineer. */ -"OpenOffice Presentation" = "Presentación de OpenDocument (*.odp)"; +"OpenOffice Presentation" = "Presentación de OpenDocument (*.odp)"; /* No comment provided by engineer. */ "OpenOffice Spreadsheet" = "Folla de cálculo de OpenDocument (*.ods)"; @@ -131,7 +125,7 @@ "PDF File" = "Documento portátil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Documento portátil / A (*.pdf)"; +"PDF/A File" = "Documento portátil /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Texto plano (*.txt)"; diff --git a/macos/ONLYOFFICE/hi-IN.lproj/Localizable.strings b/macos/ONLYOFFICE/hi-IN.lproj/Localizable.strings index 311803b98..4feb2b7a2 100644 --- a/macos/ONLYOFFICE/hi-IN.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/hi-IN.lproj/Localizable.strings @@ -38,7 +38,7 @@ "Do you want to save the changes made to the document \"%@\"?" = "क्या आप दस्तावेज़ में किए गए बदलावों को सहेजना चाहते हैं \"%@\"?"; /* No comment provided by engineer. */ -"Document %ld.docx" = "दस्तावेज़ %आईडी.डॉक्स"; +"Document %ld.docx" = "दस्तावेज़ %आईडी.docx"; /* No comment provided by engineer. */ "Document template" = "दस्तावेज़ टेम्पलेट (*.dotx)"; @@ -134,7 +134,7 @@ "Preparing..." = "तैयार कर रहा है..."; /* No comment provided by engineer. */ -"Presentation %ld.pptx" = "प्रस्तुति %आईडी.पीपीटीएक्स"; +"Presentation %ld.pptx" = "प्रस्तुति %आईडी.pptx"; /* No comment provided by engineer. */ "Presentation template" = "प्रस्तुति टेम्पलेट (*.potx)"; @@ -155,7 +155,7 @@ "Save the document?" = "दस्तावेज़ को सहेजें?"; /* No comment provided by engineer. */ -"Spreadsheet %ld.xlsx" = "स्प्रेडशीट %आईडी.एक्सएलएसएक्स"; +"Spreadsheet %ld.xlsx" = "स्प्रेडशीट %आईडी.xlsx"; /* No comment provided by engineer. */ "Spreadsheet template" = "स्प्रेडशीट टेम्पलेट (*.xltx)"; diff --git a/macos/ONLYOFFICE/hr-HR.lproj/Localizable.strings b/macos/ONLYOFFICE/hr-HR.lproj/Localizable.strings index cf89f316c..e953c48bf 100644 --- a/macos/ONLYOFFICE/hr-HR.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/hr-HR.lproj/Localizable.strings @@ -40,11 +40,14 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Predložak dokumenta (*.dotx)"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "Excel 97-2003 Proračunska tablica (*.xls)"; +"Excel 97-2003 Spreadsheet" = "Excel 97-2003 Proračunska tablica (*.xls)"; /* No comment provided by engineer. */ "Excel 2007 Spreadsheet" = "Office Open XML Proračunska tablica (*.xlsx)"; @@ -116,7 +119,7 @@ "PDF File" = "Prijenosni format dokumenta (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Prijenosni format dokumenta / A (*.pdf)"; +"PDF/A File" = "Prijenosni format dokumenta /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Običan tekst (*.txt)"; diff --git a/macos/ONLYOFFICE/hu-HU.lproj/Localizable.strings b/macos/ONLYOFFICE/hu-HU.lproj/Localizable.strings index ac632d7bb..2bcf1c81f 100644 --- a/macos/ONLYOFFICE/hu-HU.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/hu-HU.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokumentum %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokumentum %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Dokumentumsablon (*.dotx)"; diff --git a/macos/ONLYOFFICE/hy-AM.lproj/Localizable.strings b/macos/ONLYOFFICE/hy-AM.lproj/Localizable.strings index d6e473191..9fb3fa6e7 100644 --- a/macos/ONLYOFFICE/hy-AM.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/hy-AM.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Փաստաթուղթ %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Փաստաթուղթ %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Փաստաթղթի ձևանմուշ (*.dotx)"; diff --git a/macos/ONLYOFFICE/id.lproj/Localizable.strings b/macos/ONLYOFFICE/id.lproj/Localizable.strings index dbe13d241..df2abf095 100644 --- a/macos/ONLYOFFICE/id.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/id.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokumen %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokumen %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Dokumen templat Word Open XML (*.dotx)"; diff --git a/macos/ONLYOFFICE/it.lproj/Localizable.strings b/macos/ONLYOFFICE/it.lproj/Localizable.strings index 824bb1959..4e7ebe799 100644 --- a/macos/ONLYOFFICE/it.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/it.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Documento %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Modello documento Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Documento %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "Non Salvare"; +"Document template" = "Modello documento Word Open XML (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "File di pubblicazione elettronica (*.epub)"; +"Don't Save" = "Non Salvare"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Foglio di calcolo Excel 97-2003 (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Nascondi %@"; -/* No comment provided by engineer. */ -"HTML File" = "File del linguaggio di markup HyperText(*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Se non revisioni i tuoi documenti, tutte le tue modifiche andranno perse."; @@ -83,7 +80,10 @@ "License Agreement" = "Contratto di Licenza"; /* No comment provided by engineer. */ -"MHT File" = "File di archivio della pagina web (*.mht)"; +"Macro-enabled Presentation" = "Presentazione con attivazione macro (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Modello di foglio di calcolo con attivazione macro (*.xltm)"; /* No comment provided by engineer. */ "Mobipocket e-book" = "File Mobipocket (*.mobi)"; @@ -134,7 +134,7 @@ "PDF File" = "Documento portatile (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Documento portatile / A (*.pdf)"; +"PDF/A File" = "Documento portatile /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "File di testo semplice (*.txt)"; diff --git a/macos/ONLYOFFICE/ja-JP.lproj/Localizable.strings b/macos/ONLYOFFICE/ja-JP.lproj/Localizable.strings index 41f4766c4..93c0921c7 100644 --- a/macos/ONLYOFFICE/ja-JP.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ja-JP.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "ドキュメント %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "ドキュメント %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word オープン XMLドキュメントテンプレート (*.dotx)"; @@ -73,6 +76,12 @@ /* No comment provided by engineer. */ "License Agreement" = "ライセンス契約"; +/* No comment provided by engineer. */ +"Macro-enabled Presentation" = "マクロ対応プレゼンテーション(*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "マクロ対応表計算テンプレート(*.xltm)"; + /* No comment provided by engineer. */ "Mobipocket e-book" = "Mobipocketファイル (*.mobi)"; diff --git a/macos/ONLYOFFICE/ko-KR.lproj/Localizable.strings b/macos/ONLYOFFICE/ko-KR.lproj/Localizable.strings index 588df297f..7b97fc234 100644 --- a/macos/ONLYOFFICE/ko-KR.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ko-KR.lproj/Localizable.strings @@ -23,7 +23,7 @@ "Cannot open folder of the file location." = "해당 파일 위치의 폴더를 열 수 없습니다."; /* No comment provided by engineer. */ -"Comma-Separated Values" = "쉼표로 구분된 데이터 파일 (*.csv)"; +"Comma-Separated Values" = "쉼표로 구분된 데이터 파일(*.csv)"; /* No comment provided by engineer. */ "Create portal" = "포털 생성"; @@ -32,7 +32,7 @@ "Delete and Quit" = "삭제 및 종료"; /* No comment provided by engineer. */ -"DjVu File" = "디지털 문서 (*.djvu)"; +"DjVu File" = "디지털 문서(*.djvu)"; /* No comment provided by engineer. */ "Do you want to save the changes made to the document \"%@\"?" = "문서 \"%@\"의 변경 사항을 저장하시겠습니까?"; @@ -41,13 +41,16 @@ "Document %ld.docx" = "문서 %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Word Open XML 문서 템플릿 (*.dotx)"; +"Document %ld.docxf" = "문서 %ld.docxf"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "Excel 97-2003 스프레드시트 (*.xls)"; +"Document template" = "Word Open XML 문서 템플릿(*.dotx)"; /* No comment provided by engineer. */ -"Excel 2007 Spreadsheet" = "Office Open XML 스프레드시트 (*.xlsx)"; +"Excel 97-2003 Spreadsheet" = "Excel 97-2003 스프레드시트(*.xls)"; + +/* No comment provided by engineer. */ +"Excel 2007 Spreadsheet" = "Office Open XML 스프레드시트(*.xlsx)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "\"%@\" 파일이 존재하지 않거나 열 수 없습니다."; @@ -68,7 +71,7 @@ "License Agreement" = "라이센스 계약"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "MOBI 파일 (*.mobi)"; +"Mobipocket e-book" = "모비포켓 전자책(*.mobi)"; /* No comment provided by engineer. */ "new-document" = "새 문서"; @@ -92,43 +95,43 @@ "ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE에서 해당 개인 키를 열 수 없습니다. 다른 파일을 열어보십시오."; /* No comment provided by engineer. */ -"OpenDocument Document Template" = "OpenDocument 문서 템플릿 (*.ott)"; +"OpenDocument Document Template" = "OpenDocument 문서 템플릿(*.ott)"; /* No comment provided by engineer. */ -"OpenDocument Presentation Template" = "OpenDocument프레젠테이션 템플릿 (*.otp)"; +"OpenDocument Presentation Template" = "OpenDocument프레젠테이션 템플릿(*.otp)"; /* No comment provided by engineer. */ -"OpenDocument Spreadsheet Template" = "OpenDocument 스프레드시트 템플릿 (*.ots)"; +"OpenDocument Spreadsheet Template" = "OpenDocument 스프레드시트 템플릿(*.ots)"; /* No comment provided by engineer. */ "Opening" = "여는 중"; /* No comment provided by engineer. */ -"OpenOffice Document" = "오픈도큐먼트 텍스트 문서 (*.odt) "; +"OpenOffice Document" = "오픈도큐먼트 텍스트 문서(*.odt)"; /* No comment provided by engineer. */ -"OpenOffice Presentation" = "오픈도큐먼트 프레젠테이션 (*.odp)"; +"OpenOffice Presentation" = "오픈도큐먼트 프레젠테이션(*.odp)"; /* No comment provided by engineer. */ -"OpenOffice Spreadsheet" = "오픈도큐먼트 스프레드시트 (*.ods)"; +"OpenOffice Spreadsheet" = "오픈도큐먼트 스프레드시트(*.ods)"; /* No comment provided by engineer. */ -"PDF File" = "휴대용 문서 (*.pdf)"; +"PDF File" = "휴대용 문서(*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "휴대용 문서 / A (*.pdf)"; +"PDF/A File" = "휴대용 문서 / A(*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "일반 텍스트 (*.txt)"; +"Plain Text" = "일반 텍스트 파일(*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 프레젠테이션 (*.ppt)"; +"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 프레젠테이션(*.ppt)"; /* No comment provided by engineer. */ -"PowerPoint 2007 Presentation" = "Office Open XML 프레젠테이션 (*.pptx)"; +"PowerPoint 2007 Presentation" = "Office Open XML 프레젠테이션(*.pptx)"; /* No comment provided by engineer. */ -"PowerPoint Slide Show" = "Office Open XML 슬라이드 쇼 (*.ppsx)"; +"PowerPoint Slide Show" = "Office Open XML 슬라이드 쇼(*.ppsx)"; /* No comment provided by engineer. */ "Preparing..." = "준비 중..."; @@ -137,7 +140,7 @@ "Presentation %ld.pptx" = "프레젠테이션 %ld.pptx"; /* No comment provided by engineer. */ -"Presentation template" = "PowerPoint Open XML 프레젠테이션 템플릿 (*.potx)"; +"Presentation template" = "PowerPoint Open XML 프레젠테이션 템플릿(*.potx)"; /* No comment provided by engineer. */ "Quit %@" = "%@ 종료"; @@ -146,7 +149,7 @@ "Review Changes..." = "변경 사항 검토 중..."; /* No comment provided by engineer. */ -"Rich Text Document" = "서식이 있는 텍스트 형식 파일 (*.rtf)"; +"Rich Text Document" = "서식이 있는 텍스트 형식 파일(*.rtf)"; /* No comment provided by engineer. */ "Save" = "저장"; @@ -158,7 +161,7 @@ "Spreadsheet %ld.xlsx" = "스프레드시트 %ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "Excel Open XML 스프레드시트 템플릿 (*.xltx)"; +"Spreadsheet template" = "Excel Open XML 스프레드시트 템플릿(*.xltx)"; /* No comment provided by engineer. */ "Thank you for evaluating %@!" = "%@를 평가해주셔서 감사합니다!"; @@ -182,13 +185,13 @@ "Web Page" = "웹 페이지"; /* No comment provided by engineer. */ -"Word 97-2003 Document" = "Word 97-2003 문서 (*.doc)"; +"Word 97-2003 Document" = "Word 97-2003 문서(*.doc)"; /* No comment provided by engineer. */ -"Word 2007 Document" = "Office Open XML 문서 (*.docx)"; +"Word 2007 Document" = "Office Open XML 문서(*.docx)"; /* No comment provided by engineer. */ -"XML Paper Specification" = "OpenXPS 문서 (*.xps)"; +"XML Paper Specification" = "OpenXPS 문서(*.xps)"; /* No comment provided by engineer. */ "Yes" = "네"; diff --git a/macos/ONLYOFFICE/lo.lproj/Document-Sign.strings b/macos/ONLYOFFICE/lo.lproj/Document-Sign.strings index daa9460b5..3b00ff5bd 100644 --- a/macos/ONLYOFFICE/lo.lproj/Document-Sign.strings +++ b/macos/ONLYOFFICE/lo.lproj/Document-Sign.strings @@ -16,6 +16,9 @@ /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "jpH-3g-Gt5"; */ "jpH-3g-Gt5.title" = "ຍົກເລີກ"; +/* Class = "NSButtonCell"; title = "Load a Private Key"; ObjectID = "P3k-kI-w22"; */ +"P3k-kI-w22.title" = "ໂຫຼດລະຫັດສ່ວນຕົວ"; + /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "qZ4-0O-L0G"; */ "qZ4-0O-L0G.title" = "ຍົກເລີກ"; diff --git a/macos/ONLYOFFICE/lo.lproj/Localizable.strings b/macos/ONLYOFFICE/lo.lproj/Localizable.strings index a89b0483a..bdeb861bf 100644 --- a/macos/ONLYOFFICE/lo.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/lo.lproj/Localizable.strings @@ -23,7 +23,7 @@ "Cannot open folder of the file location." = "ບໍ່ສາມາດເປີດໂຟນເດີ້ເພື່ອເຂົ້າເຖິງຟາຍ."; /* No comment provided by engineer. */ -"Comma-Separated Values" = "ຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ (*.csv)"; +"Comma-Separated Values" = "ຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ (*.csv)"; /* No comment provided by engineer. */ "Create portal" = "ສ້າງໜ້າຕ່າງ"; @@ -40,11 +40,14 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "ເອກະສານ %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "ເອກະສານ %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "ເປີດໄຟລ໌ XML ໃນຮູບແບບເອກະສານ Word (*.dotx)"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "ຕາຕະລາງ Excel 97-2003 (*.xls)"; +"Excel 97-2003 Spreadsheet" = "ຕາຕະລາງ Excel 97-2003 (*.xls)"; /* No comment provided by engineer. */ "Excel 2007 Spreadsheet" = "ເປີດຕາຕະລາງ XML (*.xlsx)"; @@ -71,7 +74,7 @@ "License Agreement" = "ສັນຍາ ໃບອະນຸຍາດ"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "ປຶ້ມອີເລັກໂຕຮນິກແບບພົກພາ (*.mobi)"; +"Mobipocket e-book" = "ໄຟລ໌ Mobipocket e-book (*.mobi)"; /* No comment provided by engineer. */ "new-document" = "ເອກະສານໃໝ່"; @@ -107,22 +110,22 @@ "Opening" = "ກໍາລັງເປີດ"; /* No comment provided by engineer. */ -"OpenOffice Document" = "ຄວາມເອກະສານ (*.odt)"; +"OpenOffice Document" = "ເປີດເອກະສານໄຟລ໌ Text (*.odt)"; /* No comment provided by engineer. */ "OpenOffice Presentation" = "ເປິດເອກະສານນຳສະເໜີ (*.odp)"; /* No comment provided by engineer. */ -"OpenOffice Spreadsheet" = "ເປິດຕາຕະລາງເອກະສານ (*.ods)"; +"OpenOffice Spreadsheet" = "ເປີດເອກະສານໃນຮູບແບບຕາຕະລາງ (*.ods)"; /* No comment provided by engineer. */ -"PDF File" = "ເອກະສານພົກພາ (*.pdf)"; +"PDF File" = "ເອກະສານພົກພາ (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "ເອກະສານພົກພາ /A (*.pdf)"; +"PDF/A File" = "ເອກະສານແບບພົກພາ /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "ໄຟລ໌ Text ທຳມະດາ (*.txt)"; +"Plain Text" = "ໄຟລ໌ຂໍ້ຄວາມທຳມະດາ (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "ນຳສະເໜີ PowerPoint 97-2003 (*.ppt)"; diff --git a/macos/ONLYOFFICE/lv-LV.lproj/Localizable.strings b/macos/ONLYOFFICE/lv-LV.lproj/Localizable.strings index a3c733b8f..27139db09 100644 --- a/macos/ONLYOFFICE/lv-LV.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/lv-LV.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokuments %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokuments %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Dokumenta veidne (*.dotx)"; @@ -116,7 +119,7 @@ "PDF File" = "Portatīvs dokuments (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Portatīvs dokuments / A (*.pdf)"; +"PDF/A File" = "Portatīvs dokuments /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Parasts Teksts (*.txt)"; diff --git a/macos/ONLYOFFICE/main.mm b/macos/ONLYOFFICE/main.mm index 0b35c486e..cf15dc5a4 100644 --- a/macos/ONLYOFFICE/main.mm +++ b/macos/ONLYOFFICE/main.mm @@ -104,12 +104,14 @@ int main(int argc, const char * argv[]) { [[NSUserDefaults standardUserDefaults] setObject:uiTheme forKey:ASCUserUITheme]; } + NSString * systemColorScheme = [NSApplication isSystemDarkMode] ? @"dark" : @"light"; [[ASCEditorJSVariables instance] setParameter:@"uitheme" withString:uiTheme]; - [[ASCSharedSettings sharedInstance] setSetting:([NSApplication isSystemDarkMode] ? @"dark" : @"light") forKey:kSettingsColorScheme]; + [[ASCSharedSettings sharedInstance] setSetting:systemColorScheme forKey:kSettingsColorScheme]; [[ASCEditorJSVariables instance] applyParameters]; [[ASCEditorJSVariables instance] setVariable:@"theme" withObject:@{@"id":uiTheme, - @"system":[NSApplication isSystemDarkMode] ? @"dark" : @"light"}]; + @"system":systemColorScheme, + @"type":systemColorScheme}]; [[ASCEditorJSVariables instance] apply]; // setup doc sign diff --git a/macos/ONLYOFFICE/nl-NL.lproj/Localizable.strings b/macos/ONLYOFFICE/nl-NL.lproj/Localizable.strings index 921c72b04..64f523b10 100644 --- a/macos/ONLYOFFICE/nl-NL.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/nl-NL.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Document %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Document %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML Document Sjabloon (*.dotx)"; @@ -119,7 +122,7 @@ "PDF File" = "Portable Document (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Portable Document / A (*.pdf)"; +"PDF/A File" = "Portable Document /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Standaard Tekstbestand (*.txt)"; diff --git a/macos/ONLYOFFICE/no.lproj/Localizable.strings b/macos/ONLYOFFICE/no.lproj/Localizable.strings index e4e1fb86f..a27bd7761 100644 --- a/macos/ONLYOFFICE/no.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/no.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML-dokumentmal (*.dotx)"; diff --git a/macos/ONLYOFFICE/pl.lproj/Localizable.strings b/macos/ONLYOFFICE/pl.lproj/Localizable.strings index d9deaa8b0..4fdb5082e 100644 --- a/macos/ONLYOFFICE/pl.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/pl.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Szablon dokumentu Word Open XML (*.dotx)"; diff --git a/macos/ONLYOFFICE/pt-BR.lproj/Localizable.strings b/macos/ONLYOFFICE/pt-BR.lproj/Localizable.strings index ab67d1ca0..60409db25 100644 --- a/macos/ONLYOFFICE/pt-BR.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/pt-BR.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Documento %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Modelo de documento do Open XML do Word (*.dotx)"; +"Document %ld.docxf" = "Documento %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "Não salvar"; +"Document template" = "Modelo de documento do Open XML do Word (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Arquivo de publicação eletrônica (*.epub)"; +"Don't Save" = "Não salvar"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Folha de cálculo do Excel 97-2003 (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Ocultar %@"; -/* No comment provided by engineer. */ -"HTML File" = "Linguagem de Marcação de HiperTexto (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Se você não fizer a revisão dos seus documentos, todas as alterações serão perdidas."; @@ -82,9 +79,6 @@ /* No comment provided by engineer. */ "License Agreement" = "Contrato de licença"; -/* No comment provided by engineer. */ -"MHT File" = "Arquivo de página da Web (*.mht)"; - /* No comment provided by engineer. */ "Mobipocket e-book" = "Arquivo Mobipocket (*.mobi)"; @@ -134,7 +128,7 @@ "PDF File" = "Documento portátil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Documento portátil / A (*.pdf)"; +"PDF/A File" = "Documento portátil /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Arquivo de texto sem formatação (*.txt)"; @@ -167,7 +161,7 @@ "Review Changes..." = "Rever alterações..."; /* No comment provided by engineer. */ -"Rich Text Document" = "Ficheiro de Rich Text Format (*.rtf)"; +"Rich Text Document" = "Arquivo de Rich Text Format (*.rtf)"; /* No comment provided by engineer. */ "Save" = "Salvar"; diff --git a/macos/ONLYOFFICE/pt-PT.lproj/Localizable.strings b/macos/ONLYOFFICE/pt-PT.lproj/Localizable.strings index 6b74ee6ff..8feb71c3f 100644 --- a/macos/ONLYOFFICE/pt-PT.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/pt-PT.lproj/Localizable.strings @@ -41,7 +41,10 @@ "Document %ld.docx" = "Documento %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Modelo de documento Excel Open XML (*.xltx)"; +"Document %ld.docxf" = "Documento %ld.docxf"; + +/* No comment provided by engineer. */ +"Document template" = "Modelo de documento Word Open XML (*.dotx)"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Folha de cálculo do Excel 97-2003 (*.xls)"; @@ -119,16 +122,16 @@ "PDF File" = "Documento portátil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Documento portátil / A (*.pdf)"; +"PDF/A File" = "Documento portátil /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Texto Simples (*.txt)"; +"Plain Text" = "Documento de Texto Simples (*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "Apresentação em PowerPoint 97-2003 (*.doc)"; +"PowerPoint 97-2003 Presentation" = "Apresentação em PowerPoint 97-2003 (*.ppt)"; /* No comment provided by engineer. */ -"PowerPoint 2007 Presentation" = "Apresentação em XML Open Office (*.docx)"; +"PowerPoint 2007 Presentation" = "Apresentação em XML Open Office (*.pptx)"; /* No comment provided by engineer. */ "PowerPoint Slide Show" = "Apresentação de diapositivos XML Open Office (*.ppsx)"; diff --git a/macos/ONLYOFFICE/ro-RO.lproj/Localizable.strings b/macos/ONLYOFFICE/ro-RO.lproj/Localizable.strings index b5875f1c0..cf0a8d54d 100644 --- a/macos/ONLYOFFICE/ro-RO.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ro-RO.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Document %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Document %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Șablon document Word Open XML (*.dotx)"; @@ -70,6 +73,12 @@ /* No comment provided by engineer. */ "License Agreement" = "Acord de licență"; +/* No comment provided by engineer. */ +"Macro-enabled Presentation" = "Prezentare cu macrocomenzi activate (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Şablon foaie de calcul cu macrocomenzi activate (*.xltm)"; + /* No comment provided by engineer. */ "Mobipocket e-book" = "Mobipocket e-book (*.mobi)"; @@ -119,7 +128,7 @@ "PDF File" = "Formatul de Document Portabil (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Formatul de Document Portabil / A (*.pdf)"; +"PDF/A File" = "Formatul de Document Portabil /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Fișier text simplu (*.txt)"; diff --git a/macos/ONLYOFFICE/ru.lproj/Localizable.strings b/macos/ONLYOFFICE/ru.lproj/Localizable.strings index 2f54fd0ab..cd85df6aa 100644 --- a/macos/ONLYOFFICE/ru.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/ru.lproj/Localizable.strings @@ -41,13 +41,13 @@ "Document %ld.docx" = "Документ %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Шаблон документа Word Open XML (*.dotx)"; +"Document %ld.docxf" = "Документ %ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "Не сохранять"; +"Document template" = "Шаблон документа Word Open XML (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Электронная книга (*.epub)"; +"Don't Save" = "Не сохранять"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Электронная таблица Excel 97-2003 (*.xls)"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Скрыть %@"; -/* No comment provided by engineer. */ -"HTML File" = "Веб-страница (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Если Вы не просмотрите эти документы, все внесенные изменения будут потеряны."; @@ -83,10 +80,13 @@ "License Agreement" = "Пользовательское соглашение"; /* No comment provided by engineer. */ -"MHT File" = "Веб-архив (*.mht)"; +"Macro-enabled Presentation" = "Презентация с поддержкой макросов (*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "Шаблон электронной таблицы с поддержкой макросов (*.xltm)"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "Электронная книга (*.epub)"; +"Mobipocket e-book" = "Файл Mobipocket (*.mobi)"; /* No comment provided by engineer. */ "new-document" = "Новый Документ"; @@ -134,7 +134,7 @@ "PDF File" = "Переносимый документ (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Переносимый документ / A (*.pdf)"; +"PDF/A File" = "Переносимый документ /A (*.pdf)"; /* No comment provided by engineer. */ "Plain Text" = "Текстовый файл (*.txt)"; diff --git a/macos/ONLYOFFICE/si.lproj/Localizable.strings b/macos/ONLYOFFICE/si.lproj/Localizable.strings index 2bfba0ecb..1e3b74e99 100644 --- a/macos/ONLYOFFICE/si.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/si.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "ලේඛනය %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "ලේඛනය %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "වර්ඩ් විවෘත XML ලේඛන අච්චුව (*.dotx)"; diff --git a/macos/ONLYOFFICE/sk-SK.lproj/Localizable.strings b/macos/ONLYOFFICE/sk-SK.lproj/Localizable.strings index 9c5a3f6b6..ff8368639 100644 --- a/macos/ONLYOFFICE/sk-SK.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/sk-SK.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Šablóna dokumentu Word Open XML (*.dotx)"; @@ -119,10 +122,10 @@ "PDF File" = "Prenosný document (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Prenosný document / A (*.pdf)"; +"PDF/A File" = "Prenosný document /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Obyčajný text (*.txt)"; +"Plain Text" = "Súbor obyčajného textu (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "Prezentácia PowerPoint 97-2003 (*.ppt)"; diff --git a/macos/ONLYOFFICE/sl-SI.lproj/Localizable.strings b/macos/ONLYOFFICE/sl-SI.lproj/Localizable.strings index 7a1de401c..bed25d0d8 100644 --- a/macos/ONLYOFFICE/sl-SI.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/sl-SI.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Word Open XML predloga dokumenta (*.dotx)"; @@ -116,10 +119,10 @@ "PDF File" = "Prenosni document (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Prenosni document / A (*.pdf)"; +"PDF/A File" = "Prenosni document /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Navadno besedilo (*.txt)"; +"Plain Text" = "Plain Text datoteka (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 predstavitev (*.ppt)"; diff --git a/macos/ONLYOFFICE/sv-SE.lproj/Localizable.strings b/macos/ONLYOFFICE/sv-SE.lproj/Localizable.strings index 523d05c2e..ec803738c 100644 --- a/macos/ONLYOFFICE/sv-SE.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/sv-SE.lproj/Localizable.strings @@ -25,6 +25,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Dokument %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Dokument %ld.docxf"; + /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Excel 97-2003-kalkylblad (*.xls)"; diff --git a/macos/ONLYOFFICE/tr-TR.lproj/Localizable.strings b/macos/ONLYOFFICE/tr-TR.lproj/Localizable.strings index 588495bbd..e8c6e8dd3 100644 --- a/macos/ONLYOFFICE/tr-TR.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/tr-TR.lproj/Localizable.strings @@ -38,7 +38,7 @@ "Do you want to save the changes made to the document \"%@\"?" = "Belgeye yapılan değişiklikleri kaydetmek istiyor musunuz \"%@\"?"; /* No comment provided by engineer. */ -"Document %ld.docx" = "Belge %ld.docx"; +"Document %ld.docxf" = "Belge %ld.docxf"; /* No comment provided by engineer. */ "Document template" = "Word Open XML Belge şablonu (*.dotx)"; @@ -119,10 +119,10 @@ "PDF File" = "Taşınabilir Belge (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Taşınabilir Belge / A (*.pdf)"; +"PDF/A File" = "Taşınabilir Belge /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Düz Metin (*.txt)"; +"Plain Text" = "Düz Metin Dosyası (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 Sunumu (*.ppt)"; diff --git a/macos/ONLYOFFICE/uk-UA.lproj/Localizable.strings b/macos/ONLYOFFICE/uk-UA.lproj/Localizable.strings index 218cfe630..ca505ddea 100644 --- a/macos/ONLYOFFICE/uk-UA.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/uk-UA.lproj/Localizable.strings @@ -40,6 +40,9 @@ /* No comment provided by engineer. */ "Document %ld.docx" = "Документ %ld.docx"; +/* No comment provided by engineer. */ +"Document %ld.docxf" = "Документ %ld.docxf"; + /* No comment provided by engineer. */ "Document template" = "Шаблон документа Word Open XML (*.dotx)"; @@ -116,10 +119,10 @@ "PDF File" = "Портативний документ (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = " Портативний документ / A (*.pdf)"; +"PDF/A File" = " Портативний документ /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Звичайний текст (*.txt)"; +"Plain Text" = "Звичайний текстовий файл (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "Презентація PowerPoint 97-2003 (*.ppt)"; diff --git a/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.html b/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.html new file mode 100644 index 000000000..187e1fa85 --- /dev/null +++ b/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.html @@ -0,0 +1,160 @@ + + + + + ONLYOFFICE Release Notes + + + +
+

ONLYOFFICE 7.5.0 - {{DATE}}

+ +

New Features

+ +

All Editors

+
    +
  • Added support for interface scales >200% (225, 250, 275, 300, 350, 400, 450, 500)
  • +
  • Files from the "Recent files" list of the application have been added to the "File" > “Open Recent” section, according to the editor formats
  • +
  • Updated VLC libraries (for Windows)
  • +
  • Updated the “About” page and the “Check for updates” block (for Windows)
  • +
  • Added a list of changes to deb/rpm packages (for Linux)
  • +
  • The "Last used" option has been added to the editors settings for "Default Zoom Value"
  • +
  • Add a menu for quick access to the most popular symbols to the button for inserting symbols
  • +
  • Support for SVG images
  • +
  • Add a setting to hide the toolbar for equation
  • +
  • Add hints for images in SmartArt objects
  • +
  • Add the ability to open files protected with a password in the embedded viewer
  • +
  • Add the ability to edit points of the autoshape border to the right panel
  • +
  • Only Ctrl + ./Ctrl + , keyboard shortcuts are now used for superscript/subscript characters
  • +
  • Change keyboard shortcuts for moving through the text on macOS
  • +
+

Document Editor

+
    +
  • Automatic hyphenation
  • +
  • Change the selection logic, add the “Smart paragraph selection” option in Advanced Setting
  • +
  • Add the “Remove content control when contents are edited” option to content control settings
  • +
  • Change behavior of the Accept/Reject review buttons in the toolbar
  • +
  • Disable the Zoom out action for the Ctrl + Numpad keyboard shortcut due to the conflict with inserting an em dash
  • +
  • Change the keyboard shortcut for strikeout text formatting on macOS: Ctrl + 5 replaced with Cmd + Shift + X
  • +
  • Change the keyboard shortcut for inserting ellipsis on macOS: Ctrl + Option + . replaced with Option + ;
  • +
+

Spreadsheet Editor

+
    +
  • The ability to display only formulas in cells
  • +
  • Trace precedents / dependents
  • +
  • New function: SORTBY
  • +
  • Added presets for "Margins" and the ability to show/hide "Print titles" in the "File" > "Print" menu
  • +
  • Add the ability to set a number format in the field settings for pivot tables
  • +
  • The Show details feature for working with a Pivot Table
  • +
  • Improvement of the ability to open data on a new sheet by double-clicking a value in a Pivot Table
  • +
  • Autocompletion for days of the week and months when stretching a cell value
  • +
  • Drag-and-drop for columns and rows
  • +
  • Add filters by date and the ability to display data with the "Date" format in the form of a tree in the Autofilter window
  • +
  • Inserting images into headers/footers
  • +
  • External data update for the currently edited source file
  • +
  • The last used Delimiter and Encoding setting for CSV files is now stored locally on the client side
  • +
  • The ability to insert page breaks from the Layout toolbar
  • +
  • Add the ability to open the source for external links
  • +
  • Add the Alt + Down keyboard shortcut for opening the Autofilter window when the header of a column with a filter is selected
  • + +
+

Presentation Editor

+
    +
  • Add the "Morph" transition
  • +
  • Assigning names to objects in advanced settings
  • +
  • The "Number slides from" option has been added to the slide size settings
  • +
  • Notes and Handouts in headers/footers settings
  • +
  • Slide placeholders have alternative descriptions
  • +
  • SmartArt insertion is available via a slide placeholder
  • +
  • Add the ability to navigate to the specific slide with the consecutive pressing of the *slide number* + Enter when previewing a presentation
  • +
  • Change the keyboard shortcut for starting a presentation on macOS: Cmd + Shift + Return is used
  • +
+

Forms

+
    +
  • Bring settings on the right toolbar to unified appearance
  • +
+

PDF Editor

+
    +
  • Support for the PDF form, annotations, comments and drawings
  • +
+
+ + diff --git a/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.ru.html b/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.ru.html new file mode 100644 index 000000000..f019935a7 --- /dev/null +++ b/macos/ONLYOFFICE/update/updates/ONLYOFFICE/changes/7.5.0/changes.ru.html @@ -0,0 +1,160 @@ + + + + + История изменений ONLYOFFICE + + + +
+

ONLYOFFICE 7.5.0 - {{DATE}}

+ +

Новые функции

+ +

Все редакторы

+
    +
  • Добавлена поддержка масштабов интерфейса >200% (225, 250, 275, 300, 350, 400, 450, 500)
  • +
  • В меню "Файл" > "Открыть недавние" добавлены файлы из списка "Последние файлы" приложения, по формату соответствующие редактору
  • +
  • Обновлены библиотеки VLC (для Windows)
  • +
  • Обновлена страница О программе и блок обновлений (для Windows)
  • +
  • Добавлен список изменений в deb/rpm пакеты (для Linux)
  • +
  • В "Дополнительные параметры" редакторов в список "Стандартное значение масштаба" добавлена опция "Последний использованный"
  • +
  • В кнопку вставки символов добавлено меню для быстрого доступа к наиболее популярным символам
  • +
  • Добавлена возможность вставки SVG изображений
  • +
  • Добавлена настройка, позволяющая скрыть тулбар для уравнений
  • +
  • Добавлены подсказки к изображениям в SmartArt
  • +
  • Добавлена возможность открытия файлов с паролем в embedded viewer
  • +
  • В правую панель добавлена возможность редактировать точки для границы автофигуры
  • +
  • Горячие клавиши для надстрочных/подстрочных знаков теперь только Ctrl + . / Ctrl + ,
  • +
  • Изменена работа перемещения по тексту с помощью горячих клавиш для macOS
  • +
+

Редактор документов

+
    +
  • Добавлена возможность автоматической расстановки переносов
  • +
  • Изменена логика работы выделения, добавлена настройка "Использовать умное выделение абзацев"
  • +
  • Добавлена настройка "Удалять элемент управления содержимым при редактировании содержимого" в настройки элементов управления содержимым
  • +
  • Изменено поведение кнопок для рецензирования в тулбаре Принять/Отклонить
  • +
  • Отключено действие Уменьшить для Ctrl + Numpad – из-за конфликта со вставкой короткого тире
  • +
  • Изменена клавиша применения Зачеркнутый c Ctrl + 5 на Cmd + Shift + X для macOS
  • +
  • Изменено сочетание для вставки многоточия для macOS с Ctrl + Option + . на Option + ;
  • +
+

Редактор таблиц

+
    +
  • Добавлена возможность показать формулы в ячейках
  • +
  • Добавлена возможность отображения связей между формулами и ячейками
  • +
  • Добавлена поддержка новой функции СОРТПО
  • +
  • В меню "Файл" > "Печать" для опции "Поля" добавлены пресеты и возможность скрыть/показать для "Печатать залоговки"
  • +
  • В настройки полей для сводных таблиц добавлена возможность задать формат числа
  • +
  • В контекстное меню сводных таблиц добавлен пункт Показать детали для отображения подробных сведений о поле значений
  • +
  • Возможность показать детали двойным кликом по ячейке сводной таблицы
  • +
  • Добавлено автозаполнение днями недели и месяцами
  • +
  • Добавлена возможность перемещения строк и столбцов таблицы с помощью drag-n-drop
  • +
  • В окно Автофильтра добавлены фильтры по датам и вывод данных с форматом Дата в форме дерева
  • +
  • Добавлена возможность вставлять изображения в колонтитулы
  • +
  • Добавлена возможность обновления внешних данных в редакторе таблиц для файла-источника, который находится в процессе редактирования
  • +
  • Последние использованные настройки "Кодировка" и "Разделитель" для CSV-файлов теперь хранятся локально на стороне клиента
  • +
  • На панель инструментов "Макет" добавлена возможность вставлять разрывы страниц
  • +
  • Добавлена возможность открытия источника для внешних ссылок
  • +
  • Добавлена горячая клавиша Alt + Down для вызова окна Автофильтра, если выделен заголовок столбца с фильтром
  • +
+

Редактор презентаций

+
    +
  • Добавлен переход "Трансформация"
  • +
  • В "Дополнительные параметры" для объектов на слайде добавлена возможность присваивать имена
  • +
  • В "Настройки размера слайда" добавлена опция "Нумеровать слайды с"
  • +
  • Добавлена вкладка Заметки и раздаточные материалы в настройки колонтитулов
  • +
  • Добавлены подсказки к плейсхолдерам на слайдах в редакторе презентаций
  • +
  • Добавлена возможность добавлять SmartArt через плейсхолдер на слайде
  • +
  • Добавлена возможность перехода к нужному слайду через последовательное нажатие *номер слайда* + Enter в режиме демонстрации
  • +
  • Запуск слайдшоу в редакторе презентаций для macOS изменен на Cmd + Shift + Return
  • + +
+

Формы

+
    +
  • Названия настроек на правой панели инструментов приведены к общему виду
  • +
+

Редактор PDF

+
    +
  • Заполнение форм, аннотации, комментарии и рисование
  • +
+
+ + diff --git a/macos/ONLYOFFICE/vi-VN.lproj/Document-Sign.strings b/macos/ONLYOFFICE/vi-VN.lproj/Document-Sign.strings index 33fd741f9..8da3e6685 100644 --- a/macos/ONLYOFFICE/vi-VN.lproj/Document-Sign.strings +++ b/macos/ONLYOFFICE/vi-VN.lproj/Document-Sign.strings @@ -31,6 +31,9 @@ /* Class = "NSButtonCell"; title = "Load Signature"; ObjectID = "tTF-wa-eJp"; */ "tTF-wa-eJp.title" = "Tải chữ ký"; +/* Class = "NSWindow"; title = "Window"; ObjectID = "uKp-p4-6uB"; */ +"uKp-p4-6uB.title" = "Window"; + /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "Zj5-0h-hpW"; */ "Zj5-0h-hpW.placeholderString" = "Nhập mật khẩu"; diff --git a/macos/ONLYOFFICE/vi-VN.lproj/Localizable.strings b/macos/ONLYOFFICE/vi-VN.lproj/Localizable.strings index 1dd490605..dc0c51c80 100644 --- a/macos/ONLYOFFICE/vi-VN.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/vi-VN.lproj/Localizable.strings @@ -38,13 +38,13 @@ "Do you want to save the changes made to the document \"%@\"?" = "Bạn có muốn lưu những thay đổi đã thực hiện đối với tài liệu \"%@\"?"; /* No comment provided by engineer. */ -"Document %ld.docx" = "Văn bản %ld.docx"; +"Document %ld.docxf" = "Văn bản %ld.docxf"; /* No comment provided by engineer. */ "Document template" = "Word Open XML Mẫu văn bản (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "Tập tin EPUB (*.epub)"; +"Don't Save" = "Không lưu"; /* No comment provided by engineer. */ "Excel 97-2003 Spreadsheet" = "Bảng tính Excel 97-2003 (*.xls)"; @@ -53,7 +53,7 @@ "Excel 2007 Spreadsheet" = "Bảng tính Office Open XML (*.xlsx)"; /* No comment provided by engineer. */ -"FictionBook File" = "Tập tin FB2 (*.fb2)"; +"FictionBook File" = "Tập tin FictionBook 2 (*.fb2)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "Không thể mở tập tin \"%@\" hoặc nó không tồn tại."; @@ -67,9 +67,6 @@ /* No comment provided by engineer. */ "Hide %@" = "Ẩn %@"; -/* No comment provided by engineer. */ -"HTML File" = "Tập tin HTML (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "Nếu bạn không xem lại tài liệu của mình, tất cả thay đổi sẽ bị mất."; @@ -79,9 +76,6 @@ /* No comment provided by engineer. */ "License Agreement" = "Thỏa thuận cấp phép"; -/* No comment provided by engineer. */ -"MHT File" = "Tập tin MHT (*.mht)"; - /* No comment provided by engineer. */ "Mobipocket e-book" = "Sách điện tử Mobipocket (*.mobi)"; @@ -131,10 +125,10 @@ "PDF File" = "Tài liệu di động (*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "Tài liệu di động / A (*.pdf)"; +"PDF/A File" = "Tài liệu di động /A (*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "Văn bản thuần (*.txt)"; +"Plain Text" = "Tập tin văn bản thuần (*.txt)"; /* No comment provided by engineer. */ "PowerPoint 97-2003 Presentation" = "Bản trình bày PowerPoint 97-2003 (*.ppt)"; @@ -154,6 +148,9 @@ /* No comment provided by engineer. */ "Presentation template" = "PowerPoint Open XML Mẫu trình chiếu (*.potx)"; +/* No comment provided by engineer. */ +"Presenter View" = "Xem Trình chiếu"; + /* No comment provided by engineer. */ "Quit %@" = "Thoát %@"; @@ -169,6 +166,9 @@ /* No comment provided by engineer. */ "Save the document?" = "Lưu tập tin?"; +/* No comment provided by engineer. */ +"Signature Details" = "Chi tiết chữ ký"; + /* No comment provided by engineer. */ "Spreadsheet %ld.xlsx" = "Bảng tính %ld.xlsx"; @@ -187,12 +187,18 @@ /* No comment provided by engineer. */ "Unconfirmed" = "Chưa được xác nhận"; +/* No comment provided by engineer. */ +"Untitled" = "Untitled"; + /* No comment provided by engineer. */ "Version %@ (%@)" = "Phiên bản %1$@ (%2$@)"; /* No comment provided by engineer. */ "Web Page" = "Trang Web"; +/* No comment provided by engineer. */ +"With access to pro features" = "Có quyền truy cập vào các tính năng pro"; + /* No comment provided by engineer. */ "Word 97-2003 Document" = "Tài liệu Word 97-2003 (*.doc)"; diff --git a/macos/ONLYOFFICE/vi-VN.lproj/Main.strings b/macos/ONLYOFFICE/vi-VN.lproj/Main.strings index da3e9f20f..abf405416 100644 --- a/macos/ONLYOFFICE/vi-VN.lproj/Main.strings +++ b/macos/ONLYOFFICE/vi-VN.lproj/Main.strings @@ -76,6 +76,9 @@ /* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */ "aTl-1u-JFS.title" = "In…"; +/* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */ +"aUF-d1-5bR.title" = "Window"; + /* Class = "NSMenu"; title = "Font"; ObjectID = "aXa-aM-Jaq"; */ "aXa-aM-Jaq.title" = "Kiểu chữ"; @@ -340,6 +343,9 @@ /* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */ "snW-S8-Cw5.title" = "Hiển thị thanh công cụ"; +/* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */ +"Td7-aD-5lo.title" = "Window"; + /* Class = "NSMenuItem"; title = "Document"; ObjectID = "TEm-B8-gsH"; */ "TEm-B8-gsH.title" = "Tập tin"; diff --git a/macos/ONLYOFFICE/zh-Hans-CN.lproj/Localizable.strings b/macos/ONLYOFFICE/zh-Hans-CN.lproj/Localizable.strings index 65ddf1878..4edaf6f7d 100644 --- a/macos/ONLYOFFICE/zh-Hans-CN.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/zh-Hans-CN.lproj/Localizable.strings @@ -23,7 +23,7 @@ "Cannot open folder of the file location." = "无法打开文件位置的文件夹。"; /* No comment provided by engineer. */ -"Comma-Separated Values" = "逗号分隔值(*.csv)"; +"Comma-Separated Values" = "逗号分隔值(*.csv)"; /* No comment provided by engineer. */ "Create portal" = "创建门户"; @@ -32,7 +32,7 @@ "Delete and Quit" = "删除并退出"; /* No comment provided by engineer. */ -"DjVu File" = "数字文件(*.djvu)"; +"DjVu File" = "数字文件(*.djvu)"; /* No comment provided by engineer. */ "Do you want to save the changes made to the document \"%@\"?" = "您是否要保存对文档“%@”所做的更改?"; @@ -41,22 +41,22 @@ "Document %ld.docx" = "文档%ld.docx"; /* No comment provided by engineer. */ -"Document template" = "Word开放式XML文档模板 (*.dotx)"; +"Document %ld.docxf" = "文档%ld.docxf"; /* No comment provided by engineer. */ -"Don't Save" = "不保存"; +"Document template" = "Word开放式XML文档模板 (*.dotx)"; /* No comment provided by engineer. */ -"Electronic Publication" = "电子出版物文件(*.epub)"; +"Don't Save" = "不保存"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "Excel 97-2003 电子表格(*.xls)"; +"Excel 97-2003 Spreadsheet" = "Excel 97-2003 电子表格(*.xls)"; /* No comment provided by engineer. */ -"Excel 2007 Spreadsheet" = "Office Open XML 电子表格(*.xlsx)"; +"Excel 2007 Spreadsheet" = "Office Open XML 电子表格(*.xlsx)"; /* No comment provided by engineer. */ -"FictionBook File" = "小说书2文件 (*.fb2)"; +"FictionBook File" = "小说书2文件(*.fb2)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "文件“%@”无法打开或不存在。"; @@ -70,9 +70,6 @@ /* No comment provided by engineer. */ "Hide %@" = "隐藏%@"; -/* No comment provided by engineer. */ -"HTML File" = "超文本标记语言文件 (*.html)"; - /* No comment provided by engineer. */ "If you don't review your documents, all your changeses will be lost." = "如果您不审阅文档,您所做的所有更改都将丢失。"; @@ -83,10 +80,13 @@ "License Agreement" = "许可协议"; /* No comment provided by engineer. */ -"MHT File" = "网页存档文件 (*.mht)"; +"Macro-enabled Presentation" = "支持宏的演示文稿(*.pptm)"; + +/* No comment provided by engineer. */ +"Macro-enabled spreadsheet template" = "支持宏的电子表格模板(*.xltm)"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "Mobipocket文件 (*.mobi)"; +"Mobipocket e-book" = "Mobipocket文件 (*.mobi)"; /* No comment provided by engineer. */ "new-document" = "新建文档"; @@ -125,28 +125,28 @@ "OpenOffice Document" = "OpenDocument文本文件 (*.odt)"; /* No comment provided by engineer. */ -"OpenOffice Presentation" = "OpenDocument演示文稿(*.odp)"; +"OpenOffice Presentation" = "OpenDocument演示文稿(*.odp)"; /* No comment provided by engineer. */ -"OpenOffice Spreadsheet" = "OpenDocument电子表格(*.ods)"; +"OpenOffice Spreadsheet" = "OpenDocument电子表格(*.ods)"; /* No comment provided by engineer. */ -"PDF File" = "便携式文件(*.pdf)"; +"PDF File" = "便携式文件(*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "便携式文件/A (*.pdf)"; +"PDF/A File" = "便携式文件/A(*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "纯文本文件 (*.txt)"; +"Plain Text" = "纯文本文件(*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 演示文稿(*.ppt)"; +"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 演示文稿(*.ppt)"; /* No comment provided by engineer. */ -"PowerPoint 2007 Presentation" = "Office Open XML 演示文稿(*.pptx)"; +"PowerPoint 2007 Presentation" = "Office Open XML 演示文稿(*.pptx)"; /* No comment provided by engineer. */ -"PowerPoint Slide Show" = "Office Open XML 幻灯片(*.ppsx)"; +"PowerPoint Slide Show" = "Office Open XML 幻灯片(*.ppsx)"; /* No comment provided by engineer. */ "Preparing..." = "准备中..."; @@ -167,7 +167,7 @@ "Review Changes..." = "审阅更改..."; /* No comment provided by engineer. */ -"Rich Text Document" = "富文本格式(*.rtf)"; +"Rich Text Document" = "富文本格式(*.rtf)"; /* No comment provided by engineer. */ "Save" = "保存"; @@ -182,7 +182,7 @@ "Spreadsheet %ld.xlsx" = "电子表格%ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "Excel开放式XML电子表格模板(*.xltx)"; +"Spreadsheet template" = "Excel开放式XML电子表格模板(*.xltx)"; /* No comment provided by engineer. */ "Thank you for evaluating %@!" = "感谢您对%@的评价!"; @@ -209,10 +209,10 @@ "With access to pro features" = "可使用专业功能"; /* No comment provided by engineer. */ -"Word 97-2003 Document" = "Word 97-2003 文档(*.doc)"; +"Word 97-2003 Document" = "Word 97-2003 文档(*.doc)"; /* No comment provided by engineer. */ -"Word 2007 Document" = "Office Open XML 文档(*.docx)"; +"Word 2007 Document" = "Office Open XML 文档(*.docx)"; /* No comment provided by engineer. */ "XML Paper Specification" = "OpenXPS文件(*.xps)"; diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/Document-Sign.strings b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Document-Sign.strings similarity index 100% rename from macos/ONLYOFFICE/zh-Hant.lproj/Document-Sign.strings rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/Document-Sign.strings diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/Localizable.strings b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Localizable.strings similarity index 81% rename from macos/ONLYOFFICE/zh-Hant.lproj/Localizable.strings rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/Localizable.strings index 38b852e77..5391facb0 100644 --- a/macos/ONLYOFFICE/zh-Hant.lproj/Localizable.strings +++ b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Localizable.strings @@ -23,7 +23,7 @@ "Cannot open folder of the file location." = "無法開啟檔案位址的資料夾。"; /* No comment provided by engineer. */ -"Comma-Separated Values" = "逗點分隔值 (*.csv)"; +"Comma-Separated Values" = "逗點分隔值(*.csv)"; /* No comment provided by engineer. */ "Create portal" = "創造入口"; @@ -32,7 +32,7 @@ "Delete and Quit" = "刪除並結束"; /* No comment provided by engineer. */ -"DjVu File" = "DjVu 檔案 (*.djvu)"; +"DjVu File" = "DjVu 檔案(*.djvu)"; /* No comment provided by engineer. */ "Do you want to save the changes made to the document \"%@\"?" = "您要儲存文件 \"%@\" 已做的變更嗎嗎?"; @@ -41,13 +41,16 @@ "Document %ld.docx" = "文件 %ld.docx"; /* No comment provided by engineer. */ -"Document template" = "文件範本 (*.dotx)"; +"Document %ld.docxf" = "文件 %ld.docxf"; /* No comment provided by engineer. */ -"Excel 97-2003 Spreadsheet" = "Excel 97-2003 試算表 (*.xls)"; +"Document template" = "Word Open XML 文件範本(*.dotx)"; /* No comment provided by engineer. */ -"Excel 2007 Spreadsheet" = "Excel 2007 試算表 (*.docx)"; +"Excel 97-2003 Spreadsheet" = "Excel 97-2003 試算表(*.xls)"; + +/* No comment provided by engineer. */ +"Excel 2007 Spreadsheet" = "Office Open XML 試算表(*.xlsx)"; /* No comment provided by engineer. */ "File \"%@\" can not be open or not exist." = "檔案 \"%@\" 無法開啟或不存在。"; @@ -68,7 +71,7 @@ "License Agreement" = "授權合約"; /* No comment provided by engineer. */ -"Mobipocket e-book" = "Mobipocket 電子書 (*.mobi)"; +"Mobipocket e-book" = "Mobipocket 電子書(*.mobi)"; /* No comment provided by engineer. */ "new-document" = "新文件"; @@ -92,43 +95,43 @@ "ONLYOFFICE can not open the Private Key. Try opening another file." = "ONLYOFFICE無法開啟私密金鑰的檔案,嘗試開啟另一個檔案。"; /* No comment provided by engineer. */ -"OpenDocument Document Template" = "OpenDocument文件範本 (*.ott)"; +"OpenDocument Document Template" = "OpenDocument 文件範本(*.ott)"; /* No comment provided by engineer. */ -"OpenDocument Presentation Template" = "OpenDocument簡報範本 (*.otp)"; +"OpenDocument Presentation Template" = "OpenDocument簡報範本(*.otp)"; /* No comment provided by engineer. */ -"OpenDocument Spreadsheet Template" = "OpenDocument試算表範本 (*.ots)"; +"OpenDocument Spreadsheet Template" = "OpenDocument試算表範本(*.ots)"; /* No comment provided by engineer. */ "Opening" = "正在開啟"; /* No comment provided by engineer. */ -"OpenOffice Document" = "OpenOffice 文件 (*.odt)"; +"OpenOffice Document" = "OpenDocument文件(*.odt)"; /* No comment provided by engineer. */ -"OpenOffice Presentation" = "OpenOffice 簡報 (*.odp)"; +"OpenOffice Presentation" = "OpenDocument簡報(*.odp)"; /* No comment provided by engineer. */ -"OpenOffice Spreadsheet" = "OpenOffice 試算表 (*.ods)"; +"OpenOffice Spreadsheet" = "OpenDocument試算表(*.ods)"; /* No comment provided by engineer. */ -"PDF File" = "PDF 文件 (*.pdf)"; +"PDF File" = "PDF 文件(*.pdf)"; /* No comment provided by engineer. */ -"PDF/A File" = "PDF/單一檔案 (*.pdf)"; +"PDF/A File" = "PDF/單一檔案(*.pdf)"; /* No comment provided by engineer. */ -"Plain Text" = "純文字 (*.txt)"; +"Plain Text" = "純文字(*.txt)"; /* No comment provided by engineer. */ -"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 簡報 (*.ppt)"; +"PowerPoint 97-2003 Presentation" = "PowerPoint 97-2003 簡報(*.ppt)"; /* No comment provided by engineer. */ -"PowerPoint 2007 Presentation" = "PowerPoint 2007 簡報 (*.pptx)"; +"PowerPoint 2007 Presentation" = "Office Open XML 簡報(*.pptx)"; /* No comment provided by engineer. */ -"PowerPoint Slide Show" = "PowerPoint 投影片 (*.ppsx)"; +"PowerPoint Slide Show" = "Office Open XML 投影片(*.ppsx)"; /* No comment provided by engineer. */ "Preparing..." = "準備中..."; @@ -137,7 +140,7 @@ "Presentation %ld.pptx" = "簡報 %ld.pptx"; /* No comment provided by engineer. */ -"Presentation template" = "簡報範本 (*.potx)"; +"Presentation template" = "PowerPoint Open XML 簡報範本(*.potx)"; /* No comment provided by engineer. */ "Quit %@" = "結束 %@"; @@ -146,7 +149,7 @@ "Review Changes..." = "檢閱變更..."; /* No comment provided by engineer. */ -"Rich Text Document" = "RTF 文字文件 (*.rtf)"; +"Rich Text Document" = "RTF 文字文件(*.rtf)"; /* No comment provided by engineer. */ "Save" = "儲存"; @@ -158,7 +161,7 @@ "Spreadsheet %ld.xlsx" = "試算表 %ld.xlsx"; /* No comment provided by engineer. */ -"Spreadsheet template" = "試算表範本 (*.xltx)"; +"Spreadsheet template" = "Excel Open XML 試算表範本(*.xltx)"; /* No comment provided by engineer. */ "Thank you for evaluating %@!" = "謝謝您評估 %@!"; @@ -182,13 +185,13 @@ "Web Page" = "網頁"; /* No comment provided by engineer. */ -"Word 97-2003 Document" = "Word 97-2003 文件 (*.doc)"; +"Word 97-2003 Document" = "Word 97-2003 文件(*.doc)"; /* No comment provided by engineer. */ -"Word 2007 Document" = "Word 2007 文件 (*.docx)"; +"Word 2007 Document" = "Office Open XML 文件(*.docx)"; /* No comment provided by engineer. */ -"XML Paper Specification" = "XML 文件規格 (*.xps)"; +"XML Paper Specification" = "OpenXPS 檔案(*.xps)"; /* No comment provided by engineer. */ "Yes" = "是"; diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/Localizable.stringsdict b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Localizable.stringsdict similarity index 100% rename from macos/ONLYOFFICE/zh-Hant.lproj/Localizable.stringsdict rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/Localizable.stringsdict diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/Main.strings b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Main.strings similarity index 100% rename from macos/ONLYOFFICE/zh-Hant.lproj/Main.strings rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/Main.strings diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/MoveApplication.strings b/macos/ONLYOFFICE/zh-Hant-TW.lproj/MoveApplication.strings similarity index 100% rename from macos/ONLYOFFICE/zh-Hant.lproj/MoveApplication.strings rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/MoveApplication.strings diff --git a/macos/ONLYOFFICE/zh-Hant.lproj/Presentation-Reporter.strings b/macos/ONLYOFFICE/zh-Hant-TW.lproj/Presentation-Reporter.strings similarity index 100% rename from macos/ONLYOFFICE/zh-Hant.lproj/Presentation-Reporter.strings rename to macos/ONLYOFFICE/zh-Hant-TW.lproj/Presentation-Reporter.strings diff --git a/macos/Vendor/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings b/macos/Vendor/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings index 28b831d83..77743bb54 100644 Binary files a/macos/Vendor/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings and b/macos/Vendor/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings differ diff --git a/macos/Vendor/Sparkle/sparkle.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings b/macos/Vendor/Sparkle/sparkle.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings index 28b831d83..77743bb54 100644 Binary files a/macos/Vendor/Sparkle/sparkle.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings and b/macos/Vendor/Sparkle/sparkle.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings differ diff --git a/win-linux/ASCDocumentEditor.pro b/win-linux/ASCDocumentEditor.pro index cfbf7d83a..65c9d4d59 100644 --- a/win-linux/ASCDocumentEditor.pro +++ b/win-linux/ASCDocumentEditor.pro @@ -23,7 +23,7 @@ DEFINES += __DONT_WRITE_IN_APP_TITLE message($$PLATFORM_BUILD) -win32 { +#win32 { updmodule:!build_xp { DEFINES += _UPDMODULE @@ -41,7 +41,7 @@ win32 { message(appcast url: $$ENV_URL_APPCAST_MAIN) message(appcast dev url: \\\"$$ENV_URL_APPCAST_DEV\\\") } -} +#} HEADERS += \ src/prop/cmainwindowimpl.h diff --git a/win-linux/defaults.pri b/win-linux/defaults.pri index c47d3b245..64395709a 100644 --- a/win-linux/defaults.pri +++ b/win-linux/defaults.pri @@ -1,6 +1,5 @@ QT += core gui widgets gui-private widgets-private core-private printsupport -QT += multimedia multimediawidgets QT += svg TEMPLATE = app @@ -47,7 +46,7 @@ TRANSLATIONS = ./langs/en.ts \ ./langs/uk.ts \ ./langs/vi.ts \ ./langs/be.ts \ - ./langs/zh_HK.ts \ + ./langs/zh_TW.ts \ ./langs/si.ts @@ -71,7 +70,6 @@ HEADERS += \ $$PWD/src/windows/ceditorwindow_p.h \ $$PWD/src/windows/cpresenterwindow.h \ $$PWD/src/components/asctabwidget.h \ - $$PWD/src/components/ctabbarwrapper.h \ $$PWD/src/components/cdownloadwidget.h \ $$PWD/src/components/cpushbutton.h \ $$PWD/src/components/cfiledialog.h \ @@ -122,7 +120,6 @@ SOURCES += \ $$PWD/src/components/cpushbutton.cpp \ $$PWD/src/components/cfiledialog.cpp \ $$PWD/src/components/cprintprogress.cpp \ - $$PWD/src/components/ctabbarwrapper.cpp \ $$PWD/src/components/ctabbar.cpp \ $$PWD/src/components/cmessage.cpp \ $$PWD/src/components/canimatedicon.cpp \ @@ -154,6 +151,15 @@ SOURCES += \ # src/ctabstyle.cpp # src/components/casclabel.cpp +updmodule:!build_xp { + INCLUDEPATH += $$PWD/extras/update-daemon/src/classes + HEADERS += $$PWD/src/cupdatemanager.h \ + $$PWD/extras/update-daemon/src/classes/csocket.h + + SOURCES += $$PWD/src/cupdatemanager.cpp \ + $$PWD/extras/update-daemon/src/classes/csocket.cpp +} + RESOURCES += $$PWD/resources.qrc DEFINES += COPYRIGHT_YEAR=$${CURRENT_YEAR} @@ -183,7 +189,8 @@ PLATFORM_BUILD=$$CORE_BUILDS_PLATFORM_PREFIX core_linux:LIBS += -Wl,-unresolved-symbols=ignore-in-shared-libs -ADD_DEPENDENCY(PdfFile, DjVuFile, XpsFile, HtmlRenderer, UnicodeConverter, hunspell, ooxmlsignature, kernel, kernel_network, graphics, videoplayer, ascdocumentscore, qtascdocumentscore) +ADD_DEPENDENCY(PdfFile, DjVuFile, XpsFile, HtmlRenderer, UnicodeConverter, hunspell, ooxmlsignature, kernel, kernel_network, graphics, ascdocumentscore, qtascdocumentscore) +include($$CORE_ROOT_DIR/../desktop-sdk/ChromiumBasedEditors/videoplayerlib/videoplayerlib_deps.pri) core_linux { QT += network x11extras @@ -219,6 +226,14 @@ core_linux { $$PWD/src/platform_linux/gtkutils.cpp \ $$PWD/src/platform_linux/xcbutils.cpp + updmodule { + HEADERS += $$PWD/src/platform_linux/updatedialog.h \ + $$PWD/gtk_resources.h + + SOURCES += $$PWD/src/platform_linux/updatedialog.cpp \ + $$PWD/gtk_resources.c + } + CONFIG += link_pkgconfig PKGCONFIG += glib-2.0 gtk+-3.0 atk gtk+-unix-print-3.0 xcb LIBS += -lX11 -lX11-xcb @@ -245,6 +260,7 @@ core_windows { $$PWD/src/windows/platform_win/caption.h \ $$PWD/src/platform_win/singleapplication.h \ $$PWD/src/platform_win/filechooser.h \ + $$PWD/src/platform_win/printdialog.h \ $$PWD/src/platform_win/message.h \ $$PWD/src/platform_win/resource.h @@ -252,18 +268,12 @@ core_windows { $$PWD/src/windows/platform_win/csnap.cpp \ $$PWD/src/platform_win/singleapplication.cpp \ $$PWD/src/platform_win/filechooser.cpp \ + $$PWD/src/platform_win/printdialog.cpp \ $$PWD/src/platform_win/message.cpp updmodule:!build_xp { - HEADERS += $$PWD/src/cupdatemanager.h - SOURCES += $$PWD/src/cupdatemanager.cpp - - INCLUDEPATH += $$PWD/extras/update-daemon/src/classes - HEADERS += $$PWD/src/platform_win/updatedialog.h \ - $$PWD/extras/update-daemon/src/classes/csocket.h - - SOURCES += $$PWD/src/platform_win/updatedialog.cpp \ - $$PWD/extras/update-daemon/src/classes/csocket.cpp + HEADERS += $$PWD/src/platform_win/updatedialog.h + SOURCES += $$PWD/src/platform_win/updatedialog.cpp } LIBS += -lwininet \ diff --git a/win-linux/extras/update-daemon/common.pri b/win-linux/extras/update-daemon/common.pri index c5d3b5de3..fa1b9192a 100644 --- a/win-linux/extras/update-daemon/common.pri +++ b/win-linux/extras/update-daemon/common.pri @@ -16,23 +16,11 @@ INCLUDEPATH += $$PWD/src INCLUDEPATH += $$PWD/../../src/prop HEADERS += $$PWD/src/version.h \ - $$PWD/src/utils.h \ - $$PWD/src/resource.h \ - $$PWD/src/svccontrol.h \ - $$PWD/src/classes/capplication.h \ $$PWD/src/classes/csocket.h \ - $$PWD/src/classes/cunzip.h \ - $$PWD/src/classes/csvcmanager.h \ - $$PWD/src/classes/cdownloader.h - -SOURCES += $$PWD/src/main.cpp \ - $$PWD/src/utils.cpp \ - $$PWD/src/svccontrol.cpp \ - $$PWD/src/classes/capplication.cpp \ - $$PWD/src/classes/csocket.cpp \ - $$PWD/src/classes/cunzip.cpp \ - $$PWD/src/classes/csvcmanager.cpp \ - $$PWD/src/classes/cdownloader.cpp + $$PWD/src/classes/csvcmanager.h + +SOURCES += $$PWD/src/classes/csocket.cpp \ + $$PWD/src/classes/csvcmanager.cpp ENV_PRODUCT_VERSION = $$(PRODUCT_VERSION) !isEmpty(ENV_PRODUCT_VERSION) { @@ -41,16 +29,18 @@ ENV_PRODUCT_VERSION = $$(PRODUCT_VERSION) VER_PRODUCT_VERSION_COMMAS=$$replace(FULL_PRODUCT_VERSION, \., ",") } -RC_FILE = $$PWD/version.rc +core_windows { + RC_FILE = $$PWD/version.rc -CONFIG += embed_manifest_exe -# Uncomment to testing service control -#QMAKE_LFLAGS += /MANIFESTUAC:$$quote(\"level=\'requireAdministrator\' uiAccess=\'false\'\") + CONFIG += embed_manifest_exe + # Uncomment to testing service control + #QMAKE_LFLAGS += /MANIFESTUAC:$$quote(\"level=\'requireAdministrator\' uiAccess=\'false\'\") -contains(QMAKE_TARGET.arch, x86_64):{ - QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.02 -} else { - QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01 + contains(QMAKE_TARGET.arch, x86_64):{ + QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.02 + } else { + QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01 + } } core_release:DESTDIR = $$DESTDIR/build @@ -62,27 +52,60 @@ core_debug:DESTDIR = $$DESTDIR/build/debug DESTDIR = $$DESTDIR/$$CORE_BUILDS_PLATFORM_PREFIX -build_xp { - DESTDIR = $$DESTDIR/xp - DEFINES += __OS_WIN_XP +core_windows { + HEADERS += $$PWD/src/platform_win/utils.h \ + $$PWD/src/platform_win/resource.h \ + $$PWD/src/platform_win/svccontrol.h \ + $$PWD/src/classes/platform_win/capplication.h \ + $$PWD/src/classes/platform_win/cunzip.h \ + $$PWD/src/classes/platform_win/cdownloader.h + + SOURCES += $$PWD/src/platform_win/main.cpp \ + $$PWD/src/platform_win/utils.cpp \ + $$PWD/src/platform_win/svccontrol.cpp \ + $$PWD/src/classes/platform_win/capplication.cpp \ + $$PWD/src/classes/platform_win/cunzip.cpp \ + $$PWD/src/classes/platform_win/cdownloader.cpp + + build_xp { + DESTDIR = $$DESTDIR/xp + DEFINES += __OS_WIN_XP + } + + LIBS += -luser32 \ + -lkernel32 \ + -lshell32 \ + -lshlwapi \ + -lole32 \ + -loleaut32 \ + -lcomsuppw \ + -ladvapi32 \ + -lwinhttp \ + -lwininet \ + -lws2_32 \ + -lrpcrt4 \ + -lwtsapi32 \ + -lcrypt32 \ + -lwintrust \ + -luserenv } -LIBS += -luser32 \ - -lkernel32 \ - -lshell32 \ - -lshlwapi \ - -lole32 \ - -loleaut32 \ - -lcomsuppw \ - -ladvapi32 \ - -lwinhttp \ - -lwininet \ - -lws2_32 \ - -lrpcrt4 \ - -lwtsapi32 \ - -lcrypt32 \ - -lwintrust \ - -luserenv +core_linux { + HEADERS += $$PWD/src/platform_linux/utils.h \ + $$PWD/src/classes/platform_linux/capplication.h \ + $$PWD/src/classes/platform_linux/cunzip.h \ + $$PWD/src/classes/platform_linux/cdownloader.h + + SOURCES += $$PWD/src/platform_linux/main.cpp \ + $$PWD/src/platform_linux/utils.cpp \ + $$PWD/src/classes/platform_linux/capplication.cpp \ + $$PWD/src/classes/platform_linux/cunzip.cpp \ + $$PWD/src/classes/platform_linux/cdownloader.cpp + + CONFIG += link_pkgconfig + PKGCONFIG += gtk+-3.0 + LIBS += -lSDL2 -lcurl -lssl -lcrypto -luuid -larchive -lpthread +} OBJECTS_DIR = $$DESTDIR/obj MOC_DIR = $$DESTDIR/moc diff --git a/win-linux/extras/update-daemon/src/classes/csocket.cpp b/win-linux/extras/update-daemon/src/classes/csocket.cpp index cd118f6d1..44a233ea6 100644 --- a/win-linux/extras/update-daemon/src/classes/csocket.cpp +++ b/win-linux/extras/update-daemon/src/classes/csocket.cpp @@ -32,25 +32,66 @@ #include "csocket.h" #include +#include -#define _WINSOCK_DEPRECATED_NO_WARNINGS -#ifndef UNICODE -# define UNICODE 1 +#ifdef _WIN32 +# define _WINSOCK_DEPRECATED_NO_WARNINGS +# ifndef UNICODE +# define UNICODE 1 +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +# include +# include +# define sleep(ms) Sleep(ms) +# define close_socket(a) closesocket(a) +#else +# include +# include +# include +# include +# include +# define SD_BOTH SHUT_RDWR +# define sleep(ms) usleep(ms*1000) +# define close_socket(a) close(a) + typedef int SOCKET; #endif -#ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif -#include -#include -#include -#include -#define AF_TYPE AF_INET + #define INADDR "127.0.0.1" #define RETRIES_DELAY_MS 4000 #define BUFFSIZE 1024 typedef struct sockaddr_in SockAddr; +static bool initSocket(u_short port, SOCKET &tmpd, SockAddr &addr, int &ret, std::string &error) +{ +#ifdef _WIN32 + WSADATA wsaData = {0}; + int iResult = 0; + iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (iResult != 0) { + error = "Init socket: WSAStartup failed!"; + return false; + } + tmpd = INVALID_SOCKET; + if ((tmpd = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET) { +#else + tmpd = -1; + if ((tmpd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { +#endif + error = "Init socket: socket not valid!"; + return false; + } + memset(&addr, 0, sizeof(SockAddr)); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = inet_addr(INADDR); + addr.sin_port = htons(port); + ret = ::bind(tmpd, (struct sockaddr*)&addr, sizeof(addr)); + return true; +} class CSocket::CSocketPrv { @@ -86,65 +127,41 @@ CSocket::CSocketPrv::~CSocketPrv() bool CSocket::CSocketPrv::createSocket(u_short port) { - WSADATA wsaData = {0}; - int iResult = 0; - iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (iResult != 0) { - postError("Create socket: WSAStartup failed!"); - return false; - } - SOCKET tmpd = INVALID_SOCKET; - if ((tmpd = socket(AF_TYPE, SOCK_DGRAM, 0)) == INVALID_SOCKET) { - postError("Create socket: socket not valid!"); + int ret; + SOCKET tmpd; + SockAddr addr; + std::string error; + if (!initSocket(port, tmpd, addr, ret, error)) { + postError(error.c_str()); return false; } - int len = 0; - SockAddr addr; - memset(&addr, 0, sizeof(SockAddr)); - addr.sin_family = AF_TYPE; - addr.sin_addr.s_addr = inet_addr(INADDR); - addr.sin_port = htons(port); - len = sizeof(addr); - - // bind the name to the descriptor - int ret = ::bind(tmpd, (struct sockaddr*)&addr, len); if (ret == 0) { receiver_fd = tmpd; return true; } - closesocket(tmpd); + close_socket(tmpd); postError("Could not create socket!"); return false; } bool CSocket::CSocketPrv::connectToSocket(u_short port) { - WSADATA wsaData = {0}; - int iResult = 0; - iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (iResult != 0) { - postError("Connect to socket: WSAStartup failed!"); - return false; - } - SOCKET tmpd = INVALID_SOCKET; - if ((tmpd = socket(AF_TYPE, SOCK_DGRAM, 0)) == INVALID_SOCKET) { - postError("Connect to socket: socket not valid!"); + int ret; + SOCKET tmpd; + SockAddr addr; + std::string error; + if (!initSocket(port, tmpd, addr, ret, error)) { + postError(error.c_str()); return false; } - int len = 0; - SockAddr addr; - memset(&addr, 0, sizeof(SockAddr)); - addr.sin_family = AF_TYPE; - addr.sin_addr.s_addr = inet_addr(INADDR); - addr.sin_port = htons(port); - len = sizeof(addr); - - // bind the name to the descriptor - int ret = ::bind(tmpd, (struct sockaddr*)&addr, len); if (ret != 0) { +#ifdef _WIN32 if (WSAGetLastError() == WSAEADDRINUSE) { +#else + if (errno == EADDRINUSE) { +#endif ret = ::connect(tmpd, (struct sockaddr*)&addr, sizeof(SockAddr)); if (ret == 0) { sender_fd = tmpd; @@ -152,7 +169,7 @@ bool CSocket::CSocketPrv::connectToSocket(u_short port) } } } - closesocket(tmpd); + close_socket(tmpd); postError("Could not connect to socket!"); return false; } @@ -182,7 +199,7 @@ void CSocket::CSocketPrv::closeSocket(SOCKET &socket) { if (socket >= 0) { shutdown(socket, SD_BOTH); - closesocket(socket); + close_socket(socket); socket = -1; } } @@ -197,11 +214,13 @@ CSocket::CSocket(int sender_port, int receiver_port) : pimpl(new CSocketPrv) { pimpl->m_sender_port = sender_port; + if (receiver_port <= 0) + return; pimpl->m_socket_created = pimpl->createSocket(receiver_port); pimpl->m_future = std::async(std::launch::async, [=]() { while (pimpl->m_run && !pimpl->m_socket_created) { pimpl->postError("Unable to create socket, retrying after 4 seconds."); - Sleep(RETRIES_DELAY_MS); + sleep(RETRIES_DELAY_MS); pimpl->m_socket_created = pimpl->createSocket(receiver_port); } if (pimpl->m_socket_created) @@ -216,8 +235,11 @@ CSocket::~CSocket() pimpl->closeSocket(pimpl->receiver_fd); if (pimpl->m_future.valid()) pimpl->m_future.wait(); - WSACleanup(); + delete pimpl; +#ifdef _WIN32 + WSACleanup(); +#endif } bool CSocket::isPrimaryInstance() @@ -235,7 +257,11 @@ bool CSocket::sendMessage(void *data, size_t size) char client_arg[BUFFSIZE] = {0}; memcpy(client_arg, data, size); +#ifdef _WIN32 int ret_data = send(pimpl->sender_fd, client_arg, BUFFSIZE, 0); // Send the string +#else + int ret_data =(int)send(pimpl->sender_fd, client_arg, BUFFSIZE, MSG_CONFIRM); +#endif if (ret_data != BUFFSIZE) { if (ret_data < 0) { pimpl->postError("Send message error: could not send device address to daemon!"); @@ -249,6 +275,14 @@ bool CSocket::sendMessage(void *data, size_t size) return true; } +bool CSocket::sendMessage(int cmd, const tstring ¶m1, const tstring ¶m2) +{ + tstring str = std::to_tstring(cmd) + _T("|") + (param1.empty() ? _T("null") : param1) + + _T("|") + (param2.empty() ? _T("null") : param2); + size_t sz = str.size() * sizeof(str.front()); + return sendMessage((void*)str.c_str(), sz); +} + void CSocket::onMessageReceived(FnVoidData callback) { pimpl->m_received_callback = callback; @@ -258,3 +292,12 @@ void CSocket::onError(FnVoidCharPtr callback) { pimpl->m_error_callback = callback; } + +int CSocket::parseMessage(void *data, std::vector ¶ms) +{ + tstring str((const tchar*)data), tmp; + tstringstream wss(str); + while (std::getline(wss, tmp, _T('|'))) + params.push_back(tmp == _T("null") ? _T("") : std::move(tmp)); + return (int)params.size(); +} diff --git a/win-linux/extras/update-daemon/src/classes/csocket.h b/win-linux/extras/update-daemon/src/classes/csocket.h index 8d3dbdf61..b686b21ef 100644 --- a/win-linux/extras/update-daemon/src/classes/csocket.h +++ b/win-linux/extras/update-daemon/src/classes/csocket.h @@ -33,7 +33,24 @@ #ifndef CSOCKET_H #define CSOCKET_H +#include +#include #include +#ifdef _WIN32 +# include +# define tchar wchar_t +# define tstringstream std::wstringstream +# define tstring std::wstring +# define to_tstring to_wstring +#else +# define _T(str) str +# define tchar char +# define tstringstream std::stringstream +# define tstring std::string +# define to_tstring to_string +#endif + +using std::size_t; typedef std::function FnVoidData; typedef std::function FnVoidCharPtr; @@ -62,8 +79,10 @@ class CSocket /* callback */ bool isPrimaryInstance(); bool sendMessage(void *data, size_t size); + bool sendMessage(int cmd, const tstring ¶m1 = _T(""), const tstring ¶m2 = _T("")); void onMessageReceived(FnVoidData callback); void onError(FnVoidCharPtr callback); + int parseMessage(void *data, std::vector ¶ms); private: class CSocketPrv; diff --git a/win-linux/extras/update-daemon/src/classes/csvcmanager.cpp b/win-linux/extras/update-daemon/src/classes/csvcmanager.cpp index b2a4a0140..8b89db22d 100644 --- a/win-linux/extras/update-daemon/src/classes/csvcmanager.cpp +++ b/win-linux/extras/update-daemon/src/classes/csvcmanager.cpp @@ -34,56 +34,91 @@ #include #include #include -#include #include -#include "utils.h" +#include #include "version.h" #include "../../src/defines.h" #include "../../src/prop/defines_p.h" -#include -#include -#include -#include -#include +#ifdef _WIN32 +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include "platform_win/utils.h" +# include +# include +# include +# include +# define APP_LAUNCH_NAME L"/DesktopEditors.exe" +# define APP_LAUNCH_NAME2 L"/editors.exe" +# define APP_HELPER L"/editors_helper.exe" +# define DAEMON_NAME L"/updatesvc.exe" +# define DAEMON_NAME_OLD L"/~updatesvc.exe" +# define RESTART_BATCH L"/svcrestart.bat" +# define SUBFOLDER TEXT("/" REG_APP_NAME) +# define ARCHIVE_EXT TEXT(".zip") +# define ARCHIVE_PATTERN TEXT("*.zip") +# define sleep(a) Sleep(a) +#else +# include "platform_linux/utils.h" +# include +# include +# include +# define APP_LAUNCH_NAME "/DesktopEditors" +# define APP_HELPER "/editors_helper" +# define DAEMON_NAME "/updatesvc" +# define SUBFOLDER "/desktopeditors" +# define ARCHIVE_EXT _T(".tar.xz") +# define ARCHIVE_PATTERN _T("*.tar.xz") +# define sleep(a) usleep(a*1000) +#endif -#define UPDATE_PATH TEXT("/" REG_APP_NAME "Updates") -#define BACKUP_PATH TEXT("/" REG_APP_NAME "Backup") -#define APP_LAUNCH_NAME L"/DesktopEditors.exe" -#define APP_LAUNCH_NAME2 L"/editors.exe" -#define APP_HELPER L"/editors_helper.exe" -#define DAEMON_NAME L"/updatesvc.exe" -#define DAEMON_NAME_OLD L"/~updatesvc.exe" -#define RESTART_BATCH L"/svcrestart.bat" -#define SUCCES_UNPACKED L"/success_unpacked.txt" +#define UPDATE_PATH _T("/" REG_APP_NAME "Updates") +#define BACKUP_PATH _T("/" REG_APP_NAME "Backup") +#define SUCCES_UNPACKED _T("/success_unpacked.txt") +#define __GLOBAL_LOCK if (m_lock) {NS_Logger::WriteLog(_T("Blocked in: ") + FUNCTION_INFO); return;} m_lock = true; \ + NS_Logger::WriteLog(_T("Locking and further execution: ") + FUNCTION_INFO); +#define __UNLOCK m_lock = false; NS_Logger::WriteLog(_T("Unlocked in: ") + FUNCTION_INFO); using std::vector; -auto currentArch()->wstring +auto currentArch()->tstring { -#ifdef _WIN64 +#ifdef _WIN32 +# ifdef _WIN64 return L"_x64"; -#else +# else return L"_x86"; +# endif +#else + return _T("_x64"); #endif } -auto generateTmpFileName(const wstring &ext)->wstring +auto generateTmpFileName(const tstring &ext)->tstring { - wstring uuid_wstr; + tstring uuid_tstr; +#ifdef _WIN32 UUID uuid = {0}; RPC_WSTR wszUuid = NULL; if (UuidCreate(&uuid) == RPC_S_OK && UuidToStringW(&uuid, &wszUuid) == RPC_S_OK) { - uuid_wstr = ((wchar_t*)wszUuid); + uuid_tstr = ((wchar_t*)wszUuid); RpcStringFreeW(&wszUuid); } else - uuid_wstr = L"00000000-0000-0000-0000-000000000000"; - return NS_File::tempPath() + L"/" + TEXT(FILE_PREFIX) + uuid_wstr + currentArch() + ext; + uuid_tstr = L"00000000-0000-0000-0000-000000000000"; +#else + uuid_t uuid; + char uuid_str[37]; + uuid_generate(uuid); + uuid_unparse(uuid, uuid_str); + uuid_tstr = uuid_str; +#endif + return NS_File::tempPath() + _T("/") + _T(FILE_PREFIX) + uuid_tstr + currentArch() + ext; } -auto isSuccessUnpacked(const wstring &successFilePath, const wstring &version)->bool +auto isSuccessUnpacked(const tstring &successFilePath, const tstring &version)->bool { - list lines; + list lines; if (NS_File::readFile(successFilePath, lines)) { if (std::find(lines.begin(), lines.end(), version) != lines.end()) return true; @@ -128,6 +163,15 @@ auto restartService()->void CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } + +auto verToAppVer(const wstring &ver)->wstring +{ + size_t pos = ver.find(L'.'); + if (pos == std::wstring::npos) + return ver; + pos = ver.find(L'.', pos + 1); + return (pos == std::wstring::npos) ? ver : ver.substr(0, pos); +} #endif CSvcManager::CSvcManager(): @@ -166,31 +210,28 @@ void CSvcManager::init() m_pUnzip->onComplete([=](int error) { onCompleteUnzip(error); }); - m_socket->onMessageReceived([=](void *data, size_t size) { - wstring str((const wchar_t*)data), tmp; - vector params; - std::wstringstream wss(str); - while (std::getline(wss, tmp, L'|')) - params.push_back(std::move(tmp)); - - if (params.size() == 4) { + m_socket->onMessageReceived([=](void *data, size_t) { + vector params; + if (m_socket->parseMessage(data, params) == 3) { switch (std::stoi(params[0])) { case MSG_CheckUpdates: { + __GLOBAL_LOCK //DeleteUrlCacheEntry(params[1].c_str()); m_downloadMode = Mode::CHECK_UPDATES; if (m_pDownloader) - m_pDownloader->downloadFile(params[1], generateTmpFileName(L".json")); - NS_Logger::WriteLog(L"Received MSG_CheckUpdates, URL: " + params[1]); + m_pDownloader->downloadFile(params[1], generateTmpFileName(_T(".json"))); + NS_Logger::WriteLog(_T("Received MSG_CheckUpdates, URL: ") + params[1]); break; } case MSG_LoadUpdates: { + __GLOBAL_LOCK m_downloadMode = Mode::DOWNLOAD_UPDATES; if (m_pDownloader) { - wstring ext = (params[2] == TEXT("iss")) ? TEXT(".exe") : - (params[2] == TEXT("msi")) ? TEXT(".msi") : TEXT(".zip"); + tstring ext = (params[2] == _T("iss")) ? _T(".exe") : + (params[2] == _T("msi")) ? _T(".msi") : ARCHIVE_EXT; m_pDownloader->downloadFile(params[1], generateTmpFileName(ext)); } - NS_Logger::WriteLog(L"Received MSG_LoadUpdates, URL: " + params[1]); + NS_Logger::WriteLog(_T("Received MSG_LoadUpdates, URL: ") + params[1]); break; } case MSG_StopDownload: { @@ -204,7 +245,9 @@ void CSvcManager::init() break; case MSG_StartReplacingFiles: - startReplacingFiles(); + __GLOBAL_LOCK + startReplacingFiles(params[1], params[2] == _T("true")); + __UNLOCK break; case MSG_ClearTempFiles: @@ -218,46 +261,51 @@ void CSvcManager::init() }); m_socket->onError([](const char* error) { + tstring _error; +#ifdef _WIN32 std::wstring_convert> converter; - NS_Logger::WriteLog(converter.from_bytes(error)); + _error = converter.from_bytes(error); +#else + _error = error; +#endif + NS_Logger::WriteLog(_error); }); } void CSvcManager::onCompleteUnzip(const int error) { + __UNLOCK if (error == UNZIP_OK) { // Сreate a file about successful unpacking for use in subsequent launches - const wstring updPath = NS_File::parentPath(NS_File::appPath()) + UPDATE_PATH; - list successList{m_newVersion}; + const tstring updPath = NS_File::parentPath(NS_File::appPath()) + UPDATE_PATH; + list successList{m_newVersion}; if (!NS_File::writeToFile(updPath + SUCCES_UNPACKED, successList)) { - m_lock = false; return; } - if (!sendMessage(MSG_ShowStartInstallMessage)) + if (!m_socket->sendMessage(MSG_ShowStartInstallMessage)) NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE); } else if (error == UNZIP_ERROR) { - wstring error(L"An error occured while unpacking the archive"); - if (!sendMessage(MSG_OtherError, error)) + if (!m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_UNPACKING"))) NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE); } else if (error == UNZIP_ABORT) { // Stop unzip } - m_lock = false; } -void CSvcManager::onCompleteSlot(const int error, const wstring &filePath) +void CSvcManager::onCompleteSlot(const int error, const tstring &filePath) { + __UNLOCK if (error == 0) { switch (m_downloadMode) { case Mode::CHECK_UPDATES: - sendMessage(MSG_LoadCheckFinished, filePath); + m_socket->sendMessage(MSG_LoadCheckFinished, filePath); break; case Mode::DOWNLOAD_UPDATES: - sendMessage(MSG_LoadUpdateFinished, filePath); + m_socket->sendMessage(MSG_LoadUpdateFinished, filePath); break; default: break; @@ -267,33 +315,37 @@ void CSvcManager::onCompleteSlot(const int error, const wstring &filePath) // Pause or Stop } else if (error == -1) { - sendMessage(MSG_OtherError, L"Update download failed: out of memory!"); + m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_DNL_OUT_MEM")); } else if (error == -2) { - sendMessage(MSG_OtherError, L"Update download failed: server connection error!"); + m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_DNL_CONN")); + } else + if (error == -3) { + m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_DNL_URL")); + } else + if (error == -4) { + m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_DNL_CREAT")); } else { - sendMessage(MSG_OtherError, L"Update download failed: network error!"); + m_socket->sendMessage(MSG_OtherError, _T("SVC_TXT_ERR_DNL_INET")); } } void CSvcManager::onProgressSlot(const int percent) { if (m_downloadMode == Mode::DOWNLOAD_UPDATES) - sendMessage(MSG_Progress, to_wstring(percent)); + m_socket->sendMessage(MSG_Progress, to_tstring(percent)); } -void CSvcManager::unzipIfNeeded(const wstring &filePath, const wstring &newVersion) +void CSvcManager::unzipIfNeeded(const tstring &filePath, const tstring &newVersion) { - if (m_lock) - return; - m_lock = true; + __GLOBAL_LOCK m_newVersion = newVersion; - const wstring updPath = NS_File::parentPath(NS_File::appPath()) + UPDATE_PATH; + const tstring updPath = NS_File::parentPath(NS_File::appPath()) + UPDATE_PATH; auto unzip = [=]()->void { if (!NS_File::dirExists(updPath) && !NS_File::makePath(updPath)) { - NS_Logger::WriteLog(L"An error occurred while creating dir: " + updPath); - m_lock = false; + NS_Logger::WriteLog(_T("An error occurred while creating dir: ") + updPath); + __UNLOCK return; } m_pUnzip->extractArchive(filePath, updPath); @@ -303,8 +355,8 @@ void CSvcManager::unzipIfNeeded(const wstring &filePath, const wstring &newVersi unzip(); } else { if (isSuccessUnpacked(updPath + SUCCES_UNPACKED, newVersion)) { - m_lock = false; - if (!sendMessage(MSG_ShowStartInstallMessage)) + __UNLOCK + if (!m_socket->sendMessage(MSG_ShowStartInstallMessage)) NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE); } else { @@ -315,88 +367,85 @@ void CSvcManager::unzipIfNeeded(const wstring &filePath, const wstring &newVersi } } -void CSvcManager::clearTempFiles(const wstring &prefix, const wstring &except) +void CSvcManager::clearTempFiles(const tstring &prefix, const tstring &except) { m_future_clear = std::async(std::launch::async, [=]() { #ifdef _WIN32 if (NS_File::fileExists(NS_File::appPath() + RESTART_BATCH)) NS_File::removeFile(NS_File::appPath() + RESTART_BATCH); #endif - list filesList; - wstring _error; + tstring _error; + list filesList; if (!NS_File::GetFilesList(NS_File::tempPath(), &filesList, _error, true)) { - NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE + L" " + _error); + NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE + _T(" ") + _error); return; } for (auto &filePath : filesList) { - if (PathMatchSpec(filePath.c_str(), L"*.json") || PathMatchSpec(filePath.c_str(), L"*.zip") - || PathMatchSpec(filePath.c_str(), L"*.msi") || PathMatchSpec(filePath.c_str(), L"*.exe")) { - wstring lcFilePath(filePath); +#ifdef _WIN32 + if (PathMatchSpec(filePath.c_str(), L"*.json") || PathMatchSpec(filePath.c_str(), ARCHIVE_PATTERN) + || PathMatchSpec(filePath.c_str(), L"*.msi") || PathMatchSpec(filePath.c_str(), L"*.exe")) { +#else + if (fnmatch("*.json", filePath.c_str(), 0) == 0 || fnmatch(ARCHIVE_PATTERN, filePath.c_str(), 0) == 0) { +#endif + tstring lcFilePath(filePath); std::transform(lcFilePath.begin(), lcFilePath.end(), lcFilePath.begin(), ::tolower); - if (lcFilePath.find(prefix) != wstring::npos && filePath != except) + if (lcFilePath.find(prefix) != tstring::npos && filePath != except) NS_File::removeFile(filePath); } } }); } -void CSvcManager::startReplacingFiles() +void CSvcManager::startReplacingFiles(const tstring &packageType, const bool restartAfterUpdate) { - wstring appPath = NS_File::appPath(); - wstring updPath = NS_File::parentPath(appPath) + UPDATE_PATH; - wstring tmpPath = NS_File::parentPath(appPath) + BACKUP_PATH; + tstring appPath = NS_File::appPath(); + tstring updPath = NS_File::parentPath(appPath) + UPDATE_PATH; + tstring updSubPath = NS_File::fileExists(updPath + SUBFOLDER + APP_LAUNCH_NAME) ? updPath + SUBFOLDER : updPath; + tstring tmpPath = NS_File::parentPath(appPath) + BACKUP_PATH; if (!NS_File::dirExists(updPath)) { - NS_Logger::WriteLog(L"Update cancelled. Can't find folder: " + updPath, true); + NS_Logger::WriteLog(_T("Update cancelled. Can't find folder: ") + updPath, true); return; } -#ifndef DONT_VERIFY_SIGNATURE +#ifdef _WIN32 +# ifndef DONT_VERIFY_SIGNATURE // Verify the signature of executable files - if (!NS_File::verifyEmbeddedSignature(updPath + APP_LAUNCH_NAME)) { - NS_Logger::WriteLog(L"Update cancelled. The file signature is missing: " + updPath + APP_LAUNCH_NAME, true); - return; - } - if (!NS_File::verifyEmbeddedSignature(updPath + APP_LAUNCH_NAME2)) { - NS_Logger::WriteLog(L"Update cancelled. The file signature is missing: " + updPath + APP_LAUNCH_NAME2, true); - return; - } - if (!NS_File::verifyEmbeddedSignature(updPath + DAEMON_NAME)) { - NS_Logger::WriteLog(L"Update cancelled. The file signature is missing: " + updPath + DAEMON_NAME, true); - return; + { + tstring apps[] = {APP_LAUNCH_NAME, APP_LAUNCH_NAME2, APP_HELPER, DAEMON_NAME}; + for (int i = 0; i < sizeof(apps) / sizeof(apps[0]); i++) { + if (!NS_File::verifyEmbeddedSignature(updSubPath + apps[i])) { + NS_Logger::WriteLog(L"Update cancelled. The file signature is missing: " + updSubPath + apps[i], true); + return; + } + } } +# endif #endif // Check backup folder if (NS_File::dirExists(tmpPath) && !NS_File::removeDirRecursively(tmpPath)) { - NS_Logger::WriteLog(L"Update cancelled. Can't delete folder: " + tmpPath, true); + NS_Logger::WriteLog(_T("Update cancelled. Can't delete folder: ") + tmpPath, true); return; } // Wait until the main app closes { - int retries = 10; - wstring app(APP_LAUNCH_NAME2); - app = app.substr(1); - while (NS_File::isProcessRunning(app) && retries-- > 0) - Sleep(500); - - if (NS_File::isProcessRunning(app)) { - NS_Logger::WriteLog(L"Update cancelled. The main application is not closed!", true); - return; - } - } - - // Wait until editors_helper.exe closes - { - int retries = 10; - wstring app(APP_HELPER); - app = app.substr(1); - while (NS_File::isProcessRunning(app) && retries-- > 0) - Sleep(500); - - if (NS_File::isProcessRunning(app)) { - NS_Logger::WriteLog(L"Update cancelled. The editors_helper.exe is not closed!", true); - return; +#ifdef _WIN32 + tstring apps[] = {APP_LAUNCH_NAME2, APP_HELPER}; +#else + tstring apps[] = {APP_LAUNCH_NAME, APP_HELPER}; +#endif + for (int i = 0; i < sizeof(apps) / sizeof(apps[0]); i++) { + int retries = 10; + tstring app(apps[i]); + app = app.substr(1); + while (NS_File::isProcessRunning(app) && retries-- > 0) + sleep(500); + + if (NS_File::isProcessRunning(app)) { + NS_Logger::WriteLog(_T("Update cancelled. The ") + app + _T(" is not closed!"), true); + return; + } } } @@ -410,34 +459,36 @@ void CSvcManager::startReplacingFiles() #else if (!NS_File::replaceFolder(appPath, tmpPath, true)) { #endif - NS_Logger::WriteLog(L"Update cancelled. Can't replace files to backup: " + NS_Utils::GetLastErrorAsString(), true); + NS_Logger::WriteLog(_T("Update cancelled. Can't replace files to backup: ") + NS_Utils::GetLastErrorAsString(), true); if (NS_File::dirExists(tmpPath) && !NS_File::dirIsEmpty(tmpPath) && !NS_File::replaceFolder(tmpPath, appPath)) - NS_Logger::WriteLog(L"Can't restore files from backup!", true); + NS_Logger::WriteLog(_T("Can't restore files from backup!"), true); return; } // Move update path to app path - if (!NS_File::replaceFolder(updPath, appPath, true)) { - NS_Logger::WriteLog(L"Update cancelled. Can't move updates to App path: " + NS_Utils::GetLastErrorAsString(), true); + if (!NS_File::replaceFolder(updSubPath, appPath, true)) { + NS_Logger::WriteLog(_T("Update cancelled. Can't move updates to App path: ") + NS_Utils::GetLastErrorAsString(), true); if (NS_File::dirExists(appPath) && !NS_File::removeDirRecursively(appPath)) { - NS_Logger::WriteLog(L"An error occurred while remove App path: " + NS_Utils::GetLastErrorAsString(), true); + NS_Logger::WriteLog(_T("An error occurred while remove App path: ") + NS_Utils::GetLastErrorAsString(), true); return; } if (!NS_File::replaceFolder(tmpPath, appPath, true)) - NS_Logger::WriteLog(L"An error occurred while restore files from backup: " + NS_Utils::GetLastErrorAsString(), true); + NS_Logger::WriteLog(_T("An error occurred while restore files from backup: ") + NS_Utils::GetLastErrorAsString(), true); NS_File::removeDirRecursively(updPath); return; } - // To support a version with unins000 files inside the working folder - if (NS_File::fileExists(tmpPath + L"/unins000.msg")) - NS_File::replaceFile(tmpPath + L"/unins000.msg", appPath + L"/unins000.msg"); - if (NS_File::fileExists(tmpPath + L"/unins000.dat")) - NS_File::replaceFile(tmpPath + L"/unins000.dat", appPath + L"/unins000.dat"); - if (NS_File::fileExists(tmpPath + L"/unins000.exe")) - NS_File::replaceFile(tmpPath + L"/unins000.exe", appPath + L"/unins000.exe"); +#ifdef _WIN32 + // Moving the necessary files to their original location + { + tstring files[] = {L"/unins000.msg", L"/unins000.dat", L"/unins000.exe", L"/converter/package.config"}; + for (int i = 0; i < sizeof(files) / sizeof(files[0]); i++) { + if (NS_File::fileExists(tmpPath + files[i])) + NS_File::replaceFile(tmpPath + files[i], appPath + files[i]); + } + } // To support a version without updatesvc.exe inside the working folder if (!NS_File::fileExists(appPath + DAEMON_NAME)) @@ -445,12 +496,8 @@ void CSvcManager::startReplacingFiles() else NS_File::replaceFile(tmpPath + DAEMON_NAME, appPath + DAEMON_NAME_OLD); - // Package type sync - if (NS_File::fileExists(tmpPath + TEXT("/converter/package.config"))) - NS_File::replaceFile(tmpPath + TEXT("/converter/package.config"), appPath + TEXT("/converter/package.config")); - // Update version in registry - { + if (packageType == TEXT("iss") || packageType == TEXT("msi")) { wstring ver; list lines; if (NS_File::readFile(appPath + SUCCES_UNPACKED, lines)) { @@ -462,9 +509,10 @@ void CSvcManager::startReplacingFiles() HKEY hKey, hAppKey; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"), 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { wstring app_name(TEXT(WINDOW_NAME)); - wstring app_key = app_name + L"_is1"; + wstring app_key(app_name); + app_key += (packageType == TEXT("iss")) ? L"_is1" : L""; if (RegOpenKeyEx(hKey, app_key.c_str(), 0, KEY_ALL_ACCESS, &hAppKey) == ERROR_SUCCESS) { - wstring disp_name = app_name + L" " + ver + L" (" + currentArch().substr(1) + L")"; + wstring disp_name = app_name + L" " + verToAppVer(ver) + L" (" + currentArch().substr(1) + L")"; if (RegSetValueEx(hAppKey, TEXT("DisplayName"), 0, REG_SZ, (const BYTE*)disp_name.c_str(), (DWORD)(disp_name.length() + 1) * sizeof(WCHAR)) != ERROR_SUCCESS) NS_Logger::WriteLog(L"Can't update DisplayName in registry!"); if (RegSetValueEx(hAppKey, TEXT("DisplayVersion"), 0, REG_SZ, (const BYTE*)ver.c_str(), (DWORD)(ver.length() + 1) * sizeof(WCHAR)) != ERROR_SUCCESS) @@ -475,23 +523,38 @@ void CSvcManager::startReplacingFiles() } } } +#endif + + // Merging providers, templates, uithemes folders + { + tstring paths[] = {_T("/providers"), _T("/converter/empty"), _T("/uithemes")}; + for (int i = 0; i < sizeof(paths) / sizeof(paths[0]); i++) { + tstring err; + std::list old_paths, new_paths; + if (NS_File::GetFilesList(tmpPath + paths[i], &old_paths, err, true, true)) { + if (NS_File::GetFilesList(appPath + paths[i], &new_paths, err, true, true)) { + for (auto &path : old_paths) { + if (std::find(new_paths.begin(), new_paths.end(), path) == new_paths.end()) + NS_File::replaceFolder(tmpPath + paths[i] + path, appPath + paths[i] + path); + } + } else + NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE + _T(" ") + err); + } else + NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE + _T(" ") + err); + } + } // Remove Backup dir NS_File::removeDirRecursively(tmpPath); // Restart program - if (!NS_File::runProcess(appPath + APP_LAUNCH_NAME, L"")) - NS_Logger::WriteLog(L"An error occurred while restarting the program!", true); + if (restartAfterUpdate) { + if (!NS_File::runProcess(appPath + APP_LAUNCH_NAME, _T(""))) + NS_Logger::WriteLog(_T("An error occurred while restarting the program!"), true); + } // Restart service #ifdef _WIN32 restartService(); #endif } - -bool CSvcManager::sendMessage(int cmd, const wstring ¶m1, const wstring ¶m2, const wstring ¶m3) -{ - wstring str = to_wstring(cmd) + L"|" + param1 + L"|" + param2 + L"|" + param3; - size_t sz = str.size() * sizeof(str.front()); - return m_socket->sendMessage((void*)str.c_str(), sz); -} diff --git a/win-linux/extras/update-daemon/src/classes/csvcmanager.h b/win-linux/extras/update-daemon/src/classes/csvcmanager.h index 1f940ba53..e5bd5a457 100644 --- a/win-linux/extras/update-daemon/src/classes/csvcmanager.h +++ b/win-linux/extras/update-daemon/src/classes/csvcmanager.h @@ -33,14 +33,17 @@ #ifndef CSVCMANAGER_H #define CSVCMANAGER_H -#include "classes/cdownloader.h" -#include "classes/cunzip.h" #include "classes/csocket.h" #include +#ifdef _WIN32 +# include "classes/platform_win/cdownloader.h" +# include "classes/platform_win/cunzip.h" +#else +# include "classes/platform_linux/cdownloader.h" +# include "classes/platform_linux/cunzip.h" +#endif typedef std::function FnVoidVoid; - -using std::wstring; using std::future; @@ -56,16 +59,14 @@ class CSvcManager private: void init(); void onCompleteUnzip(const int error); - void onCompleteSlot(const int error, const wstring &filePath); + void onCompleteSlot(const int error, const tstring &filePath); void onProgressSlot(const int percent); - void unzipIfNeeded(const wstring &filePath, const wstring &newVersion); - void clearTempFiles(const wstring &prefix, const wstring &except = wstring()); - void startReplacingFiles(); - bool sendMessage(int cmd, const wstring ¶m1 = L"null", const wstring ¶m2 = L"null", - const wstring ¶m3 = L"null"); + void unzipIfNeeded(const tstring &filePath, const tstring &newVersion); + void clearTempFiles(const tstring &prefix, const tstring &except = tstring()); + void startReplacingFiles(const tstring &packageType, const bool restartAfterUpdate); FnVoidVoid m_quit_callback = nullptr; - wstring m_newVersion; + tstring m_newVersion; bool m_lock = false; int m_downloadMode; future m_future_clear; diff --git a/win-linux/extras/update-daemon/src/classes/ctimer.cpp b/win-linux/extras/update-daemon/src/classes/ctimer.cpp index 9956d963c..845516e61 100644 --- a/win-linux/extras/update-daemon/src/classes/ctimer.cpp +++ b/win-linux/extras/update-daemon/src/classes/ctimer.cpp @@ -32,6 +32,7 @@ #include "ctimer.h" #include +#include CTimer::CTimer() diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.cpp b/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.cpp new file mode 100644 index 000000000..106249d8e --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.cpp @@ -0,0 +1,73 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "capplication.h" +#include "platform_linux/utils.h" +#include +#include + + +CApplication::CApplication() +{ + if (SDL_Init(SDL_INIT_VIDEO) != 0) + NS_Logger::WriteLog(string("SDL_Init error: ") + SDL_GetError(), true); +} + +CApplication::~CApplication() +{ + SDL_Quit(); +} + +int CApplication::exec() +{ + int exit_code = 1; + SDL_Event event; + while (m_run && SDL_WaitEvent(&event)) { + switch (event.type) { + case SDL_QUIT: + exit_code = event.user.code; + break; + default: + break; + } + } + return exit_code; +} + +void CApplication::exit(int code) +{ + m_run = false; + SDL_Event event; + event.type = SDL_QUIT; + event.user.code = code; + SDL_PushEvent(&event); +} diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.h b/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.h new file mode 100644 index 000000000..8e8b22dcf --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/capplication.h @@ -0,0 +1,52 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#ifndef CAPPLICATION_H +#define CAPPLICATION_H + +#include + + +class CApplication +{ +public: + CApplication(); + ~CApplication(); + + int exec(); + void exit(int); + +private: + std::atomic_bool m_run{true}; +}; + +#endif // CAPPLICATION_H diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.cpp b/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.cpp new file mode 100644 index 000000000..d6614b28b --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.cpp @@ -0,0 +1,161 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "cdownloader.h" +#include +#include + + +class CDownloaderPrivate +{ +public: + CDownloaderPrivate() + {} + ~CDownloaderPrivate() + {} + + FnVoidInt m_complete_callback = nullptr, + m_progress_callback = nullptr; + string m_url, + m_filePath; + int m_prev_percent; + std::future m_future; + std::atomic_bool m_run, + m_lock; +}; + +int progress_callback(void *user_data, curl_off_t dltotal, curl_off_t dlnow, curl_off_t, curl_off_t) +{ + CDownloaderPrivate *pdata = (CDownloaderPrivate*)user_data; + if (dltotal > 0 && pdata->m_progress_callback) { + int percent = static_cast((100.0 * dlnow) / dltotal); + if (percent != pdata->m_prev_percent) { + pdata->m_progress_callback(percent); + pdata->m_prev_percent = percent; + } + } + + if (pdata->m_run == false) + return CURLE_ABORTED_BY_CALLBACK; + + return CURLE_OK; +} + +CDownloader::CDownloader() : + pimpl(new CDownloaderPrivate) +{ + pimpl->m_run = true; + pimpl->m_lock = false; +} + +CDownloader::~CDownloader() +{ + pimpl->m_run = false; + if (pimpl->m_future.valid()) + pimpl->m_future.wait(); + delete pimpl, pimpl = nullptr; +} + +void CDownloader::downloadFile(const string &url, const string &filePath) +{ + pimpl->m_url.clear(); + pimpl->m_filePath.clear(); + if (url.empty() || filePath.empty() || pimpl->m_lock) + return; + + pimpl->m_url = url; + pimpl->m_filePath = filePath; + start(); +} + +void CDownloader::start() +{ + if (pimpl->m_url.empty() || pimpl->m_filePath.empty() || pimpl->m_lock) + return; + + pimpl->m_run = true; + pimpl->m_lock = true; + pimpl->m_future = std::async(std::launch::async, [=]() { + CURLcode res = CURLE_FAILED_INIT; + if (FILE *fp = fopen(pimpl->m_filePath.c_str(), "wb")) { + if (CURL *curl = curl_easy_init()) { + pimpl->m_prev_percent = -1; + curl_easy_setopt(curl, CURLOPT_URL, pimpl->m_url.c_str()); + curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0); + curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, progress_callback); + curl_easy_setopt(curl, CURLOPT_XFERINFODATA, (void*)pimpl); + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + } + fclose(fp); + if (res == CURLE_ABORTED_BY_CALLBACK) + remove(pimpl->m_filePath.c_str()); + } else + res = CURLE_WRITE_ERROR; + + int error = (res == CURLE_OK) ? 0 : + (res == CURLE_ABORTED_BY_CALLBACK) ? 1 : + (res == CURLE_OUT_OF_MEMORY) ? -1 : + (res == CURLE_HTTP_RETURNED_ERROR) ? -2 : -3; + + if (pimpl->m_complete_callback) + pimpl->m_complete_callback(error); + pimpl->m_lock = false; + }); +} + +void CDownloader::pause() +{ + pimpl->m_run = false; +} + +void CDownloader::stop() +{ + pimpl->m_run = false; +} + +string CDownloader::GetFilePath() +{ + return pimpl->m_filePath; +} + +void CDownloader::onComplete(FnVoidInt callback) +{ + pimpl->m_complete_callback = callback; +} + +void CDownloader::onProgress(FnVoidInt callback) +{ + pimpl->m_progress_callback = callback; +} diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.h b/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.h new file mode 100644 index 000000000..f01b0f9a8 --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/cdownloader.h @@ -0,0 +1,66 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#ifndef CDOWNLOADER_H +#define CDOWNLOADER_H + +#include +#include + +typedef std::function FnVoidInt; + +using std::string; + + +class CDownloaderPrivate; + +class CDownloader +{ +public: + CDownloader(); + ~CDownloader(); + + void downloadFile(const string &url, const string &filePath); + void start(); + void pause(); + void stop(); + string GetFilePath(); + + /* callback */ + void onComplete(FnVoidInt callback); + void onProgress(FnVoidInt callback); + +private: + CDownloaderPrivate *pimpl = nullptr; +}; + +#endif // CDOWNLOADER_H diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.cpp b/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.cpp new file mode 100644 index 000000000..cd62e2560 --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.cpp @@ -0,0 +1,134 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "cunzip.h" +#include "platform_linux/utils.h" +#include +#include +#include + +#define BLOCK_SIZE 10240 + + +int unzipArchive(const string &zipFilePath, const string &folderPath, std::atomic_bool &run, string &error) +{ + if (!NS_File::fileExists(zipFilePath) || !NS_File::dirExists(folderPath)) { + error = "Archive path is empty or dest dir not exist"; + return UNZIP_ERROR; + } + + struct archive *arch = archive_read_new(); + archive_read_support_filter_xz(arch); + archive_read_support_format_tar(arch); + if (archive_read_open_filename(arch, zipFilePath.c_str(), BLOCK_SIZE) != ARCHIVE_OK) { + error = "Cannot open archive"; + archive_read_free(arch); + return UNZIP_ERROR; + } + + int res = ARCHIVE_OK; + int ex_code = UNZIP_OK; + struct archive_entry *entry; + while ((res = archive_read_next_header(arch, &entry)) == ARCHIVE_OK) { + if (!run) { + ex_code = UNZIP_ABORT; + break; + } + + const char *entryname = archive_entry_pathname(entry); + if (!entryname) { + error = "Invalid entry name"; + break; + } + + char outpath[1024] = {0}; + snprintf(outpath, sizeof(outpath), "%s%s", folderPath.c_str(), entryname); + + if (archive_entry_filetype(entry) == AE_IFREG) { + archive_entry_set_pathname(entry, outpath); + res = archive_read_extract(arch, entry, ARCHIVE_EXTRACT_TIME | ARCHIVE_EXTRACT_PERM + | ARCHIVE_EXTRACT_ACL | ARCHIVE_EXTRACT_FFLAGS + | ARCHIVE_EXTRACT_NO_OVERWRITE); + if (res != ARCHIVE_OK) { + error = "Cannot extract entry"; + break; + } + } + } + + if (res != ARCHIVE_EOF && ex_code != UNZIP_ABORT) { + error = string("Error reading archive: ") + archive_error_string(arch); + ex_code = UNZIP_ERROR; + } + + archive_read_close(arch); + archive_read_free(arch); + return ex_code; +} + +CUnzip::CUnzip() +{ + m_run = false; +} + +CUnzip::~CUnzip() +{ + m_run = false; + if (m_future.valid()) + m_future.wait(); +} + +void CUnzip::extractArchive(const string &zipFilePath, const string &folderPath) +{ + m_run = false; + if (m_future.valid()) + m_future.wait(); + m_run = true; + m_future = std::async(std::launch::async, [=]() { + string error; + int res = unzipArchive(zipFilePath, folderPath, m_run, error); + if (!error.empty()) + fprintf(stderr, "%s", error.c_str()); + if (m_complete_callback) + m_complete_callback(res); + }); +} + +void CUnzip::stop() +{ + m_run = false; +} + +void CUnzip::onComplete(FnVoidInt callback) +{ + m_complete_callback = callback; +} diff --git a/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.h b/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.h new file mode 100644 index 000000000..710a1aee5 --- /dev/null +++ b/win-linux/extras/update-daemon/src/classes/platform_linux/cunzip.h @@ -0,0 +1,67 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#ifndef CUNZIP_H +#define CUNZIP_H + +#include +#include +#include + +#define UNZIP_OK 0 +#define UNZIP_ERROR 1 +#define UNZIP_ABORT 2 + +typedef std::function FnVoidInt; + +using std::string; + + +class CUnzip +{ +public: + CUnzip(); + ~CUnzip(); + + void extractArchive(const string &zipFilePath, const string &folderPath); + void stop(); + + /* callback */ + void onComplete(FnVoidInt callback); + +private: + FnVoidInt m_complete_callback = nullptr; + std::atomic_bool m_run; + std::future m_future; +}; + +#endif // CUNZIP_H diff --git a/win-linux/extras/update-daemon/src/classes/capplication.cpp b/win-linux/extras/update-daemon/src/classes/platform_win/capplication.cpp similarity index 100% rename from win-linux/extras/update-daemon/src/classes/capplication.cpp rename to win-linux/extras/update-daemon/src/classes/platform_win/capplication.cpp diff --git a/win-linux/extras/update-daemon/src/classes/capplication.h b/win-linux/extras/update-daemon/src/classes/platform_win/capplication.h similarity index 100% rename from win-linux/extras/update-daemon/src/classes/capplication.h rename to win-linux/extras/update-daemon/src/classes/platform_win/capplication.h diff --git a/win-linux/extras/update-daemon/src/classes/cdownloader.cpp b/win-linux/extras/update-daemon/src/classes/platform_win/cdownloader.cpp similarity index 97% rename from win-linux/extras/update-daemon/src/classes/cdownloader.cpp rename to win-linux/extras/update-daemon/src/classes/platform_win/cdownloader.cpp index f3440d02c..3e19fac0a 100644 --- a/win-linux/extras/update-daemon/src/classes/cdownloader.cpp +++ b/win-linux/extras/update-daemon/src/classes/platform_win/cdownloader.cpp @@ -197,7 +197,9 @@ void CDownloader::start() int error = (hr == DNL_OK) ? 0 : (hr == DNL_ABORT) ? 1 : (hr == DNL_OUT_MEM) ? -1 : - (hr == DNL_CONN_ERR) ? -2 : -3; + (hr == DNL_CONN_ERR) ? -2 : + (hr == DNL_URL_ERR) ? -3 : + (hr == DNL_CREAT_ERR) ? -4 : -5; if (m_complete_callback) m_complete_callback(error); diff --git a/win-linux/extras/update-daemon/src/classes/cdownloader.h b/win-linux/extras/update-daemon/src/classes/platform_win/cdownloader.h similarity index 100% rename from win-linux/extras/update-daemon/src/classes/cdownloader.h rename to win-linux/extras/update-daemon/src/classes/platform_win/cdownloader.h diff --git a/win-linux/extras/update-daemon/src/classes/cunzip.cpp b/win-linux/extras/update-daemon/src/classes/platform_win/cunzip.cpp similarity index 99% rename from win-linux/extras/update-daemon/src/classes/cunzip.cpp rename to win-linux/extras/update-daemon/src/classes/platform_win/cunzip.cpp index 6abb41bc8..acf48a826 100644 --- a/win-linux/extras/update-daemon/src/classes/cunzip.cpp +++ b/win-linux/extras/update-daemon/src/classes/platform_win/cunzip.cpp @@ -31,7 +31,7 @@ */ #include "cunzip.h" -#include "utils.h" +#include "platform_win/utils.h" #include #include diff --git a/win-linux/extras/update-daemon/src/classes/cunzip.h b/win-linux/extras/update-daemon/src/classes/platform_win/cunzip.h similarity index 100% rename from win-linux/extras/update-daemon/src/classes/cunzip.h rename to win-linux/extras/update-daemon/src/classes/platform_win/cunzip.h diff --git a/win-linux/extras/update-daemon/src/platform_linux/main.cpp b/win-linux/extras/update-daemon/src/platform_linux/main.cpp new file mode 100644 index 000000000..4125e1ddb --- /dev/null +++ b/win-linux/extras/update-daemon/src/platform_linux/main.cpp @@ -0,0 +1,61 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ + +#include "platform_linux/utils.h" +#include "classes/platform_linux/capplication.h" +#include "classes/csvcmanager.h" +#include "../../src/defines.h" +#include + + +int main(int argc, char *argv[]) +{ + NS_File::setAppPath(argv[0]); + + if (argc > 1) { + if (strcmp(argv[1], "--run-as-app") == 0) { + CSocket socket(0, INSTANCE_SVC_PORT); + if (!socket.isPrimaryInstance()) + return 0; + + CApplication app; + CSvcManager upd; + socket.onMessageReceived([&app](void *buff, size_t) { + if (strcmp((const char*)buff, "stop") == 0) + app.exit(0); + }); + return app.exec(); + } + } + + return 0; +} diff --git a/win-linux/extras/update-daemon/src/platform_linux/utils.cpp b/win-linux/extras/update-daemon/src/platform_linux/utils.cpp new file mode 100644 index 000000000..3e4d8dd44 --- /dev/null +++ b/win-linux/extras/update-daemon/src/platform_linux/utils.cpp @@ -0,0 +1,489 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ + +#include "platform_linux/utils.h" +#include "version.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BUFSIZE 1024 + + +static void replace(string &str, const string &from, const string &to) +{ + size_t pos = 0; + while ((pos = str.find(from, pos)) != string::npos) { + str.replace(pos, from.length(), to); + pos += to.length(); + } +} + +static bool moving_through_copy(const string &oldFile, const string &newFile) +{ + struct stat st; + if (stat(oldFile.c_str(), &st) != 0) + return false; + + char buf[4096]; + int fd_src = -1, fd_dst = -1, n_read = 0; + fd_src = open(oldFile.c_str(), O_RDONLY); + if (fd_src < 0) + return false; + + fd_dst = open(newFile.c_str(), O_WRONLY | O_CREAT, st.st_mode); + if (fd_dst < 0) + return false; + + while ((n_read = read(fd_src, buf, sizeof(buf))) > 0) { + if (write(fd_dst, buf, n_read) != n_read) { + close(fd_src); + close(fd_dst); + return false; + } + } + if (close(fd_src) != 0 || close(fd_dst) != 0) + return false; + + if (unlink(oldFile.c_str()) != 0) + return false; + return true; +}; + +static bool moving_folder_content(const string &from, const string &to, bool use_rename) +{ + list filesList; + string error; + if (!NS_File::GetFilesList(from, &filesList, error, false)) { + NS_Logger::WriteLog(DEFAULT_ERROR_MESSAGE + " "+ error); + return false; + } + + const size_t sourceLength = from.length(); + for (const string &sourcePath : filesList) { + if (!sourcePath.empty()) { + string dest = to + sourcePath.substr(sourceLength); + if (!NS_File::dirExists(NS_File::parentPath(dest)) && !NS_File::makePath(NS_File::parentPath(dest))) { + NS_Logger::WriteLog("Can't create path: " + NS_File::parentPath(dest)); + return false; + } + if (use_rename) { + if (rename(sourcePath.c_str(), dest.c_str()) != 0) { + NS_Logger::WriteLog("Can't move file from " + sourcePath + " to " + dest + ". " + NS_Utils::GetLastErrorAsString()); + return false; + } + } else { + if (!moving_through_copy(sourcePath, dest)) { + NS_Logger::WriteLog("Can't move file from " + sourcePath + " to " + dest + ". " + NS_Utils::GetLastErrorAsString()); + return false; + } + } + } + } + return true; +} + +namespace NS_Utils +{ + string GetLastErrorAsString() + { + char buff[LINE_MAX] = {0}; + char *res = strerror_r(errno, buff, sizeof(buff)); + return res ? string(res) : ""; + } + + int ShowMessage(string str, bool showError) + { + if (showError) + str += " " + GetLastErrorAsString(); + + gtk_init(NULL, NULL); + GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + "%s", str.c_str()); + gtk_window_set_title(GTK_WINDOW(dialog), VER_PRODUCTNAME_STR); + int res = gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + while (gtk_events_pending()) + gtk_main_iteration_do(FALSE); + return res; + } +} + +namespace NS_File +{ + string app_path; + + void setAppPath(const std::string &path) + { + app_path = parentPath(path); + } + + bool GetFilesList(const string &path, list *lst, string &error, bool ignore_locked, bool folders_only) + { + DIR *dir = opendir(path.c_str()); + if (!dir) { + error = string("FindFirstFile invalid handle value: ") + path; + return false; + } + + struct dirent *entry; + while ((entry = readdir(dir)) != NULL) { + if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) + continue; + + char _path[PATH_MAX]; + snprintf(_path, sizeof(_path), "%s/%s", path.c_str(), entry->d_name); + struct stat info; + if (stat(_path, &info) != 0) { + error = string("Error getting file information: ") + _path; + closedir(dir); + return false; + } + + if (S_ISDIR(info.st_mode)) { + if (ignore_locked && access(_path, R_OK) != 0) + continue; + if (folders_only) { + lst->push_back(string("/") + entry->d_name); + continue; + } + if (!GetFilesList(_path, lst, error, ignore_locked)) { + closedir(dir); + return false; + } + } else + if (!folders_only && S_ISREG(info.st_mode)) + lst->push_back(_path); + + } + closedir(dir); + return true; + } + + bool readFile(const string &filePath, list &linesList) + { + std::ifstream file(filePath.c_str(), std::ios_base::in); + if (!file.is_open()) { + NS_Logger::WriteLog("An error occurred while opening: " + filePath); + return false; + } + string line; + while (std::getline(file, line)) + linesList.push_back(line); + + file.close(); + return true; + } + + bool writeToFile(const string &filePath, list &linesList) + { + std::ofstream file(filePath.c_str(), std::ios_base::out); + if (!file.is_open()) { + NS_Logger::WriteLog("An error occurred while writing: " + filePath); + return false; + } + for (auto &line : linesList) + file << line << std::endl; + + file.close(); + return true; + } + + bool runProcess(const string &fileName, const string &args) + { + string src(fileName); + replace(src, " ", "\\ "); + string cmd = ("LD_LIBRARY_PATH=" + parentPath(src) + " " + src + " " + args + " &"); + return system(cmd.c_str()) == 0 ? true: false; + } + + bool isProcessRunning(const string &fileName) + { + DIR *proc_dir = opendir("/proc"); + if (!proc_dir) + return false; + + struct dirent* entry; + while ((entry = readdir(proc_dir)) != NULL) { + if (entry->d_type == DT_DIR && strtol(entry->d_name, NULL, 10) > 0) { + char cmd_file[256]; + snprintf(cmd_file, sizeof(cmd_file), "/proc/%s/cmdline", entry->d_name); + + FILE* cmd_file_ptr = fopen(cmd_file, "r"); + if (!cmd_file_ptr) + continue; + + char cmd_line[256]; + fgets(cmd_line, sizeof(cmd_line), cmd_file_ptr); + fclose(cmd_file_ptr); + + if (strstr(basename(cmd_line), fileName.c_str()) != NULL) { + closedir(proc_dir); + return true; + } + } + } + + closedir(proc_dir); + return false; + } + + bool fileExists(const string &filePath) + { + struct stat st; + if (stat(filePath.c_str(), &st) != 0) + return false; + return S_ISREG(st.st_mode); + } + + bool dirExists(const string &dirName) { + struct stat st; + if (stat(dirName.c_str(), &st) != 0) + return false; + return S_ISDIR(st.st_mode); + } + + bool dirIsEmpty(const string &dirName) + { + DIR *dir = opendir(dirName.c_str()); + if (!dir) + return true; + + int count = 0; + struct dirent *entry; + while (count == 0 && (entry = readdir(dir)) != NULL) { + if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) + count++; + } + closedir(dir); + return (count == 0); + } + + bool makePath(const string &path) + { + list pathsList; + string last_path(path); + while (!last_path.empty() && !dirExists(last_path)) { + pathsList.push_front(last_path); + last_path = parentPath(last_path); + } + for (list::iterator it = pathsList.begin(); it != pathsList.end(); ++it) { + if (mkdir(it->c_str(), S_IRWXU | S_IRWXG | S_IRWXO) != 0) + return false; + } + return true; + } + + bool replaceFile(const string &oldFilePath, const string &newFilePath) + { + struct stat src, dst; + if (stat(oldFilePath.c_str(), &src) != 0) + return false; + if (!S_ISREG(src.st_mode)) + return false; + if (stat(parentPath(newFilePath).c_str(), &dst) != 0) + return false; + if (src.st_dev == dst.st_dev) { + if (rename(oldFilePath.c_str(), newFilePath.c_str()) != 0) + return false; + } else { + if (!moving_through_copy(oldFilePath, newFilePath)) + return false; + } + return true; + } + + bool replaceFolder(const string &from, const string &to, bool remove_existing) + { + struct stat src, dst; + if (stat(from.c_str(), &src) != 0) + return false; + if (stat(parentPath(to).c_str(), &dst) != 0) + return false; + if (!S_ISDIR(src.st_mode) || !S_ISDIR(dst.st_mode)) + return false; + + if(remove_existing && !dirIsEmpty(to) && !removeDirRecursively(to)) + return false; + + bool can_use_rename = (src.st_dev == dst.st_dev); + if (!dirExists(to) || dirIsEmpty(to)) { + if (can_use_rename) { + if (rename(from.c_str(), to.c_str()) != 0) + return false; + } else { + if (!moving_folder_content(from, to, false)) + return false; + } + } else { + if (!moving_folder_content(from, to, can_use_rename)) + return false; + } + removeDirRecursively(from); + return true; + } + + bool removeFile(const string &filePath) + { + return (remove(filePath.c_str()) == 0) ? true: false; + } + + bool removeDirRecursively(const string &dir) + { + DIR *_dir = opendir(dir.c_str()); + if (!_dir) + return false; + + struct dirent *entry; + while ((entry = readdir(_dir)) != NULL) { + if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) + continue; + + char path[PATH_MAX] = {0}; + snprintf(path, sizeof(path), "%s/%s", dir.c_str(), entry->d_name); + struct stat info; + if (stat(path, &info) != 0) { + closedir(_dir); + return false; + } + + if (S_ISDIR(info.st_mode)) { + if (!removeDirRecursively(path)) { + closedir(_dir); + return false; + } + } else { + if (remove(path) != 0) { + closedir(_dir); + return false; + } + } + } + + closedir(_dir); + if (rmdir(dir.c_str()) != 0) + return false; + return true; + } + + string parentPath(const string &path) + { + string::size_type delim = path.find_last_of("\\/"); + return (delim == string::npos) ? "" : path.substr(0, delim); + } + + string tempPath() + { + const char *path = getenv("TMP"); + if (!path) + path = getenv("TEMP"); + if (!path) + path = getenv("TMPDIR"); + if (!path) + path = "/tmp"; + return string(path); + } + + string appPath() + { + return app_path; + } + + string getFileHash(const string &fileName) + { + FILE *file = fopen(fileName.c_str(), "rb"); + if (!file) + return ""; + + int bytes; + unsigned char data[1024]; + unsigned char digest[MD5_DIGEST_LENGTH]; + MD5_CTX mdContext; + MD5_Init(&mdContext); + while ((bytes = fread(data, 1, 1024, file)) != 0) + MD5_Update(&mdContext, data, bytes); + + MD5_Final(digest, &mdContext); + fclose(file); + + std::ostringstream oss; + for (int i = 0; i < MD5_DIGEST_LENGTH; i++) { + oss.fill('0'); + oss.width(2); + oss << std::hex << static_cast(digest[i]); + } + return oss.str(); + } + +// bool verifyEmbeddedSignature(const string &fileName) +// { +// return false; +// } +} + +namespace NS_Logger +{ + bool allow_write_log = false; + + void AllowWriteLog() + { + allow_write_log = true; + } + + void WriteLog(const string &log, bool showMessage) + { + if (allow_write_log) { + string filpPath(NS_File::appPath() + "/service_log.txt"); + std::ofstream file(filpPath.c_str(), std::ios::app); + if (!file.is_open()) { + return; + } + file << log << std::endl; + file.close(); + } + if (showMessage) + NS_Utils::ShowMessage(log); + } +} diff --git a/win-linux/extras/update-daemon/src/platform_linux/utils.h b/win-linux/extras/update-daemon/src/platform_linux/utils.h new file mode 100644 index 000000000..fbff00db6 --- /dev/null +++ b/win-linux/extras/update-daemon/src/platform_linux/utils.h @@ -0,0 +1,83 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ + +#ifndef UTILS_H +#define UTILS_H + +#include +#include + +using std::string; +using std::to_string; +using std::list; + +#define FUNCTION_INFO string(__FUNCTION__) + " Line: " + to_string(__LINE__) +#define DEFAULT_ERROR_MESSAGE "An error occurred: " + FUNCTION_INFO +#define ADVANCED_ERROR_MESSAGE DEFAULT_ERROR_MESSAGE + \ + " " + NS_Utils::GetLastErrorAsString() + +namespace NS_Utils +{ +string GetLastErrorAsString(); +int ShowMessage(string str, bool showError = false); +} + +namespace NS_File +{ +void setAppPath(const string &path); +bool GetFilesList(const string &path, list *lst, string &error, bool ignore_locked = false, bool folders_only = false); +bool readFile(const string &filePath, list &linesList); +bool writeToFile(const string &filePath, list &linesList); +bool runProcess(const string &fileName, const string &args); +bool isProcessRunning(const string &fileName); +bool fileExists(const string &filePath); +bool dirExists(const string &dirName); +bool dirIsEmpty(const string &dirName); +bool makePath(const string &path); +bool replaceFile(const string &oldFilePath, const string &newFilePath); +bool replaceFolder(const string &from, const string &to, bool remove_existing = false); +bool removeFile(const string &filePath); +bool removeDirRecursively(const string &dir); +string parentPath(const string &path); +string tempPath(); +string appPath(); +string getFileHash(const string &fileName); +//bool verifyEmbeddedSignature(const string &fileName); +} + +namespace NS_Logger +{ +void AllowWriteLog(); +void WriteLog(const string &log, bool showMessage = false); +} + +#endif // UTILS_H diff --git a/win-linux/extras/update-daemon/src/main.cpp b/win-linux/extras/update-daemon/src/platform_win/main.cpp similarity index 97% rename from win-linux/extras/update-daemon/src/main.cpp rename to win-linux/extras/update-daemon/src/platform_win/main.cpp index 8b77be282..bd8b9be94 100644 --- a/win-linux/extras/update-daemon/src/main.cpp +++ b/win-linux/extras/update-daemon/src/platform_win/main.cpp @@ -31,8 +31,8 @@ */ #include "utils.h" -#include "svccontrol.h" -#include "classes/capplication.h" +#include "platform_win/svccontrol.h" +#include "classes/platform_win/capplication.h" #include "classes/csvcmanager.h" #include "../../src/defines.h" #include "../../src/prop/defines_p.h" @@ -89,13 +89,14 @@ int __cdecl _tmain (int argc, TCHAR *argv[]) return 0; } else if (lstrcmpi(argv[1], _T("--run-as-app")) == 0) { + NS_Utils::setRunAsApp(); CSocket socket(0, INSTANCE_SVC_PORT); if (!socket.isPrimaryInstance()) return 0; CApplication app; CSvcManager upd; - socket.onMessageReceived([&app](void *buff, size_t bufsize) { + socket.onMessageReceived([&app](void *buff, size_t) { if (strcmp((const char*)buff, "stop") == 0) app.exit(0); }); diff --git a/win-linux/extras/update-daemon/src/resource.h b/win-linux/extras/update-daemon/src/platform_win/resource.h similarity index 100% rename from win-linux/extras/update-daemon/src/resource.h rename to win-linux/extras/update-daemon/src/platform_win/resource.h diff --git a/win-linux/extras/update-daemon/src/svccontrol.cpp b/win-linux/extras/update-daemon/src/platform_win/svccontrol.cpp similarity index 99% rename from win-linux/extras/update-daemon/src/svccontrol.cpp rename to win-linux/extras/update-daemon/src/platform_win/svccontrol.cpp index 7776025f9..e6863fca9 100644 --- a/win-linux/extras/update-daemon/src/svccontrol.cpp +++ b/win-linux/extras/update-daemon/src/platform_win/svccontrol.cpp @@ -31,8 +31,9 @@ */ #include "svccontrol.h" -#include "utils.h" +#include "platform_win/utils.h" #include +#include #define SVC_ERROR ((DWORD)0xC0020001L) diff --git a/win-linux/extras/update-daemon/src/svccontrol.h b/win-linux/extras/update-daemon/src/platform_win/svccontrol.h similarity index 99% rename from win-linux/extras/update-daemon/src/svccontrol.h rename to win-linux/extras/update-daemon/src/platform_win/svccontrol.h index 70a5845ce..6efe381da 100644 --- a/win-linux/extras/update-daemon/src/svccontrol.h +++ b/win-linux/extras/update-daemon/src/platform_win/svccontrol.h @@ -35,7 +35,6 @@ #include "version.h" #include -#include #include #define SERVICE_NAME TEXT(VER_PRODUCTNAME_STR) diff --git a/win-linux/extras/update-daemon/src/utils.cpp b/win-linux/extras/update-daemon/src/platform_win/utils.cpp similarity index 88% rename from win-linux/extras/update-daemon/src/utils.cpp rename to win-linux/extras/update-daemon/src/platform_win/utils.cpp index 743e6c77e..bbc7c7bcf 100644 --- a/win-linux/extras/update-daemon/src/utils.cpp +++ b/win-linux/extras/update-daemon/src/platform_win/utils.cpp @@ -30,7 +30,7 @@ * */ -#include "utils.h" +#include "platform_win/utils.h" #include "version.h" #include #include @@ -52,8 +52,37 @@ #define BUFSIZE 1024 + +static DWORD GetActiveSessionId() +{ + DWORD sesId = MAXDWORD, count = 0; + WTS_SESSION_INFO *sesInfo = NULL; + if (WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, &sesInfo, &count)) { + for (DWORD i = 0; i < count; i++) { + if (sesInfo[i].State == WTSActive) { + sesId = sesInfo[i].SessionId; + break; + } + } + WTSFreeMemory(sesInfo); + } + return sesId; +} + namespace NS_Utils { + bool run_as_app = false; + + void setRunAsApp() + { + run_as_app = true; + } + + bool isRunAsApp() + { + return run_as_app; + } + wstring GetLastErrorAsString() { DWORD errorMessageID = ::GetLastError(); @@ -77,11 +106,15 @@ namespace NS_Utils if (showError) str += L" " + GetLastErrorAsString(); wchar_t *title = const_cast(TEXT(VER_PRODUCTNAME_STR)); - size_t title_size = wcslen(title) * sizeof(wchar_t); + if (isRunAsApp()) { + MessageBox(NULL, str.c_str(), title, MB_ICONERROR | MB_SERVICE_NOTIFICATION_NT3X | MB_SETFOREGROUND); + return 0; + } + DWORD title_size = (DWORD)wcslen(title) * sizeof(wchar_t); DWORD res; - DWORD session_id = WTSGetActiveConsoleSessionId(); + DWORD session_id = GetActiveSessionId(); WTSSendMessageW(WTS_CURRENT_SERVER_HANDLE, session_id, title, title_size, - const_cast(str.c_str()), str.size() * sizeof(wchar_t), + const_cast(str.c_str()), (DWORD)str.size() * sizeof(wchar_t), MB_OK | MB_ICONERROR | MB_SERVICE_NOTIFICATION_NT3X | MB_SETFOREGROUND, 8, &res, TRUE); return res; } @@ -89,7 +122,7 @@ namespace NS_Utils namespace NS_File { - bool GetFilesList(const wstring &path, list *lst, wstring &error, bool ignore_locked) + bool GetFilesList(const wstring &path, list *lst, wstring &error, bool ignore_locked, bool folders_only) { wstring searchPath = toNativeSeparators(path) + L"\\*"; if (searchPath.size() > MAX_PATH - 1) { @@ -110,12 +143,18 @@ namespace NS_File if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (!wcscmp(ffd.cFileName, L".") || !wcscmp(ffd.cFileName, L"..")) continue; + if (folders_only) { + lst->push_back(L"/" + wstring(ffd.cFileName)); + continue; + } if (!GetFilesList(path + L"/" + wstring(ffd.cFileName), lst, error, ignore_locked)) { FindClose(hFind); return false; } - } else - lst->push_back(path + L"/" + wstring(ffd.cFileName)); + } else { + if (!folders_only) + lst->push_back(path + L"/" + wstring(ffd.cFileName)); + } } while (FindNextFile(hFind, &ffd) != 0); @@ -159,13 +198,7 @@ namespace NS_File bool runProcess(const wstring &fileName, const wstring &args) { - DWORD dwSessionId = WTSGetActiveConsoleSessionId(); - if (dwSessionId == 0xFFFFFFFF) { - return false; - } - - HANDLE hUserToken = NULL; - if (!WTSQueryUserToken(dwSessionId, &hUserToken)) { + if (NS_Utils::isRunAsApp()) { STARTUPINFO si; ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); @@ -182,6 +215,16 @@ namespace NS_File return false; } + DWORD dwSessionId = GetActiveSessionId(); + if (dwSessionId == 0xFFFFFFFF) { + return false; + } + + HANDLE hUserToken = NULL; + if (!WTSQueryUserToken(dwSessionId, &hUserToken)) { + return false; + } + HANDLE hTokenDup = NULL; if (!DuplicateTokenEx(hUserToken, MAXIMUM_ALLOWED, NULL, SecurityImpersonation, TokenPrimary, &hTokenDup)) { CloseHandle(hUserToken); @@ -370,25 +413,44 @@ namespace NS_File return (delim == wstring::npos) ? L"" : path.substr(0, delim); } - wstring tempPath() + wstring fallbackTempPath() { - DWORD sesId = WTSGetActiveConsoleSessionId(); - if (sesId == 0xFFFFFFFF) - return L""; + wstring path(L"C:/ProgramData"), dest_path = path + TEXT("/" VER_PRODUCTNAME_STR) + L" Temp"; + if (!dirExists(dest_path) && CreateDirectory(dest_path.c_str(), NULL) == 0) { + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return path; + } + return dest_path; + } - HANDLE hUserToken = NULL; - if (!WTSQueryUserToken(sesId, &hUserToken)) { + wstring tempPath() + { + if (NS_Utils::isRunAsApp()) { WCHAR buff[MAX_PATH] = {0}; DWORD res = ::GetTempPath(MAX_PATH, buff); if (res != 0) return fromNativeSeparators(parentPath(buff)); - return L""; + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return fallbackTempPath(); + } + + DWORD sesId = GetActiveSessionId(); + if (sesId == 0xFFFFFFFF) { + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return fallbackTempPath(); + } + + HANDLE hUserToken = NULL; + if (!WTSQueryUserToken(sesId, &hUserToken)) { + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return fallbackTempPath(); } HANDLE hTokenDup = NULL; if (!DuplicateTokenEx(hUserToken, MAXIMUM_ALLOWED, NULL, SecurityImpersonation, TokenPrimary, &hTokenDup)) { CloseHandle(hUserToken); - return L""; + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return fallbackTempPath(); } WCHAR buff[MAX_PATH] = {0}; @@ -399,7 +461,8 @@ namespace NS_File } CloseHandle(hTokenDup); CloseHandle(hUserToken); - return L""; + NS_Logger::WriteLog(ADVANCED_ERROR_MESSAGE); + return fallbackTempPath(); } wstring appPath() diff --git a/win-linux/extras/update-daemon/src/utils.h b/win-linux/extras/update-daemon/src/platform_win/utils.h similarity index 92% rename from win-linux/extras/update-daemon/src/utils.h rename to win-linux/extras/update-daemon/src/platform_win/utils.h index b8b8fb0ad..56849ef13 100644 --- a/win-linux/extras/update-daemon/src/utils.h +++ b/win-linux/extras/update-daemon/src/platform_win/utils.h @@ -41,20 +41,22 @@ using std::wstring; using std::to_wstring; using std::list; -#define DEFAULT_ERROR_MESSAGE L"An error occurred: " + \ - wstring(TEXT(__FUNCTION__)) + L" Line: " + to_wstring(__LINE__) +#define FUNCTION_INFO wstring(TEXT(__FUNCTION__)) + L" Line: " + to_wstring(__LINE__) +#define DEFAULT_ERROR_MESSAGE L"An error occurred: " + FUNCTION_INFO #define ADVANCED_ERROR_MESSAGE DEFAULT_ERROR_MESSAGE + \ L" " + NS_Utils::GetLastErrorAsString() namespace NS_Utils { +void setRunAsApp(); +bool isRunAsApp(); wstring GetLastErrorAsString(); int ShowMessage(wstring str, bool showError = false); } namespace NS_File { -bool GetFilesList(const wstring &path, list *lst, wstring &error, bool ignore_locked = false); +bool GetFilesList(const wstring &path, list *lst, wstring &error, bool ignore_locked = false, bool folders_only = false); bool readFile(const wstring &filePath, list &linesList); bool writeToFile(const wstring &filePath, list &linesList); bool runProcess(const wstring &fileName, const wstring &args); diff --git a/win-linux/extras/update-daemon/version.rc b/win-linux/extras/update-daemon/version.rc index 08544b477..8d2caa4d0 100644 --- a/win-linux/extras/update-daemon/version.rc +++ b/win-linux/extras/update-daemon/version.rc @@ -1,4 +1,4 @@ -#include "src/resource.h" +#include "src/platform_win/resource.h" IDI_MAINICON ICON DISCARDABLE APP_ICON_PATH CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "./res/manifest/update-daemon.manifest" diff --git a/win-linux/gtk_resources.c b/win-linux/gtk_resources.c new file mode 100644 index 000000000..51d5b59bc --- /dev/null +++ b/win-linux/gtk_resources.c @@ -0,0 +1,3867 @@ +#include + +#if defined (__ELF__) && ( __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)) +# define SECTION __attribute__ ((section (".gresource.gtk_resources"), aligned (8))) +#else +# define SECTION +#endif + +static const SECTION union { const guint8 data[58605]; const double alignment; void * const ptr;} gtk_resources_resource_data = { + "\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000" + "\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000" + "\002\000\000\000\004\000\000\000\005\000\000\000\324\265\002\000" + "\377\377\377\377\344\000\000\000\001\000\114\000\350\000\000\000" + "\354\000\000\000\376\131\073\352\006\000\000\000\354\000\000\000" + "\020\000\166\000\000\001\000\000\012\174\000\000\134\324\145\226" + "\006\000\000\000\012\174\000\000\020\000\166\000\040\174\000\000" + "\360\254\000\000\020\355\075\037\006\000\000\000\360\254\000\000" + "\017\000\166\000\000\255\000\000\062\320\000\000\053\102\032\030" + "\006\000\000\000\062\320\000\000\017\000\166\000\110\320\000\000" + "\312\344\000\000\255\277\221\013\000\000\000\000\312\344\000\000" + "\004\000\114\000\320\344\000\000\324\344\000\000\130\362\353\150" + "\005\000\000\000\324\344\000\000\006\000\114\000\334\344\000\000" + "\354\344\000\000\057\000\000\000\005\000\000\000\141\160\160\055" + "\151\143\157\156\137\062\065\066\056\160\156\147\000\000\000\000" + "\372\172\000\000\000\000\000\000\211\120\116\107\015\012\032\012" + "\000\000\000\015\111\110\104\122\000\000\001\000\000\000\001\000" + "\010\006\000\000\000\134\162\250\146\000\000\001\155\151\103\103" + "\120\151\143\143\000\000\050\221\165\221\275\113\102\121\030\306" + "\177\152\121\224\021\121\103\110\203\203\105\203\102\024\105\143" + "\331\340\042\041\146\220\325\242\067\077\202\253\136\356\125\102" + "\132\203\226\006\241\041\152\351\153\350\077\250\065\150\055\010" + "\202\042\210\150\153\357\153\011\271\275\107\005\043\362\134\316" + "\175\177\074\347\074\057\357\175\056\070\303\272\226\263\332\146" + "\040\227\057\232\321\120\320\273\024\137\366\166\274\342\302\103" + "\037\223\220\320\054\143\066\022\011\323\162\175\335\343\120\365" + "\056\240\172\265\276\367\357\352\136\113\131\032\070\072\205\247" + "\064\303\054\012\313\064\204\067\212\206\342\035\341\001\055\233" + "\130\023\076\022\366\233\062\240\360\265\322\223\165\176\121\234" + "\251\363\207\142\063\026\235\003\247\352\351\315\374\342\344\057" + "\326\262\146\116\170\124\330\227\323\113\132\143\036\365\045\356" + "\124\176\161\101\252\107\366\020\026\121\102\004\361\222\244\304" + "\072\072\105\002\122\363\222\331\377\276\261\232\157\236\202\170" + "\064\171\033\224\061\305\221\041\053\136\277\250\045\351\232\222" + "\232\026\075\045\217\116\131\345\376\067\117\053\075\061\136\357" + "\356\016\102\373\263\155\277\017\103\307\056\124\053\266\375\175" + "\154\333\325\023\160\075\301\145\276\351\057\110\116\323\237\242" + "\127\232\232\357\020\172\267\340\374\252\251\045\367\340\142\033" + "\006\037\215\204\231\250\111\056\331\316\164\032\336\316\240\047" + "\016\375\267\320\265\122\317\252\161\316\351\003\304\066\345\027" + "\335\300\376\001\214\310\375\336\325\037\012\176\150\016\330\036" + "\012\253\000\000\000\011\160\110\131\163\000\000\013\022\000\000" + "\013\022\001\322\335\176\374\000\000\040\000\111\104\101\124\170" + "\136\354\275\011\200\035\107\171\056\372\127\057\147\231\063\253" + "\064\232\221\106\222\045\131\262\215\015\306\041\066\140\300\004" + "\033\010\140\066\007\214\155\202\155\010\011\144\201\027\056\144" + "\275\367\222\304\370\162\157\022\222\220\233\227\344\275\373\040" + "\011\001\313\330\030\343\100\160\000\207\315\330\054\216\143\033" + "\143\214\167\133\326\076\253\064\373\314\131\272\273\136\375\325" + "\313\251\256\256\336\316\234\231\221\344\363\111\147\272\273\352" + "\257\352\356\352\372\276\372\253\272\272\033\240\203\016\072\350" + "\240\203\016\072\350\240\203\016\072\350\240\203\016\072\350\240" + "\203\016\072\350\240\203\016\072\350\240\203\016\072\350\240\203" + "\016\072\070\125\100\322\014\072\070\165\320\173\335\217\066\220" + "\206\265\223\330\264\233\030\132\037\261\111\027\200\143\261\152" + "\260\110\011\131\324\154\173\252\334\060\367\037\376\337\057\137" + "\116\313\253\203\123\003\035\001\070\105\061\360\207\337\352\003" + "\255\364\112\166\205\057\004\012\347\261\240\075\354\327\227\226" + "\316\303\121\366\173\202\020\370\061\020\347\236\343\223\225\373" + "\340\323\027\064\322\022\165\160\362\241\043\000\247\020\166\136" + "\167\147\151\266\121\370\045\240\364\155\154\363\102\366\063\323" + "\322\144\304\054\001\372\115\352\300\255\323\237\170\345\017\322" + "\214\073\070\171\320\021\200\123\000\203\377\375\356\055\224\152" + "\357\245\004\256\146\233\003\151\366\053\001\005\170\234\125\233" + "\317\364\231\365\057\355\277\376\222\152\232\175\007\047\066\072" + "\002\160\022\243\377\277\336\263\123\043\366\273\331\125\374\025" + "\266\131\112\263\157\063\216\020\012\177\257\025\032\267\115\136" + "\177\311\102\232\161\007\047\046\072\002\160\262\341\327\357\067" + "\007\067\126\057\165\000\256\141\127\357\025\260\356\327\220\054" + "\260\003\370\027\112\355\033\216\377\331\057\074\232\146\335\301" + "\211\205\165\256\074\035\144\005\266\366\272\356\134\303\126\257" + "\144\277\301\064\373\365\001\271\237\022\172\303\161\275\357\253" + "\160\375\013\352\151\326\035\254\077\072\002\160\042\003\133\373" + "\241\352\245\224\262\326\236\222\127\260\253\165\222\134\057\062" + "\315\216\371\013\216\103\366\316\374\371\313\366\247\131\167\260" + "\176\070\111\052\324\163\013\375\327\261\326\336\142\255\075\041" + "\047\160\153\237\011\114\007\310\335\324\201\033\246\315\352\267" + "\340\372\113\254\264\004\035\254\055\072\002\160\242\200\267\366" + "\215\113\051\320\153\330\105\071\001\372\366\155\307\030\323\203" + "\317\023\335\374\374\344\365\057\031\113\063\356\140\155\160\252" + "\125\262\223\016\233\131\153\157\073\316\065\016\220\053\311\311" + "\335\332\147\004\265\130\167\346\233\254\346\355\235\372\370\313" + "\356\146\125\220\246\245\350\140\365\320\021\200\365\200\327\332" + "\223\140\044\237\076\067\257\003\041\317\062\372\357\255\065\254" + "\133\146\377\374\225\323\151\346\035\264\037\317\315\212\267\116" + "\160\133\173\116\172\326\267\247\317\201\326\076\053\110\215\225" + "\311\127\251\103\156\230\372\370\205\017\244\131\167\320\076\164" + "\004\140\265\201\255\375\026\326\332\343\110\076\074\207\133\373" + "\214\240\224\074\242\001\335\113\226\053\267\215\377\325\171\213" + "\151\366\035\254\014\235\312\270\112\300\326\236\122\270\232\022" + "\162\025\053\345\116\153\237\027\024\346\161\202\221\146\323\033" + "\106\377\347\313\036\113\063\357\240\065\164\004\240\235\140\255" + "\375\360\346\306\033\200\150\327\120\240\027\235\074\367\355\117" + "\160\120\270\217\375\371\334\040\364\374\333\243\235\011\106\155" + "\105\247\202\266\001\274\265\327\264\253\301\301\326\276\323\267" + "\137\065\120\070\016\204\174\101\063\032\173\107\377\350\025\007" + "\322\314\073\110\107\107\000\132\305\247\130\153\077\346\274\201" + "\165\132\131\337\236\134\324\351\333\257\041\050\070\354\357\335" + "\124\203\317\115\234\175\340\333\160\345\225\166\132\222\016\324" + "\350\124\332\234\300\326\236\140\153\017\344\052\274\157\357\244" + "\045\350\140\325\240\001\177\074\171\224\135\213\033\155\303\276" + "\151\342\243\027\216\247\245\351\040\214\216\000\144\201\327\332" + "\353\024\256\161\010\134\304\052\036\351\020\377\304\201\047\004" + "\015\366\347\233\100\265\317\215\176\354\374\037\262\256\102\147" + "\202\121\006\164\004\040\001\274\265\067\214\253\131\305\272\352" + "\271\061\113\357\224\301\076\326\041\333\133\264\214\133\366\137" + "\377\242\231\064\343\347\062\072\002\040\203\265\366\043\223\330" + "\267\327\130\337\236\262\276\175\247\214\116\142\124\211\106\276" + "\312\134\201\033\216\176\364\202\037\247\031\077\027\321\251\334" + "\036\066\137\367\340\116\335\260\170\337\236\155\016\166\374\307" + "\123\007\304\375\363\063\007\310\347\234\242\361\225\361\337\357" + "\114\060\362\361\234\026\200\363\131\153\077\072\111\336\100\160" + "\044\137\203\213\230\253\177\162\165\034\351\011\164\347\341\044" + "\350\163\173\205\065\247\001\275\315\246\314\053\370\343\027\077" + "\221\234\342\324\307\211\123\201\326\020\133\257\173\150\033\061" + "\033\170\373\356\235\154\163\350\104\256\271\364\104\042\371\012" + "\100\116\040\201\040\315\225\173\301\262\156\050\115\035\373\372" + "\323\177\367\106\177\202\321\011\163\234\153\201\123\242\162\145" + "\302\165\124\033\051\334\377\032\035\310\065\254\241\177\015\013" + "\321\116\244\053\175\252\020\075\057\326\133\030\274\356\301\024" + "\041\160\213\145\127\157\034\375\243\127\034\364\242\326\365\270" + "\326\012\247\174\245\033\376\313\207\206\314\206\375\116\376\350" + "\055\300\066\014\073\041\256\254\363\334\044\174\046\150\153\057" + "\012\336\305\300\273\273\167\201\355\174\356\220\165\373\167\341" + "\372\353\345\011\106\153\176\134\253\215\123\263\022\262\326\164" + "\344\317\176\362\162\003\350\265\354\212\135\312\102\314\165\275" + "\162\035\262\257\034\153\050\012\336\305\072\352\070\364\306\006" + "\151\334\074\361\321\013\047\142\114\327\354\230\126\013\247\124" + "\305\334\171\335\203\375\116\211\277\065\367\132\366\333\215\141" + "\353\162\205\116\056\167\136\074\326\165\051\256\226\261\312\335" + "\007\054\030\326\065\150\260\337\035\032\265\367\356\133\276\375" + "\107\314\053\210\333\347\252\036\313\152\341\144\252\250\261\330" + "\361\027\017\375\074\161\034\374\100\306\133\331\146\211\322\065" + "\276\032\353\117\370\365\336\377\232\026\267\022\253\050\006\236" + "\020\340\111\076\303\352\331\136\250\316\175\161\377\365\227\314" + "\046\044\131\265\143\151\067\326\273\342\264\014\326\267\257\024" + "\155\373\162\002\372\265\354\332\077\037\113\174\315\112\235\256" + "\127\271\071\353\264\337\126\261\216\343\254\144\165\252\203\047" + "\006\370\111\264\257\320\206\165\343\201\217\136\360\140\132\032" + "\130\303\252\231\027\047\131\205\142\255\375\047\036\076\233\021" + "\376\335\204\322\267\263\303\357\131\133\342\257\025\001\327\335" + "\243\130\003\254\136\213\255\004\151\257\030\021\357\247\151\344" + "\247\216\155\337\270\064\065\376\345\361\277\172\375\122\102\222" + "\266\356\277\135\070\051\052\332\236\277\175\252\130\137\136\172" + "\213\106\200\265\366\344\305\324\131\253\322\354\020\176\155\261" + "\026\242\320\176\041\340\113\215\316\261\305\227\300\251\357\175" + "\366\017\137\374\144\102\222\266\356\177\245\070\241\053\336\216" + "\277\174\150\227\116\010\016\350\341\364\334\201\065\353\333\257" + "\152\237\176\065\363\026\260\232\335\224\125\162\257\243\130\003" + "\101\150\343\330\001\153\240\300\173\011\324\075\100\355\033\213" + "\013\117\176\355\321\353\257\154\244\044\153\333\376\133\301\352" + "\125\222\026\201\323\163\247\346\212\257\323\200\276\233\025\350" + "\105\216\127\221\327\244\224\126\215\370\253\224\357\152\222\174" + "\045\130\025\201\150\037\121\043\150\243\010\040\374\101\103\046" + "\006\223\154\161\213\143\325\156\334\367\137\057\070\224\222\254" + "\255\307\220\025\047\114\005\332\376\211\307\107\012\146\343\152" + "\346\336\277\213\271\371\303\130\036\316\132\024\311\152\220\176" + "\065\362\074\201\256\325\012\320\236\053\332\146\302\106\320\306" + "\374\075\257\200\165\132\311\235\140\073\173\237\276\357\261\357" + "\300\255\127\306\275\116\242\155\373\315\212\365\255\124\327\121" + "\155\167\357\043\257\042\032\374\012\241\344\325\016\120\035\326" + "\312\315\107\254\012\121\333\220\347\211\332\262\267\013\155\365" + "\020\332\107\326\020\332\050\002\010\364\010\064\274\254\024\016" + "\123\260\156\142\015\335\115\317\374\376\171\223\012\323\266\356" + "\067\015\353\122\321\316\374\253\047\006\155\335\372\145\126\017" + "\256\146\352\170\032\043\076\176\105\162\365\161\242\022\036\261" + "\012\244\307\347\013\160\256\375\112\236\063\020\323\257\352\274" + "\375\266\211\302\052\035\143\233\316\235\170\177\064\102\032\032" + "\300\067\032\126\343\306\175\363\137\126\115\060\152\313\376\322" + "\320\162\305\150\005\273\377\352\261\363\165\303\376\125\306\231" + "\067\261\263\053\254\211\213\357\143\005\044\120\243\015\371\265" + "\341\230\350\052\010\107\253\040\355\040\161\133\210\326\216\074" + "\024\150\313\261\065\341\166\017\000\363\175\012\300\271\321\252" + "\126\277\270\357\277\136\060\047\230\264\165\177\052\254\172\345" + "\301\133\170\032\155\274\215\355\350\275\154\363\134\326\232\360" + "\326\176\055\337\251\107\332\100\264\046\126\220\127\033\216\203" + "\256\301\065\153\047\310\112\052\161\133\010\327\216\074\302\140" + "\176\025\305\072\105\333\162\174\356\073\015\121\014\130\141\055" + "\063\217\370\137\055\253\276\367\351\337\375\271\237\110\146\155" + "\331\227\214\125\253\114\273\077\371\360\166\303\064\337\103\301" + "\171\047\053\246\015\170\364\366\252\234\102\024\144\045\044\215" + "\303\112\310\273\202\264\047\033\341\223\260\156\142\260\222\264" + "\051\150\367\073\144\164\302\273\132\130\126\017\201\143\357\235" + "\235\256\176\145\364\372\013\226\275\350\266\356\013\321\336\312" + "\305\052\372\363\376\356\361\137\140\271\262\326\236\274\206\155" + "\353\350\346\267\375\250\023\320\316\326\236\256\124\110\132\070" + "\226\266\023\276\205\143\210\105\033\211\264\136\142\100\332\114" + "\130\104\273\074\001\021\170\321\170\027\101\043\330\045\270\025" + "\157\045\076\361\341\363\374\011\106\155\333\137\133\052\307\131" + "\237\170\274\007\272\234\053\331\041\277\207\145\270\307\167\363" + "\333\166\224\031\321\116\362\043\132\022\200\026\217\241\055\304" + "\157\161\337\055\243\215\025\277\045\101\150\141\377\253\041\000" + "\076\126\123\010\360\134\131\127\341\036\346\121\337\330\365\360" + "\322\327\036\370\364\005\151\023\214\062\141\105\025\346\214\277" + "\176\342\164\323\204\367\121\215\274\003\034\332\115\327\352\336" + "\275\214\266\126\374\026\363\152\341\030\132\022\030\021\047\320" + "\000\140\200\025\014\004\256\210\234\271\311\227\327\076\043\162" + "\037\107\166\370\063\015\065\035\046\330\116\156\321\250\176\343" + "\317\076\270\047\155\202\121\042\132\252\100\347\374\077\117\340" + "\207\057\177\235\325\337\127\063\306\153\070\240\267\152\147\235" + "\204\026\110\027\207\126\311\110\234\374\145\210\303\107\151\066" + "\261\150\343\071\257\011\132\040\004\016\261\245\331\250\300\232" + "\310\334\351\126\044\072\161\150\341\234\363\200\173\005\370\063" + "\210\315\352\303\235\154\373\206\207\307\317\374\056\134\237\377" + "\173\065\231\053\323\305\327\335\151\114\014\155\373\045\102\340" + "\267\130\121\237\215\156\276\263\146\017\345\250\320\076\042\264" + "\102\176\322\102\353\333\312\176\116\072\302\047\241\005\142\264" + "\102\120\232\323\013\151\145\037\351\130\215\074\243\320\065\376" + "\104\042\256\036\142\047\162\223\131\040\067\075\370\253\147\250" + "\046\030\051\221\132\271\160\156\176\315\351\303\221\374\017\122" + "\234\264\103\035\116\374\365\105\333\110\221\077\237\234\217\004" + "\347\356\333\267\215\360\230\217\137\011\127\232\347\052\124\346" + "\234\142\100\362\266\065\255\075\376\333\112\232\024\344\073\317" + "\126\301\275\002\246\006\072\241\165\046\150\167\150\204\176\356" + "\301\337\074\343\236\054\351\142\361\242\117\077\365\052\307\206" + "\077\145\136\356\056\116\374\065\071\225\004\264\215\034\034\271" + "\363\242\371\310\237\307\266\175\347\326\256\174\362\040\047\231" + "\103\310\237\066\257\075\333\105\056\061\310\143\233\035\371\317" + "\263\145\340\255\104\135\303\211\307\316\203\015\252\375\351\043" + "\277\265\347\207\161\266\102\145\151\126\234\113\377\366\351\302" + "\130\031\076\146\133\344\335\066\166\163\327\354\320\023\100\355" + "\166\126\354\314\171\265\070\215\066\173\232\226\136\030\332\112" + "\232\265\104\213\225\075\373\213\077\263\332\005\150\141\032\163" + "\136\373\164\020\275\375\171\046\300\025\002\164\132\341\326\245" + "\006\375\343\247\077\164\206\070\313\220\243\131\221\256\243\332" + "\305\360\075\155\323\363\367\364\076\063\123\377\247\206\103\137" + "\272\126\023\167\122\321\032\011\325\310\225\127\036\333\034\356" + "\176\256\143\360\320\112\232\023\001\171\211\227\303\076\167\267" + "\040\257\060\345\070\226\314\130\215\074\023\200\225\306\324\361" + "\336\001\075\300\034\330\167\377\344\067\167\077\045\307\007\370" + "\324\375\107\272\376\277\037\057\177\266\141\303\105\153\172\224" + "\111\150\147\305\317\231\127\316\101\273\154\266\071\217\041\267" + "\175\032\262\166\143\362\271\315\351\310\133\361\363\331\147\262" + "\155\151\260\057\337\161\144\303\152\344\231\002\103\043\350\015" + "\034\263\100\177\353\117\337\277\363\131\077\074\250\014\237\370" + "\301\144\317\055\217\314\177\250\106\351\007\325\131\254\041\332" + "\135\351\363\021\231\043\243\353\237\305\306\105\266\374\232\310" + "\153\357\043\053\301\127\202\225\210\103\336\312\237\317\076\325" + "\266\205\256\000\344\366\034\322\320\322\061\254\034\170\267\240" + "\250\321\307\177\336\236\176\375\247\177\303\235\110\144\340\237" + "\373\357\247\346\357\335\373\324\356\232\141\274\017\347\041\257" + "\053\260\342\267\365\030\370\150\170\232\121\010\336\143\264\311" + "\066\031\063\015\146\047\146\071\047\221\364\131\354\175\210\244" + "\317\223\256\145\110\342\224\117\020\304\143\315\222\216\333\147" + "\234\145\347\275\275\073\305\046\133\136\042\110\233\105\200\144" + "\074\367\266\002\147\347\332\124\173\336\303\205\101\174\315\336" + "\147\060\214\013\000\154\071\152\036\167\350\225\050\020\111\031" + "\254\072\070\371\323\214\362\040\177\053\352\222\077\315\050\053" + "\315\062\236\117\040\022\051\166\042\234\065\150\351\263\102\024" + "\040\055\217\030\004\342\230\232\206\204\156\153\046\202\167\170" + "\223\115\232\365\042\273\030\144\336\177\106\320\165\021\001\213" + "\362\331\272\357\144\365\374\237\361\334\135\001\030\031\151\120" + "\355\251\347\145\255\326\253\206\166\356\236\346\153\371\151\266" + "\226\072\033\121\203\226\074\305\060\333\076\233\010\021\055\143" + "\232\024\370\343\034\055\365\217\225\020\275\230\314\142\220\125" + "\010\362\331\245\173\003\331\313\336\105\233\111\233\153\337\155" + "\203\015\344\114\160\047\023\332\134\000\316\147\077\023\110\251" + "\261\116\007\204\040\055\270\352\355\002\157\365\123\367\235\315" + "\233\160\137\320\221\154\112\262\012\004\042\324\247\317\140\017" + "\115\122\147\201\160\336\231\322\344\022\012\232\123\014\374\027" + "\300\246\221\014\075\260\324\126\236\203\244\266\332\064\147\227" + "\300\237\001\232\047\115\074\110\273\037\047\316\002\235\135\014" + "\360\304\321\360\302\054\275\141\215\321\222\271\076\223\175\132" + "\035\360\212\105\106\327\033\062\272\374\131\011\345\126\314\024" + "\233\214\307\346\023\077\203\255\074\140\231\041\311\012\020\055" + "\213\154\004\362\317\047\135\010\122\313\320\105\006\127\037\221" + "\305\165\247\371\104\200\043\113\276\351\040\153\334\025\050\350" + "\004\254\145\313\142\347\313\347\363\162\001\300\223\177\301\237" + "\074\360\114\245\273\104\353\272\106\326\177\252\157\253\310\321" + "\262\146\106\006\317\044\150\025\222\315\062\015\160\006\304\117" + "\266\013\275\012\054\055\317\125\006\025\316\074\275\145\316\344" + "\025\144\155\145\375\162\317\140\227\222\127\153\145\230\236\157" + "\026\264\266\357\334\300\133\201\006\153\373\147\216\055\064\303" + "\374\225\152\303\171\030\306\347\111\357\151\003\120\265\350\232" + "\275\262\213\072\031\110\221\002\124\121\164\245\362\346\102\041" + "\145\264\077\313\070\002\205\324\026\075\040\110\322\276\034\073" + "\335\006\341\265\366\151\146\331\040\027\131\033\052\163\166\362" + "\002\337\277\226\070\073\216\170\177\322\362\312\342\015\244\265" + "\264\044\127\367\246\211\166\270\361\204\144\237\005\331\022\012" + "\036\371\347\306\347\231\007\120\013\236\021\010\004\300\052\054" + "\174\263\266\104\046\346\217\316\015\365\155\355\205\006\123\200" + "\372\032\114\005\154\117\105\166\105\040\315\106\204\333\357\117" + "\264\110\045\166\026\362\247\335\061\240\376\024\347\324\174\150" + "\066\073\216\174\145\321\104\226\164\131\053\152\060\300\231\322" + "\007\267\075\101\113\021\202\114\004\117\263\111\163\333\133\351" + "\012\144\274\044\353\004\074\266\222\341\126\323\231\261\071\250" + "\117\057\261\232\244\377\235\030\037\140\317\107\357\273\214\235" + "\376\377\061\272\212\320\277\265\017\210\241\103\315\136\305\227" + "\174\264\245\357\237\077\217\364\111\076\151\361\334\044\203\115" + "\374\255\072\232\345\331\206\134\217\034\147\070\346\125\101\016" + "\302\244\022\064\105\010\062\214\037\340\010\153\232\101\162\074" + "\144\034\323\220\321\112\032\011\055\355\067\036\046\153\365\013" + "\272\006\265\345\032\314\217\316\202\135\155\340\076\376\374\251" + "\377\165\301\337\372\066\221\112\163\346\177\277\377\167\231\153" + "\374\273\314\045\201\256\301\036\350\336\130\001\207\150\320\260" + "\235\366\276\324\063\225\204\351\310\063\332\035\040\155\277\151" + "\361\056\126\224\107\352\123\205\331\216\001\326\217\364\161\310" + "\130\201\123\052\172\352\323\173\351\104\131\151\372\154\066\022" + "\132\354\102\204\321\302\176\105\140\205\060\064\015\114\235\365" + "\052\033\026\314\063\227\277\072\313\077\132\214\056\355\137\077" + "\371\247\027\174\122\266\217\140\317\177\273\357\132\326\276\175" + "\214\255\226\065\235\011\101\177\027\164\155\250\200\136\064\171" + "\327\000\305\140\105\107\211\310\134\311\223\220\057\217\364\226" + "\037\262\034\327\212\310\233\110\376\364\175\103\346\163\316\224" + "\127\006\264\124\041\063\246\111\310\073\125\004\134\243\044\233" + "\004\117\042\333\361\345\363\004\362\330\046\040\327\076\233\300" + "\151\041\330\332\233\254\237\137\233\257\302\302\261\105\250\262" + "\245\207\161\366\373\203\247\376\364\305\337\222\323\305\126\222" + "\263\376\350\336\135\266\243\175\214\031\374\242\037\126\250\024" + "\241\302\204\240\334\137\006\213\342\030\001\264\326\075\150\107" + "\345\314\231\007\205\054\056\167\112\236\151\067\371\022\036\355" + "\135\171\253\237\020\237\371\326\242\270\316\372\060\232\037\104" + "\150\146\105\317\135\101\123\354\127\352\015\044\015\236\321\204" + "\356\100\306\363\040\220\363\021\336\214\371\306\042\147\372\002" + "\273\206\254\247\016\204\065\312\213\323\213\260\304\210\157\041" + "\061\135\054\263\152\363\317\264\140\375\355\323\327\137\030\171" + "\024\030\221\132\155\366\374\361\177\076\037\054\362\253\254\352" + "\137\306\066\273\060\114\063\064\350\146\102\200\142\100\230\257" + "\341\172\005\151\176\227\207\324\212\236\001\055\344\261\142\001" + "\130\001\371\235\004\362\247\277\311\070\046\136\105\172\361\030" + "\064\176\161\331\121\333\072\253\123\232\373\163\130\103\201\057" + "\227\125\347\111\101\143\256\035\161\050\377\151\216\103\065\233" + "\055\155\210\103\256\312\232\154\233\064\371\107\133\107\021\310" + "\055\000\210\014\371\306\042\103\132\154\355\261\245\057\030\004" + "\352\013\065\130\230\142\304\237\133\306\163\365\054\350\121\326" + "\340\334\130\050\070\067\074\172\375\313\217\047\345\225\116\012" + "\027\144\317\157\177\275\107\253\154\274\222\152\332\065\154\373" + "\114\077\242\324\123\202\236\301\156\050\367\226\241\316\334\201" + "\172\332\240\141\152\205\317\212\034\371\244\272\345\151\171\245" + "\304\047\014\326\305\267\374\151\171\052\342\043\244\157\332\020" + "\036\315\275\126\242\151\266\241\021\333\040\044\236\354\331\101" + "\250\343\150\266\103\365\206\343\350\126\032\221\123\053\160\132" + "\174\114\376\211\236\100\342\340\142\232\207\221\166\074\220\341" + "\230\105\344\261\215\101\314\376\014\217\364\006\043\330\302\364" + "\022\314\117\056\100\243\346\277\035\034\047\366\070\167\261\213" + "\365\271\247\377\343\033\337\205\357\135\217\302\235\172\054\131" + "\053\107\310\156\367\177\273\347\345\032\061\120\010\336\010\070" + "\213\230\301\050\350\120\331\330\015\335\354\207\017\036\243\027" + "\322\120\051\101\052\331\322\220\063\175\206\375\255\110\000\142" + "\310\337\172\137\077\205\370\302\072\367\036\074\307\204\020\113" + "\327\064\307\324\210\243\347\056\243\314\040\324\166\120\010\314" + "\072\172\011\361\146\131\110\220\140\023\223\376\071\043\002\302" + "\276\334\326\236\100\121\047\320\130\256\303\374\324\002\054\061" + "\127\337\361\270\305\104\177\212\125\201\133\254\132\375\306\147" + "\077\371\212\203\122\116\251\307\221\265\242\050\355\166\375\227" + "\157\017\031\135\275\127\261\003\276\232\155\156\367\055\161\320" + "\260\147\123\017\024\053\105\056\002\015\346\025\360\073\010\251" + "\104\113\103\276\364\351\304\206\374\144\014\242\132\151\365\041" + "\141\177\331\210\037\046\075\246\261\165\135\263\115\302\211\277" + "\126\100\257\100\267\154\307\254\045\012\001\067\115\042\103\176" + "\021\160\243\142\204\140\005\042\220\205\340\231\204\042\204\274" + "\366\115\030\072\241\070\155\027\047\352\054\262\326\176\216\021" + "\277\276\130\013\342\131\306\367\262\116\332\015\365\261\107\277" + "\261\377\263\357\155\106\104\221\054\176\111\221\002\342\354\334" + "\360\363\177\135\077\343\065\357\276\230\230\346\265\224\352\257" + "\006\336\317\144\312\125\064\241\147\250\207\217\027\070\254\322" + "\326\055\112\224\136\101\056\144\040\265\207\365\020\200\130\362" + "\347\335\217\117\176\237\370\041\073\326\237\147\156\276\116\034" + "\003\373\365\321\264\220\375\312\256\020\254\153\140\071\066\363" + "\012\150\112\367\240\315\102\320\166\021\310\100\356\174\002\220" + "\307\326\005\136\062\044\075\376\034\326\152\316\115\316\301\302" + "\161\326\332\133\201\306\316\121\240\377\102\254\345\275\117\375" + "\305\253\236\020\222\046\355\153\325\004\100\014\013\326\167\176" + "\370\033\333\215\342\206\167\021\135\273\212\155\156\302\060\174" + "\023\011\212\100\317\306\156\122\350\052\362\311\105\070\136\220" + "\353\231\203\234\063\175\117\044\362\047\035\113\144\006\143\250" + "\237\357\306\371\066\204\140\337\336\061\230\253\357\272\371\271" + "\253\130\106\244\227\134\004\350\011\060\257\240\141\073\006\353" + "\224\152\011\127\126\115\214\244\101\300\070\342\235\360\042\220" + "\361\003\047\176\337\276\300\312\175\161\166\031\146\047\346\240" + "\266\130\305\062\165\323\123\372\210\343\130\173\311\341\373\277" + "\362\364\347\077\264\350\045\223\363\216\333\327\332\012\200\277" + "\276\355\212\217\230\305\035\127\274\101\053\340\130\001\171\031" + "\217\140\044\056\224\212\320\347\171\005\070\112\121\213\033\053" + "\120\042\003\251\041\033\371\151\302\250\075\111\022\233\234\344" + "\217\025\031\077\234\050\266\205\326\037\047\250\153\304\062\031" + "\351\335\326\076\153\121\255\046\022\113\327\035\064\264\371\070" + "\201\146\045\331\251\203\363\205\267\042\002\064\201\230\131\346" + "\344\147\027\201\204\375\200\373\262\316\022\166\334\032\066\314" + "\114\316\303\374\261\005\260\055\367\246\013\353\333\243\002\334" + "\156\327\347\367\356\373\344\153\361\123\341\176\136\362\322\307" + "\211\045\000\342\372\216\017\177\153\217\131\252\134\013\232\161" + "\071\163\006\172\171\204\256\101\317\206\156\046\006\275\140\260" + "\256\002\172\005\370\213\077\332\164\122\373\110\023\200\134\055" + "\262\210\230\164\361\142\222\223\374\320\044\076\016\346\151\254" + "\157\277\272\203\172\155\102\334\331\007\136\201\131\127\223\041" + "\037\331\343\354\143\111\233\100\324\270\007\170\262\220\073\213" + "\115\023\141\133\174\125\067\016\350\341\303\071\313\163\313\060" + "\307\132\373\305\271\245\040\236\325\315\147\251\135\377\374\334" + "\301\007\276\064\161\363\207\247\041\114\140\052\154\253\216\041" + "\153\130\200\054\025\053\316\046\263\000\370\353\375\027\177\270" + "\153\343\371\227\135\246\025\312\127\023\115\073\327\217\050\125" + "\112\320\077\334\013\225\201\056\076\247\000\205\300\012\071\221" + "\331\011\220\106\176\317\050\301\046\205\264\162\160\033\311\217" + "\236\207\333\332\343\240\136\053\137\272\133\147\304\313\252\067" + "\150\150\324\243\363\012\362\222\067\032\336\212\000\304\356\227" + "\107\245\023\074\257\010\024\274\326\036\237\265\307\221\374\351" + "\361\005\260\032\165\036\313\132\373\206\143\067\276\103\227\347" + "\156\334\367\267\277\365\103\200\375\161\104\077\341\005\040\115" + "\010\210\377\333\371\301\257\274\120\357\331\364\056\115\063\337" + "\302\334\334\062\106\352\206\016\175\233\172\171\027\101\143\353" + "\125\333\175\042\061\317\234\377\124\001\150\261\365\217\313\127" + "\031\256\010\243\022\361\211\057\034\004\211\357\170\043\371\374" + "\336\175\340\274\346\250\141\047\004\102\047\035\047\213\024\273" + "\007\170\053\321\150\210\175\344\270\061\000\045\321\024\141\361" + "\343\004\371\275\000\216\024\202\147\021\000\274\205\127\144\177" + "\112\246\106\153\363\065\230\236\230\205\371\343\330\205\167\223" + "\262\072\061\146\327\227\276\260\164\370\361\133\306\276\360\133" + "\143\136\262\070\342\373\113\125\270\010\071\354\304\024\000\177" + "\173\323\033\257\353\355\173\336\305\227\103\261\374\313\232\246" + "\355\366\023\124\372\272\230\127\320\007\135\175\145\122\163\250" + "\373\216\202\224\042\317\044\024\061\055\166\136\362\307\012\115" + "\026\362\363\076\076\045\272\337\332\103\374\055\274\324\132\266" + "\116\110\057\350\004\140\142\106\176\233\272\102\040\172\005\134" + "\010\244\223\136\027\021\310\062\026\020\223\226\337\267\067\000" + "\014\326\264\317\361\326\176\026\032\325\006\267\345\357\344\264" + "\255\037\061\377\377\306\247\367\176\340\173\060\275\017\147\362" + "\250\010\176\122\013\100\222\020\310\267\255\274\355\101\355\264" + "\337\370\364\205\205\376\341\167\022\335\374\105\346\025\360\011" + "\106\246\151\220\376\315\314\053\330\324\003\124\327\270\127\320" + "\120\214\025\244\266\374\256\121\202\115\166\102\273\301\331\132" + "\376\220\313\117\375\326\336\302\326\336\224\105\047\265\306\235" + "\244\110\273\060\016\150\266\143\033\365\320\255\104\221\264\124" + "\332\366\221\103\004\362\164\051\232\121\031\104\300\263\301\251" + "\031\330\267\057\343\364\334\245\032\314\214\055\300\314\324\054" + "\120\377\021\132\002\307\235\372\322\277\054\036\170\370\246\261" + "\133\077\164\310\113\116\205\237\330\351\215\023\001\131\000\144" + "\233\054\333\041\244\135\033\204\312\106\016\153\105\000\124\151" + "\370\157\350\115\327\015\166\237\365\013\127\350\205\256\253\130" + "\007\157\204\107\062\125\355\331\120\341\136\001\116\073\306\161" + "\202\145\346\025\370\323\237\123\005\240\025\362\363\250\214\255" + "\177\042\371\131\337\036\054\123\327\255\202\333\267\127\344\031" + "\111\174\162\042\113\205\212\300\113\304\256\045\165\250\201\136" + "\001\216\025\270\204\010\221\160\005\042\260\112\343\001\254\265" + "\247\045\323\155\255\346\217\063\322\217\315\302\122\363\051\074" + "\166\102\366\217\355\205\251\233\047\276\376\277\276\271\370\354" + "\275\030\041\222\133\376\201\142\335\207\057\020\151\004\117\333" + "\016\041\313\365\312\052\000\131\310\217\120\011\100\104\004\370" + "\126\317\126\143\307\273\376\346\125\146\337\146\346\025\024\056" + "\362\323\026\312\005\330\270\245\017\172\231\127\200\023\214\230" + "\020\220\324\267\027\305\012\100\002\371\025\335\005\145\067\043" + "\206\374\370\040\016\153\355\013\330\332\373\147\050\077\374\163" + "\252\020\277\125\250\012\037\273\001\330\055\100\041\340\136\001" + "\026\122\222\020\250\104\100\105\352\104\267\076\273\347\300\373" + "\366\330\332\343\013\066\153\015\230\231\230\247\350\346\333\315" + "\221\353\005\253\266\370\265\372\221\237\335\174\344\226\017\371" + "\023\166\124\044\367\267\035\105\234\017\225\040\044\221\174\325" + "\005\040\116\020\362\010\200\154\033\057\002\336\372\320\133\377" + "\327\266\312\356\227\134\141\024\273\057\147\356\300\006\036\301" + "\056\300\300\246\076\030\330\334\303\047\030\341\070\101\125\365" + "\060\122\013\344\127\075\245\347\144\151\371\275\326\136\143\304" + "\327\304\351\271\035\342\047\042\356\102\120\034\067\247\301\363" + "\007\064\104\142\371\176\276\100\126\055\246\345\116\176\345\170" + "\262\010\340\227\166\273\164\374\274\026\300\334\364\042\034\037" + "\235\345\023\167\300\273\234\224\132\217\067\346\217\337\072\167" + "\347\247\156\237\176\364\337\232\243\175\255\221\137\265\314\057" + "\000\376\126\314\274\210\166\012\200\277\124\221\136\014\023\005" + "\300\337\366\155\022\105\000\177\345\155\347\025\207\337\370\307" + "\257\065\373\206\256\004\243\170\276\157\203\267\022\007\107\172" + "\241\167\260\033\032\224\173\005\374\226\042\107\116\001\210\173" + "\104\067\111\000\010\330\272\246\065\012\356\240\236\124\106\035" + "\362\147\102\274\032\273\004\344\323\216\035\157\332\061\211\021" + "\002\211\340\262\020\344\025\000\074\246\242\251\121\154\355\251" + "\145\301\361\261\071\230\031\237\203\106\335\237\343\104\353\166" + "\155\376\233\215\261\307\277\170\350\246\337\176\010\232\204\226" + "\177\220\262\055\273\370\151\304\317\262\256\332\016\241\035\002" + "\040\023\136\105\172\025\261\345\260\270\165\171\333\027\020\062" + "\362\326\377\261\273\170\372\113\257\062\112\075\157\142\356\100" + "\067\032\351\006\363\012\206\372\140\343\346\076\320\113\046\172" + "\005\104\351\025\160\304\010\103\326\201\077\212\217\336\262\326" + "\236\064\212\232\342\141\034\034\252\044\302\314\301\366\022\277" + "\275\271\045\043\113\065\151\017\342\366\104\203\021\123\202\305" + "\336\364\012\304\101\103\277\110\044\222\107\306\004\062\014\010" + "\342\204\235\262\211\156\076\363\347\247\227\141\152\154\226\272" + "\267\360\134\070\166\343\240\075\067\165\333\334\075\173\157\077" + "\376\320\155\376\204\035\237\310\255\222\137\014\127\255\253\226" + "\111\353\252\355\020\262\134\331\325\022\000\104\122\353\057\333" + "\107\004\300\377\025\117\177\111\145\370\065\037\176\275\331\277" + "\375\012\315\050\234\345\245\205\112\137\031\275\002\202\063\016" + "\353\254\210\227\055\150\172\005\161\323\175\143\156\023\212\123" + "\175\171\153\117\230\213\217\375\173\176\014\321\062\306\020\337" + "\223\130\113\252\236\012\210\027\001\227\240\101\074\305\313\145" + "\060\217\000\307\012\014\333\113\054\024\167\202\020\050\306\003" + "\060\137\246\344\264\154\340\323\014\024\216\117\314\302\324\321" + "\071\250\057\067\300\375\336\001\265\235\352\374\367\253\143\117" + "\334\166\344\346\337\273\027\240\252\042\173\234\007\020\107\154" + "\107\132\367\343\345\145\022\361\125\141\161\333\041\254\226\000" + "\304\221\137\264\101\310\002\240\262\111\025\000\061\156\363\145" + "\177\372\374\322\216\363\057\067\053\175\277\310\370\127\302\014" + "\314\242\316\075\202\301\341\136\040\005\035\226\130\125\101\317" + "\100\131\062\252\201\077\116\176\302\352\014\163\361\221\370\304" + "\366\136\247\036\315\041\024\222\166\147\242\203\174\220\133\166" + "\141\035\357\032\330\024\357\036\024\352\064\164\031\122\274\001" + "\215\277\065\005\272\014\174\175\266\006\325\071\154\355\347\351" + "\314\344\134\360\260\032\245\215\111\173\146\354\366\371\207\276" + "\364\345\143\017\176\141\222\213\114\225\221\265\344\055\263\013" + "\000\050\326\305\231\221\252\221\176\125\172\061\056\056\054\156" + "\073\204\054\025\064\215\360\362\172\026\001\020\347\002\244\211" + "\100\036\001\010\342\053\147\134\334\073\370\252\367\277\305\030" + "\330\172\031\321\313\247\171\171\102\357\306\012\154\032\351\043" + "\075\175\025\130\146\052\277\154\073\315\151\307\312\076\276\303" + "\132\373\172\061\251\265\017\114\203\077\174\045\113\331\166\220" + "\033\276\313\057\204\010\261\170\133\230\062\041\260\051\166\017" + "\232\023\214\374\273\002\370\307\027\001\326\056\100\231\221\336" + "\140\256\332\364\370\042\114\036\075\016\125\357\231\173\146\357" + "\330\265\271\007\152\143\217\376\353\354\035\327\377\260\261\064" + "\215\023\166\354\232\117\106\302\310\132\015\021\336\001\065\371" + "\041\045\314\257\175\161\255\177\134\170\132\130\334\166\010\131" + "\052\151\126\001\360\267\145\022\313\266\042\121\305\155\161\135" + "\265\035\042\170\112\234\140\123\320\267\274\355\117\316\057\155" + "\077\377\227\264\256\276\127\020\320\231\326\073\244\120\052\300" + "\320\110\077\014\014\343\004\043\235\167\017\252\266\315\153\206" + "\233\220\267\366\305\244\326\336\107\364\255\163\035\362\257\056" + "\344\076\275\162\225\135\027\335\166\275\002\243\356\136\127\167" + "\104\246\313\324\240\314\152\210\265\154\321\251\261\031\354\337" + "\263\076\275\303\343\251\143\315\131\363\143\337\134\174\344\313" + "\267\057\075\160\323\241\006\361\110\135\347\167\234\003\222\327" + "\130\077\120\022\000\221\320\062\341\323\004\101\034\003\120\021" + "\136\046\172\334\122\136\127\155\207\220\245\242\312\066\052\162" + "\313\341\262\115\034\301\133\021\001\225\000\150\212\165\071\114" + "\353\076\367\322\301\015\057\276\372\115\346\206\155\157\046\106" + "\061\170\127\101\377\246\136\326\105\350\045\225\336\222\126\267" + "\153\305\252\123\057\072\274\252\044\226\135\000\032\374\341\053" + "\131\312\264\203\026\020\024\154\206\031\172\042\160\240\120\007" + "\243\136\326\013\165\123\323\355\231\251\071\326\267\237\201\205" + "\331\345\300\033\160\152\263\217\327\047\037\371\372\302\217\076" + "\171\267\075\073\125\263\154\260\110\243\141\065\210\107\320\072" + "\016\101\160\162\362\167\355\325\174\141\250\006\242\040\266\344" + "\355\046\177\032\361\117\031\001\210\043\175\034\331\343\302\143" + "\105\200\377\314\056\175\344\115\177\374\362\342\366\237\173\263" + "\136\351\177\221\116\032\045\135\263\212\345\156\335\334\304\274" + "\202\376\301\036\166\365\011\353\036\120\250\213\075\064\011\064" + "\262\302\067\262\224\151\007\053\105\212\010\020\357\117\031\077" + "\160\303\174\070\273\156\361\226\176\152\164\301\252\327\110\315" + "\175\030\311\251\132\363\007\277\137\333\367\215\177\257\077\362" + "\205\175\330\033\044\066\261\231\063\110\255\032\324\011\151\330" + "\215\106\330\003\140\135\000\247\010\174\351\167\003\362\172\000" + "\111\302\220\046\000\142\230\154\047\042\111\020\102\310\122\131" + "\145\033\231\324\252\165\221\314\142\274\110\106\037\171\105\040" + "\111\000\222\104\100\023\176\344\171\057\251\014\275\350\322\256" + "\113\213\203\333\336\074\126\175\315\226\261\305\127\024\032\166" + "\067\077\026\374\030\312\206\041\364\012\372\241\130\051\360\356" + "\301\262\342\126\142\307\365\137\137\304\075\214\303\047\354\030" + "\356\343\267\363\323\330\267\237\141\313\346\063\367\025\363\260" + "\075\134\272\373\270\071\167\327\327\237\276\147\364\233\143\317" + "\066\246\034\033\154\302\004\300\266\361\235\034\304\141\036\100" + "\235\130\236\000\064\070\211\354\172\263\013\340\222\334\035\014" + "\264\041\114\334\054\002\000\122\032\221\374\252\070\025\241\125" + "\102\040\333\250\342\102\310\122\141\127\052\000\362\122\223\226" + "\111\244\127\205\251\310\256\042\174\224\374\046\350\277\370\336" + "\015\027\234\166\166\361\315\135\275\332\205\054\106\367\047\367" + "\070\324\044\023\213\057\061\107\027\056\051\316\126\317\010\076" + "\232\132\351\301\011\106\375\060\060\330\015\065\157\202\121\135" + "\326\151\167\043\113\131\166\320\116\010\136\000\026\176\231\077" + "\214\303\126\030\173\217\361\326\176\006\352\236\013\247\221\057" + "\137\214\370\000\000\040\000\111\104\101\124\006\154\054\077\320" + "\030\351\371\356\162\177\361\161\333\115\103\360\032\132\313\263" + "\316\203\207\236\256\336\361\340\327\026\176\142\163\021\140\136" + "\200\305\204\240\332\250\171\344\167\352\365\246\373\017\105\236" + "\045\016\032\304\171\000\161\042\000\222\035\110\353\000\361\344" + "\127\055\117\112\001\020\311\031\147\237\364\313\342\001\210\066" + "\372\356\237\053\367\137\360\113\335\227\156\334\142\276\305\050" + "\222\021\361\131\102\352\104\313\140\241\276\135\077\062\367\232" + "\322\304\342\313\114\313\051\361\170\303\320\270\107\260\161\244" + "\217\277\301\150\251\341\172\005\115\057\240\043\000\353\001\174" + "\201\102\227\351\266\366\213\263\113\214\364\263\060\075\065\037" + "\124\373\222\061\151\157\251\174\257\276\245\162\127\275\140\314" + "\361\120\052\314\025\360\057\032\316\030\154\324\351\350\364\130" + "\343\216\037\337\061\377\255\043\217\325\146\254\052\340\055\001" + "\132\167\307\000\374\367\354\313\044\027\373\377\376\266\212\374" + "\111\277\225\012\200\030\056\157\257\272\000\250\342\145\102\213" + "\113\115\132\217\113\023\367\223\323\253\134\175\276\174\355\373" + "\067\274\160\347\013\212\227\125\172\215\213\231\267\130\120\275" + "\160\214\052\336\361\347\207\041\371\307\027\136\141\036\235\277" + "\270\210\242\340\307\367\016\164\361\073\010\335\070\301\210\125" + "\213\045\313\041\015\361\022\166\260\252\300\213\203\267\360\220" + "\370\272\115\351\324\304\034\163\363\247\241\266\334\360\342\035" + "\326\332\377\244\061\322\375\275\172\177\351\247\226\046\177\061" + "\130\172\327\122\120\351\164\234\035\306\324\201\271\377\113\323" + "\326\335\117\377\244\366\325\273\276\070\375\063\100\022\065\005" + "\100\046\276\112\024\322\176\040\245\361\041\257\307\011\200\212" + "\334\047\204\000\250\010\354\103\345\362\213\144\116\042\275\112" + "\000\124\341\332\326\163\314\356\127\135\325\377\372\201\255\205" + "\267\261\126\373\164\227\364\161\263\373\242\347\257\012\143\040" + "\163\313\173\364\303\363\257\051\116\056\135\140\140\167\001\003" + "\013\005\035\006\267\014\340\223\211\004\077\245\356\115\060\112" + "\056\361\365\102\253\007\225\245\206\254\021\370\364\134\303\035" + "\324\133\136\250\062\322\263\326\176\022\157\341\271\147\127\320" + "\147\235\315\225\273\032\254\305\257\225\214\143\301\031\023\325" + "\203\060\222\010\340\067\323\370\143\176\040\126\110\002\215\032" + "\175\152\352\120\375\137\277\177\363\314\267\107\237\151\370\017" + "\370\264\313\003\360\155\305\264\376\172\026\362\213\347\040\237" + "\243\234\126\211\054\227\127\266\041\061\113\071\214\100\274\255" + "\070\157\076\257\010\050\075\200\327\374\332\206\263\166\235\127" + "\272\274\322\253\275\216\020\122\016\323\160\005\002\340\155\363" + "\334\370\247\317\272\311\350\302\253\012\314\053\050\124\355\041" + "\315\317\173\140\123\057\154\332\322\013\075\003\025\326\065\100" + "\257\100\176\257\341\032\040\361\122\267\011\131\152\114\233\301" + "\133\173\374\044\026\273\070\323\223\363\060\176\344\070\023\000" + "\377\133\030\024\130\237\336\332\322\175\147\155\123\371\001\213" + "\020\333\015\104\170\307\312\053\216\054\002\342\066\361\154\064" + "\141\252\161\220\226\307\240\013\261\260\060\155\177\373\211\173" + "\027\376\345\007\067\317\355\203\225\171\000\142\032\220\326\101" + "\312\007\244\145\234\000\210\166\342\372\232\013\200\114\146\225" + "\255\117\134\321\116\116\027\367\013\006\021\267\236\136\054\137" + "\362\376\215\257\033\030\062\336\156\026\311\363\261\077\117\103" + "\345\350\103\065\275\067\172\356\312\326\337\361\207\232\361\155" + "\025\256\215\373\275\111\002\323\313\317\327\217\056\274\272\170" + "\254\366\163\046\165\277\205\002\245\162\001\360\126\042\116\075" + "\246\232\016\213\026\345\257\076\137\013\156\162\254\326\216\262" + "\324\224\066\002\033\143\336\332\063\362\067\226\352\060\061\072" + "\003\307\306\146\300\266\335\353\153\152\213\164\270\353\207\215" + "\315\225\073\353\225\302\121\047\372\022\020\141\033\011\256\360" + "\002\202\060\357\334\270\027\100\110\110\000\074\113\352\006\151" + "\074\334\252\321\237\062\257\340\137\276\371\351\343\337\075\066" + "\132\107\045\362\053\135\053\042\220\104\376\064\001\020\227\161" + "\353\155\025\000\325\172\322\122\105\174\037\272\302\066\115\004" + "\270\160\134\174\355\300\316\063\137\336\365\366\112\217\361\026" + "\166\315\370\153\306\225\217\352\162\264\320\372\123\171\333\353" + "\110\360\001\103\157\340\217\172\373\244\370\342\322\001\155\164" + "\361\022\163\174\361\125\146\315\351\347\347\310\157\045\156\352" + "\303\151\307\120\351\055\363\101\303\045\377\023\151\253\205\325" + "\314\133\205\054\265\047\047\360\163\327\025\376\221\014\012\063" + "\123\013\274\265\237\167\237\271\347\350\061\237\265\107\272\277" + "\323\030\254\374\147\103\047\265\340\214\171\005\011\075\340\243" + "\170\330\107\356\373\053\275\000\014\013\276\276\346\107\206\323" + "\171\325\030\035\222\205\031\353\366\307\276\277\364\225\037\336" + "\072\215\257\371\022\135\372\064\061\020\155\174\120\141\133\145" + "\057\157\373\141\111\353\211\265\042\313\045\154\125\000\304\026" + "\136\136\372\144\316\102\172\376\333\060\122\066\337\374\137\066" + "\274\272\177\110\277\302\054\152\027\000\177\073\104\363\334\250" + "\023\363\371\156\022\375\140\107\054\371\251\137\132\136\276\176" + "\353\317\303\151\160\307\200\172\201\376\053\301\203\222\246\072" + "\071\266\374\363\306\330\342\253\315\231\332\331\206\277\233\162" + "\167\011\206\267\016\300\340\120\057\064\130\015\363\275\202\266" + "\041\361\022\347\104\226\032\321\146\340\225\353\362\132\173\273" + "\326\200\111\326\332\343\275\373\106\303\175\346\036\211\276\251" + "\353\136\153\244\373\316\106\217\171\300\177\352\017\100\032\334" + "\363\011\115\202\170\271\144\344\007\203\040\042\002\261\136\000" + "\125\177\200\104\323\270\275\123\137\162\356\075\166\244\161\333" + "\277\374\357\321\273\253\063\200\007\256\042\275\374\223\307\000" + "\374\060\161\133\216\027\303\374\360\244\365\304\332\221\345\162" + "\213\066\252\365\270\145\234\000\210\341\251\042\160\311\257\366" + "\157\071\353\245\175\127\124\172\341\062\166\371\206\320\110\075" + "\232\037\043\000\220\042\000\324\053\121\177\352\257\267\015\062" + "\331\275\060\352\005\122\112\233\117\227\004\171\065\217\141\311" + "\032\326\307\320\053\130\172\245\321\160\052\074\134\327\065\030" + "\334\334\017\103\133\373\241\324\125\144\102\340\172\005\151\157" + "\073\116\304\112\322\256\004\131\152\116\012\360\033\367\025\174" + "\303\216\116\141\366\370\042\114\060\322\317\340\055\074\017\135" + "\306\121\007\111\077\124\371\241\145\150\313\374\114\111\340\216" + "\103\123\000\204\143\021\011\255\034\374\343\141\315\004\334\206" + "\010\025\120\363\134\106\042\173\001\152\001\040\336\061\270\037" + "\160\344\167\020\306\347\147\255\333\036\372\356\342\227\357\275" + "\155\172\022\242\304\365\177\151\344\027\327\105\033\161\133\134" + "\306\255\047\326\220\054\227\161\065\004\200\044\154\223\356\156" + "\320\337\361\261\155\027\365\017\032\127\231\145\162\021\066\255" + "\234\204\352\021\172\027\061\161\252\167\370\071\241\173\377\224" + "\377\167\004\367\337\165\361\251\040\000\340\171\010\236\020\120" + "\120\014\026\066\253\213\277\117\312\363\065\141\162\351\045\346" + "\330\342\305\306\134\143\117\060\370\331\323\127\146\136\301\006" + "\330\060\324\015\065\307\365\012\352\242\063\270\022\304\135\362" + "\054\127\173\225\201\207\120\062\134\067\237\130\026\353\333\317" + "\302\370\341\151\250\173\337\271\327\210\005\033\113\077\146\255" + "\375\167\254\376\342\023\136\153\057\116\370\221\037\347\005\352" + "\347\313\227\321\317\251\064\323\272\265\054\024\337\034\007\040" + "\241\074\174\021\360\027\161\263\016\043\371\141\056\032\076\113" + "\250\131\215\272\363\335\143\207\152\137\272\341\317\216\336\013" + "\213\251\143\003\252\161\000\177\035\044\133\020\226\342\172\132" + "\130\004\131\252\204\114\140\125\270\030\027\047\000\142\377\137" + "\036\311\347\171\374\302\273\172\067\076\377\342\376\167\164\367" + "\030\357\140\202\273\065\350\154\203\202\160\042\022\342\220\214" + "\124\052\202\210\353\056\265\366\241\060\057\227\120\167\100\265" + "\277\030\001\000\141\154\142\241\261\103\033\133\272\304\230\130" + "\172\231\141\323\042\017\067\115\003\066\155\141\136\301\266\176" + "\060\212\005\056\004\113\126\312\125\103\244\032\254\023\142\256" + "\004\343\073\047\075\336\302\133\230\136\204\061\326\332\037\233" + "\230\363\013\035\112\372\024\335\134\271\313\332\334\165\227\125" + "\320\347\250\110\054\217\214\302\266\100\106\131\000\110\244\066" + "\204\112\112\041\020\236\010\020\377\177\330\053\360\056\253\346" + "\075\111\250\204\312\323\200\100\014\050\155\300\376\371\131\347" + "\113\367\175\165\372\053\077\376\367\271\131\150\022\331\021\226" + "\076\222\006\001\145\257\301\107\326\260\010\342\111\325\004\221" + "\226\252\160\061\216\110\077\331\026\021\272\013\360\053\177\261" + "\355\302\215\043\205\253\214\002\171\055\043\217\351\266\264\321" + "\353\044\007\370\210\174\236\213\006\013\342\062\126\010\026\010" + "\114\275\312\107\151\270\067\351\017\366\005\333\241\352\330\114" + "\357\333\210\343\017\021\217\103\036\234\144\171\067\150\231\114" + "\056\277\134\037\135\274\304\130\264\266\005\302\330\277\261\033" + "\066\157\033\200\076\266\134\266\011\054\065\050\064\124\227\057" + "\361\222\046\041\357\154\305\360\110\172\053\300\031\172\335\214" + "\370\232\143\303\344\270\333\332\057\007\317\334\123\030\050\075" + "\144\217\124\276\153\157\050\375\054\044\173\162\337\034\005\040" + "\250\104\162\345\320\305\155\356\272\173\055\170\020\030\266\367" + "\307\012\274\370\160\127\201\270\375\172\167\265\271\040\074\347" + "\120\170\220\042\371\043\042\324\357\036\260\063\250\325\153\316" + "\035\123\373\352\267\354\375\330\021\377\203\237\252\101\100\052" + "\374\100\130\236\364\002\020\124\366\227\135\261\261\357\202\327" + "\125\056\057\167\233\127\021\203\356\216\041\175\023\111\255\274" + "\117\062\052\235\255\324\117\107\222\123\311\265\307\070\107\044" + "\264\133\354\341\053\352\013\206\157\342\217\027\004\361\061\002" + "\340\335\045\010\325\056\001\230\317\134\375\114\155\164\361\325" + "\372\124\025\047\030\271\217\040\024\212\046\014\063\041\030\146" + "\236\001\024\014\130\154\120\076\267\100\366\144\262\041\057\351" + "\343\220\130\311\075\023\167\201\375\034\034\324\253\230\000\313" + "\363\125\030\143\244\237\032\237\001\307\273\005\122\320\146\351" + "\346\256\273\161\212\256\125\024\046\354\200\327\312\006\225\106" + "\156\131\005\242\151\142\261\112\267\363\344\133\202\104\256\075" + "\212\156\200\074\202\304\077\324\050\324\136\167\265\351\005\220" + "\340\117\164\177\041\104\366\305\174\011\366\317\266\340\261\332" + "\202\175\363\017\157\230\270\375\201\357\057\341\155\016\352\375" + "\222\306\001\104\001\020\303\345\145\134\130\004\131\052\207\114" + "\142\125\170\270\170\023\004\340\175\237\334\371\202\376\021\375" + "\352\202\011\157\146\304\053\163\312\044\037\243\013\205\000\064" + "\373\347\224\370\344\225\211\113\005\103\127\000\374\373\370\000" + "\076\231\203\064\315\042\013\067\062\302\276\043\356\277\060\236" + "\100\211\064\056\055\277\015\070\054\064\304\133\343\150\330\075" + "\332\370\322\053\265\121\326\105\250\332\233\274\372\106\140\160" + "\123\057\367\012\160\202\021\166\015\026\063\117\060\152\027\361" + "\045\044\124\166\174\135\166\305\044\120\140\205\162\154\174\016" + "\216\036\074\016\213\013\315\133\170\375\205\307\235\055\254\265" + "\037\054\375\330\346\023\166\110\204\344\141\262\004\356\275\173" + "\052\124\260\215\270\344\104\070\141\145\077\277\331\307\207\330" + "\156\200\027\355\326\334\140\233\004\256\202\177\074\241\077\356" + "\233\207\343\112\073\241\173\340\335\116\234\257\056\133\267\117" + "\035\264\157\332\373\107\207\236\204\164\001\020\267\343\226\161" + "\141\021\144\251\044\052\001\120\021\136\266\015\302\317\275\250" + "\257\364\232\367\155\174\143\251\242\135\255\153\360\042\207\371" + "\330\234\366\111\375\372\060\134\262\104\116\305\275\025\027\041" + "\060\267\245\221\064\134\000\204\356\002\106\311\017\003\051\276" + "\366\033\103\142\360\057\121\260\177\112\244\363\021\075\223\160" + "\267\201\004\153\201\255\037\117\340\170\365\005\372\350\322\253" + "\265\351\352\171\072\005\177\202\121\021\266\154\037\200\241\315" + "\175\140\353\006\027\202\152\334\004\243\325\176\027\241\040\002" + "\110\226\212\067\057\277\276\124\347\367\355\047\216\114\203\345" + "\115\330\061\264\045\234\260\143\157\056\337\351\164\231\243\064" + "\322\252\247\270\353\276\075\161\375\372\260\000\004\106\020\046" + "\247\213\120\174\104\004\144\221\120\314\021\010\171\005\315\101" + "\102\205\027\100\134\217\041\260\005\031\311\044\144\175\016\235" + "\235\217\155\303\375\213\263\316\115\337\373\334\261\073\036\376" + "\301\154\163\252\143\063\375\111\041\000\301\072\353\333\157\037" + "\332\121\170\227\151\152\127\262\355\015\310\066\107\070\036\232" + "\141\377\324\075\145\217\110\156\332\040\007\012\301\144\234\146" + "\002\177\041\272\337\064\040\041\015\145\340\205\211\031\106\105" + "\051\224\277\043\307\213\336\101\160\234\020\041\141\350\015\103" + "\011\171\270\233\356\166\335\036\040\243\213\227\060\317\340\125" + "\172\315\351\343\141\070\301\150\160\270\237\171\005\033\240\322" + "\123\206\105\346\126\057\066\100\230\140\264\312\344\367\200\237" + "\304\352\066\361\043\031\070\075\167\016\106\017\035\347\037\313" + "\360\321\143\076\113\067\127\356\264\207\312\377\341\350\104\032" + "\311\040\341\063\026\105\201\100\174\034\302\177\063\060\012\017" + "\011\213\000\365\063\010\114\205\164\341\301\101\022\211\327\364" + "\360\176\074\063\036\026\356\036\204\273\051\376\112\323\013\150" + "\032\007\233\061\136\200\010\074\157\215\270\343\341\354\337\261" + "\172\203\336\072\265\337\376\302\147\376\360\331\203\236\011\225" + "\176\220\260\214\013\213\040\113\145\041\322\122\265\336\264\331" + "\011\332\107\076\266\353\027\212\335\372\265\206\106\056\241\032" + "\325\335\033\335\352\343\160\122\216\201\223\323\221\372\362\101" + "\004\336\322\023\373\334\315\145\060\022\057\246\013\334\156\032" + "\011\023\362\040\176\036\336\042\210\127\332\012\247\345\310\375" + "\177\061\135\370\364\103\371\210\371\252\274\042\076\301\250\372" + "\042\062\266\170\211\076\135\077\047\030\107\251\164\227\141\344" + "\264\215\260\151\113\037\054\073\170\227\201\222\154\335\203\326" + "\201\203\172\350\346\353\226\005\107\017\037\247\343\207\361\231" + "\173\367\026\236\116\152\260\251\374\237\334\315\357\061\367\213" + "\204\224\317\336\053\034\357\257\044\010\276\175\120\251\304\326" + "\071\354\232\173\166\336\116\102\161\341\175\312\203\212\221\201" + "\077\305\025\212\170\053\020\115\347\375\167\217\205\004\241\301" + "\037\342\262\043\221\204\210\320\230\006\246\143\212\304\222\342" + "\213\111\276\137\133\260\156\374\374\047\367\335\071\376\323\320" + "\004\043\110\130\306\205\105\220\110\076\017\104\132\252\326\311" + "\273\377\164\153\357\266\063\313\357\064\014\355\032\266\307\235" + "\224\267\365\311\265\061\153\027\200\317\361\247\334\335\167\267" + "\233\344\164\135\166\305\151\107\005\040\332\345\120\154\003\044" + "\223\061\264\057\311\255\017\304\214\110\136\111\210\340\020\163" + "\014\315\313\025\335\247\200\145\153\230\140\367\140\174\371\025" + "\172\303\256\360\260\122\251\000\043\073\066\020\174\104\031\237" + "\077\130\360\272\007\053\232\140\044\300\320\334\327\146\343\147" + "\261\032\313\165\070\312\132\173\034\315\167\034\356\317\321\056" + "\143\224\216\124\276\353\014\165\375\320\061\264\240\317\057\273" + "\042\041\002\202\104\244\200\200\341\322\160\203\302\304\016\342" + "\103\203\157\204\250\010\333\334\026\104\204\053\250\044\010\174" + "\041\215\157\150\012\033\200\310\261\270\353\232\073\121\210\237" + "\232\026\216\124\011\211\210\244\170\034\047\340\236\201\103\216" + "\066\054\347\346\043\207\226\157\276\341\167\016\117\010\046\024" + "\324\144\127\205\105\220\205\200\211\002\360\207\137\070\363\005" + "\205\062\371\025\166\214\157\145\144\354\242\136\377\076\015\062" + "\021\342\020\041\051\316\234\163\370\114\074\167\133\026\000\200" + "\330\347\002\144\262\065\075\002\337\040\211\234\301\365\215\332" + "\323\160\353\057\017\011\005\373\021\253\170\050\316\077\040\005" + "\371\243\105\311\155\154\234\140\264\374\122\202\167\020\346\033" + "\273\334\347\017\130\215\035\334\334\007\103\303\275\320\073\120" + "\141\315\205\006\065\352\276\327\020\047\031\145\025\004\044\074" + "\316\311\057\260\326\276\210\265\023\077\211\065\065\317\047\355" + "\314\005\137\307\261\361\015\073\016\022\277\277\370\204\312\221" + "\363\110\032\015\343\120\264\310\021\301\360\022\107\132\163\341" + "\166\234\030\347\327\204\300\105\212\174\021\250\131\302\262\010" + "\050\274\020\271\153\042\106\204\217\207\140\331\153\124\046\276" + "\144\223\132\372\004\342\155\170\307\000\357\040\020\322\140\125" + "\376\016\273\006\237\377\263\117\074\376\043\170\000\326\136\000" + "\256\270\002\214\263\256\071\353\015\272\006\277\306\210\370\142" + "\167\100\057\072\345\066\015\231\104\040\306\113\100\021\300\333" + "\112\266\345\204\110\355\256\306\364\203\275\001\277\140\044\045" + "\372\066\240\304\026\076\164\274\362\340\241\267\117\314\233\210" + "\167\006\022\132\364\020\371\021\016\110\065\066\076\255\017\314" + "\143\272\166\056\071\274\360\006\175\266\166\116\020\257\261\213" + "\323\277\241\033\372\066\164\101\157\177\005\272\052\005\026\246" + "\363\073\010\066\165\045\332\057\007\377\251\054\235\325\122\234" + "\236\213\263\362\026\346\253\060\067\273\010\063\307\226\140\176" + "\266\371\076\075\102\352\060\134\276\307\331\332\375\015\247\313" + "\030\017\210\350\266\226\341\303\243\321\312\327\044\256\273\014" + "\023\111\150\245\233\005\343\346\311\011\344\063\233\372\256\077" + "\104\106\364\103\005\212\242\222\324\022\207\367\027\025\032\325" + "\335\002\367\157\363\274\161\326\237\206\163\007\022\156\005\272" + "\266\053\022\000\021\114\010\250\216\223\025\250\366\014\363\302" + "\076\077\165\144\371\226\377\363\201\203\163\260\332\002\360\221" + "\177\334\326\337\063\334\163\055\363\062\337\315\232\223\055\174" + "\110\317\361\237\152\211\221\276\004\254\104\000\334\050\126\023" + "\260\145\263\035\046\004\115\257\000\204\342\016\102\024\371\360" + "\201\071\247\151\045\037\117\122\337\334\157\345\251\367\047\224" + "\126\020\103\051\135\050\017\107\026\240\004\133\157\007\341\364" + "\264\051\030\030\261\324\330\102\306\227\057\322\320\063\250\331" + "\033\042\347\153\026\015\350\352\056\201\151\352\240\033\354\347" + "\275\000\303\142\035\115\054\303\152\325\342\057\332\360\037\271" + "\155\202\102\267\371\054\035\356\372\017\147\123\327\075\216\251" + "\065\007\373\104\110\156\074\050\004\000\124\003\167\101\005\223" + "\011\047\266\300\232\240\352\124\360\261\244\126\132\061\051\107" + "\221\007\361\023\204\011\037\071\236\146\205\022\113\036\011\210" + "\203\261\370\023\021\073\135\330\215\114\045\067\311\050\000\056" + "\360\303\224\072\166\020\360\170\226\231\327\373\125\247\101\157" + "\374\370\333\036\177\320\067\220\226\112\244\023\220\331\134\367" + "\345\347\355\040\046\274\237\251\351\125\254\245\357\302\232\353" + "\104\372\367\371\004\040\023\371\021\051\002\040\156\073\026\367" + "\010\130\005\216\172\000\312\301\065\073\174\277\077\114\142\157" + "\135\250\002\342\031\023\041\276\231\316\341\351\304\022\217\025" + "\000\052\305\311\335\006\311\126\105\176\210\003\213\233\157\354" + "\044\323\325\163\311\134\343\014\062\133\337\103\034\132\212\065" + "\127\241\250\035\207\336\342\123\264\257\360\004\335\130\372\211" + "\123\320\147\202\270\304\076\253\344\112\313\042\240\311\227\136" + "\042\171\063\230\203\372\033\041\161\240\044\174\353\060\044\002" + "\136\361\153\122\036\176\174\160\174\321\061\203\250\007\100\233" + "\202\100\334\207\271\210\333\342\053\317\177\255\005\300\137\103" + "\021\300\351\213\356\044\043\355\041\126\076\237\237\173\154\362" + "\313\177\365\373\343\350\272\265\056\000\327\175\375\205\333\064" + "\260\376\200\255\276\215\021\137\227\157\343\205\020\373\064\236" + "\032\261\156\272\214\044\001\210\353\353\263\116\222\315\030\142" + "\067\354\346\200\141\230\154\174\133\076\223\120\227\100\154\375" + "\101\250\265\176\107\076\306\073\240\362\350\177\030\361\161\264" + "\131\105\250\164\135\210\242\254\142\005\100\045\164\070\026\140" + "\155\044\313\366\146\346\045\154\146\235\310\036\326\203\057\061" + "\035\057\360\170\103\133\142\255\167\025\212\214\344\145\346\326" + "\167\351\243\324\324\347\042\131\007\040\022\001\103\121\321\012" + "\042\212\000\211\326\024\111\000\232\221\011\056\171\223\230\356" + "\112\160\326\330\072\207\322\044\221\134\114\007\076\001\205\203" + "\163\171\105\221\370\232\046\204\053\316\061\161\066\040\067\110" + "\047\167\242\200\310\210\074\341\342\102\343\343\004\374\016\002" + "\076\120\361\105\207\056\376\277\327\277\151\377\230\312\026\241" + "\254\104\327\135\007\232\171\341\013\177\223\202\365\173\016\165" + "\112\224\246\077\274\036\377\070\156\074\062\211\100\013\002\040" + "\246\261\171\367\300\146\156\156\070\037\171\100\120\114\343\210" + "\333\142\165\021\066\102\244\017\077\135\030\117\162\010\247\011" + "\135\301\260\340\220\140\315\115\024\072\026\225\067\043\100\076" + "\156\125\254\147\022\036\100\215\124\300\304\275\304\264\202\212" + "\176\063\110\107\103\302\333\356\340\131\050\074\140\145\230\240" + "\062\171\245\165\327\006\245\071\174\251\305\015\076\330\050\106" + "\053\273\031\350\336\273\055\276\262\157\037\103\346\074\123\202" + "\325\046\331\005\200\304\010\200\140\301\216\235\117\055\257\332" + "\216\365\367\243\303\075\177\367\351\013\036\150\104\255\044\374" + "\345\277\277\256\322\200\361\117\131\116\343\325\016\365\137\204" + "\232\015\051\025\063\002\242\330\277\214\110\077\071\204\154\256" + "\076\002\347\013\240\107\140\261\156\002\236\222\157\027\234\035" + "\025\352\037\125\344\043\170\014\062\161\104\362\202\177\123\332" + "\001\331\313\010\325\173\151\000\062\114\360\150\271\204\153\164" + "\154\353\237\056\250\212\274\225\220\110\252\266\211\233\002\033" + "\224\216\117\247\050\011\225\366\156\205\010\237\104\244\213\240" + "\310\123\354\072\110\337\012\210\034\213\230\037\021\343\171\132" + "\060\114\102\161\000\125\020\211\030\262\253\302\343\011\254\251" + "\205\061\004\232\241\314\175\144\271\253\200\100\157\100\043\070" + "\313\311\371\211\136\133\176\357\107\057\173\166\074\024\357\257" + "\140\253\277\361\245\127\167\317\231\017\177\336\261\353\347\123" + "\232\157\106\111\136\362\173\110\115\223\230\257\242\302\047\330" + "\007\044\263\054\007\032\165\207\340\235\004\267\030\151\230\304" + "\040\221\227\102\050\136\366\134\342\372\371\115\222\207\363\127" + "\335\175\020\257\246\104\322\350\371\304\234\043\225\147\105\106" + "\041\117\126\216\257\162\101\151\305\043\064\375\065\024\041\246" + "\023\212\315\017\221\132\366\020\011\175\073\022\004\320\250\235" + "\324\177\047\341\013\042\365\321\103\202\340\356\133\260\146\333" + "\006\216\342\033\254\265\067\122\346\022\370\111\342\112\071\301" + "\003\310\110\330\054\066\034\031\363\363\100\100\327\114\224\326" + "\261\205\345\371\267\377\371\333\366\357\157\306\170\270\363\316" + "\177\056\335\323\370\233\117\064\234\332\025\071\216\043\100\113" + "\002\220\251\305\112\350\132\144\027\200\250\235\203\337\177\146" + "\235\034\356\025\070\141\202\322\170\122\273\361\336\176\151\144" + "\162\121\330\056\146\114\301\335\014\355\117\271\356\041\274\035" + "\073\307\041\261\054\123\313\131\215\050\171\345\050\102\024\156" + "\230\272\053\021\026\000\061\132\040\045\221\367\025\361\000\374" + "\140\311\116\023\036\027\016\115\020\342\177\103\373\046\256\015" + "\350\214\364\172\101\223\304\143\225\004\000\122\134\366\264\061" + "\004\011\371\004\300\205\256\025\160\200\374\331\247\047\047\137" + "\267\367\335\343\374\126\016\357\044\334\111\357\064\356\375\332" + "\165\077\157\231\265\167\344\074\216\225\041\113\265\114\070\034" + "\125\224\222\375\212\100\154\374\165\003\053\201\001\005\266\156" + "\325\231\020\064\034\076\277\040\142\117\103\213\346\032\221\031" + "\057\254\122\136\307\224\307\030\220\277\231\115\166\170\306\153" + "\161\225\262\034\027\211\254\040\220\123\222\053\036\212\006\042" + "\115\357\005\367\214\074\007\045\304\310\160\072\144\022\221\313" + "\335\213\014\056\010\211\046\365\141\030\056\361\321\315\347\066" + "\222\221\246\101\010\112\332\306\024\114\102\123\225\030\327\012" + "\132\311\317\241\165\166\376\205\135\073\172\066\374\016\300\370" + "\307\061\214\013\300\316\375\140\334\115\246\336\254\221\110\225" + "\136\145\044\357\313\047\121\114\044\121\105\146\045\106\310\013" + "\044\356\075\162\263\210\203\206\024\032\065\233\217\027\310\065" + "\270\231\104\315\102\125\033\034\324\355\260\145\063\222\102\304" + "\055\247\221\225\050\102\274\340\232\025\133\226\355\270\240\234" + "\170\321\100\167\021\156\215\210\264\124\257\206\016\112\330\240" + "\356\345\010\355\213\107\373\027\054\320\225\160\246\141\257\076" + "\014\274\165\207\237\166\143\375\173\376\344\135\050\056\245\164" + "\124\361\011\151\110\134\113\036\137\221\133\103\253\331\071\324" + "\202\142\321\174\073\363\030\377\047\172\112\134\000\054\153\231" + "\262\210\335\072\221\344\057\017\262\062\117\104\213\047\321\026" + "\304\354\033\133\010\303\300\073\236\032\064\352\114\014\230\147" + "\020\074\203\040\033\307\035\077\225\242\344\032\055\331\312\040" + "\315\225\226\113\210\272\177\122\323\247\032\144\101\050\223\046" + "\101\245\274\011\210\107\044\106\372\055\273\150\351\257\006\353" + "\236\207\320\334\046\151\243\346\072\216\344\233\072\230\205\370" + "\172\055\023\051\013\261\022\155\142\342\062\344\353\132\144\231" + "\107\017\231\362\213\001\145\145\002\233\300\235\015\155\163\001" + "\330\263\347\122\307\171\364\167\127\220\051\010\023\260\063\043" + "\303\336\222\312\042\103\362\044\110\311\303\173\302\221\140\112" + "\212\145\200\142\131\307\001\103\260\152\254\213\040\276\324\077" + "\224\040\234\072\342\011\104\172\025\104\271\052\042\123\055\310" + "\350\041\344\206\042\061\161\031\255\156\335\124\201\212\210\330" + "\062\200\370\012\215\336\215\046\014\032\252\100\304\076\001\301" + "\367\054\142\153\257\007\063\365\304\274\345\214\326\116\000\062" + "\144\214\310\152\226\321\116\005\102\370\244\006\176\055\375\317" + "\140\333\325\171\230\054\125\202\360\374\130\301\001\265\025\252" + "\303\227\311\356\100\256\266\325\140\055\010\376\160\320\220\171" + "\004\204\165\021\040\306\047\360\133\336\050\162\354\057\176\270" + "\110\222\026\342\022\044\117\336\142\013\235\007\376\375\005\125" + "\305\243\040\167\003\274\024\020\031\214\153\042\324\170\047\052" + "\205\233\023\050\340\005\142\243\151\260\076\275\356\021\077\342" + "\310\346\041\254\274\255\270\026\124\036\303\020\021\267\257\174" + "\305\275\152\320\064\035\226\027\055\354\077\363\333\174\134\000" + "\160\343\275\177\261\365\231\336\301\215\015\275\140\233\255\210" + "\100\332\264\004\031\331\312\043\311\052\146\207\131\074\021\105" + "\266\241\144\322\307\104\374\251\375\170\233\250\304\052\132\251" + "\154\362\256\101\235\011\201\035\372\054\260\327\276\064\377\170" + "\241\041\223\130\370\043\371\231\324\075\255\274\343\156\025\312" + "\055\240\312\110\275\177\311\003\210\077\310\114\307\057\246\217" + "\043\270\027\032\316\217\004\177\061\334\100\322\027\164\336\307" + "\367\041\173\140\342\344\100\336\323\020\076\362\221\352\001\304" + "\234\113\354\071\306\237\274\102\044\243\110\065\360\220\255\214" + "\303\100\325\062\265\022\034\036\037\015\046\004\371\036\000\054" + "\055\317\355\073\370\024\350\173\316\035\342\243\205\331\017\305" + "\105\026\336\345\105\342\071\362\251\120\212\141\267\054\323\027" + "\162\026\236\246\260\057\024\165\376\303\211\105\215\232\305\005" + "\301\057\262\104\061\224\052\073\025\326\110\163\065\004\145\166" + "\071\317\301\107\326\144\361\325\330\137\011\173\022\111\025\122" + "\351\065\044\035\210\264\017\331\305\041\314\265\307\057\063\233" + "\370\022\102\022\335\177\204\324\040\041\311\066\143\001\251\206" + "\313\322\306\044\262\024\176\006\023\216\254\307\351\003\047\004" + "\041\371\247\217\317\302\324\350\334\217\375\360\100\000\012\135" + "\135\337\236\235\236\233\332\377\030\031\332\175\316\060\260\366" + "\015\362\116\006\312\205\014\372\102\323\312\063\166\330\135\202" + "\234\215\262\360\004\043\052\135\335\204\302\166\007\015\013\120" + "\354\002\076\116\120\143\142\340\330\011\123\247\143\311\115\232" + "\133\261\025\070\347\125\107\144\050\347\000\151\331\047\221\074" + "\123\240\030\100\202\115\115\145\352\233\323\146\244\151\260\112" + "\134\322\271\273\037\044\364\115\245\254\105\050\207\043\375\325" + "\370\321\231\230\200\204\340\224\362\313\324\127\313\140\202\310" + "\043\000\170\377\337\040\005\230\235\235\205\147\036\235\300\331" + "\265\067\372\161\241\154\256\270\276\367\115\054\343\177\350\035" + "\350\206\063\316\336\014\172\221\125\152\047\233\067\220\173\042" + "\120\006\173\032\063\321\214\043\146\212\260\362\070\344\111\070" + "\012\233\320\104\232\204\111\073\211\171\171\353\370\374\101\155" + "\331\046\334\053\000\032\235\371\347\331\121\220\363\216\234\257" + "\354\064\052\216\073\246\034\063\224\157\056\140\156\011\323\131" + "\211\312\035\363\217\136\054\041\077\102\272\135\246\203\140\033" + "\232\345\107\240\130\322\251\131\164\373\366\322\313\100\203\365" + "\220\173\055\117\064\222\053\160\050\135\370\070\042\156\172\334" + "\300\147\234\073\237\130\106\031\046\331\144\350\046\040\262\164" + "\047\360\155\102\006\222\230\141\364\310\061\070\374\324\064\363" + "\356\235\157\176\361\217\346\336\353\357\047\162\315\256\374\170" + "\357\007\131\324\107\361\231\361\235\147\155\206\301\341\136\260" + "\231\010\330\324\177\035\231\032\253\042\000\111\216\142\314\314" + "\067\107\361\120\222\074\143\135\051\000\362\276\304\227\172\144" + "\024\200\160\276\224\117\065\156\124\035\250\127\055\376\164\242" + "\052\017\371\251\076\022\234\127\363\372\370\215\240\362\270\223" + "\232\025\047\153\165\202\110\115\210\144\232\062\227\135\351\376" + "\106\367\336\074\051\237\170\304\067\015\023\030\007\363\260\213" + "\205\203\257\341\312\056\114\060\152\105\000\042\057\020\111\026" + "\000\032\123\202\132\334\303\070\161\363\000\322\272\007\076\062" + "\136\261\144\001\140\136\051\153\365\261\345\077\076\065\003\007" + "\367\115\302\322\034\066\344\160\037\355\236\173\347\255\277\003" + "\313\115\113\005\230\047\160\055\353\367\176\234\355\241\200\337" + "\260\333\272\163\020\006\006\273\331\036\055\046\004\165\174\345" + "\126\064\121\006\102\207\220\301\276\025\001\120\076\225\250\154" + "\361\145\042\113\371\205\273\344\361\161\011\002\040\206\333\165" + "\346\025\260\056\002\367\012\204\317\216\311\357\322\042\341\067" + "\053\271\353\142\161\347\021\201\304\007\251\162\202\100\154\345" + "\124\125\156\105\113\212\020\110\032\116\203\357\011\300\273\123" + "\330\257\057\224\014\052\276\154\243\255\002\040\307\265\340\001" + "\044\076\211\267\106\002\240\262\323\211\301\347\374\073\226\306" + "\277\260\074\166\370\030\054\055\326\075\163\270\171\256\177\356" + "\277\177\343\103\340\277\156\334\017\127\343\212\377\121\071\227" + "\271\020\177\303\114\316\306\155\374\132\315\346\155\375\260\171" + "\353\106\246\312\204\365\043\032\114\014\232\117\027\256\275\007" + "\240\116\237\245\013\200\210\276\336\073\251\013\020\076\216\220" + "\310\144\020\000\061\016\275\202\372\262\105\352\125\333\175\267" + "\141\104\134\102\351\062\012\100\214\157\031\367\311\364\026\020" + "\172\073\116\064\066\135\000\100\042\233\020\217\217\335\026\313" + "\006\065\013\272\333\267\215\043\266\033\022\113\172\114\112\041" + "\112\320\020\371\042\004\227\204\050\223\000\044\220\064\207\110" + "\052\221\121\000\374\143\100\067\037\111\257\023\223\277\306\155" + "\354\320\061\230\034\233\143\136\273\067\176\107\311\123\224\330" + "\177\162\353\237\054\334\245\314\107\025\350\343\342\353\300\030" + "\324\173\337\305\214\076\300\176\247\371\051\006\207\372\140\363" + "\366\176\350\357\357\006\326\246\261\235\065\260\157\221\277\262" + "\245\264\120\211\143\000\047\212\000\010\145\230\366\136\000\042" + "\254\043\320\033\250\056\261\356\201\160\053\221\252\004\100\200" + "\057\030\142\104\360\251\162\005\360\003\127\330\230\342\170\271" + "\116\274\027\326\002\257\100\270\164\251\102\200\277\115\015\217" + "\202\055\360\275\253\374\151\146\134\372\371\046\077\177\056\167" + "\262\224\044\151\022\027\370\001\121\034\311\147\255\075\336\312" + "\213\045\035\361\323\005\371\013\225\102\361\160\320\011\053\000" + "\151\375\377\014\217\013\213\320\065\203\352\244\300\362\325\371" + "\067\027\217\036\230\142\002\320\374\012\023\253\263\367\260\075" + "\176\366\154\147\376\153\327\137\037\177\157\054\013\151\311\025" + "\127\260\303\173\176\337\253\330\271\275\007\064\372\152\254\113" + "\030\321\325\125\142\102\260\001\206\267\016\340\013\024\210\155" + "\327\271\040\144\105\066\257\041\237\010\050\237\212\123\164\013" + "\250\164\356\362\027\201\304\052\055\273\351\252\201\077\067\234" + "\172\344\044\141\321\010\165\047\344\261\006\302\307\007\152\313" + "\015\356\031\110\157\356\045\102\302\150\132\036\116\135\172\013" + "\327\030\333\121\174\262\025\247\276\353\331\256\261\002\156\223" + "\312\104\200\066\274\037\366\207\345\132\032\020\124\016\127\011" + "\000\161\133\173\044\175\241\244\007\057\354\014\173\027\222\113" + "\056\347\037\264\174\044\114\266\004\257\101\023\362\220\373\364" + "\362\353\275\242\373\213\012\137\354\213\077\022\133\357\144\001" + "\310\062\250\207\073\060\131\277\136\143\277\332\102\235\036\075" + "\162\014\306\361\053\114\126\160\327\151\216\035\355\227\234\052" + "\275\361\266\077\233\307\317\214\121\210\271\076\076\262\124\016" + "\042\056\057\373\235\362\326\102\177\341\152\126\006\127\261\254" + "\207\061\114\323\064\030\332\322\117\066\157\033\204\336\376\022" + "\130\116\015\120\014\062\114\153\116\335\177\336\156\100\146\001" + "\220\133\371\244\061\000\177\335\017\211\163\373\275\365\310\061" + "\207\154\104\317\040\174\134\230\127\275\146\241\020\360\047\023" + "\135\376\143\031\372\146\121\057\253\051\072\000\046\041\132\301" + "\155\345\003\273\324\002\116\104\070\065\276\167\265\106\201\371" + "\173\241\013\113\145\123\271\062\363\143\053\352\024\047\120\341" + "\163\367\221\170\221\144\162\237\074\106\000\270\004\110\244\367" + "\067\344\064\211\343\003\251\143\000\355\021\200\014\135\200\330" + "\170\234\275\247\153\105\300\107\167\216\115\314\302\221\203\307" + "\140\156\172\041\260\147\053\017\123\013\156\030\075\134\370\352" + "\017\077\063\045\276\261\265\375\002\340\257\357\271\024\214\237" + "\173\161\317\033\064\003\256\141\233\057\007\357\245\315\335\075" + "\356\240\341\246\315\003\254\371\241\254\173\120\365\356\040\050" + "\220\301\003\110\022\200\254\356\276\052\074\227\000\210\347\236" + "\102\176\157\043\203\115\362\361\340\353\316\153\114\010\160\254" + "\000\205\124\371\262\017\012\274\021\055\262\216\240\251\236\257" + "\264\062\220\320\042\000\166\017\252\114\010\352\061\137\176\361" + "\111\244\171\255\175\221\375\102\317\362\047\221\056\052\036\312" + "\270\010\011\125\335\006\051\234\157\346\026\000\005\201\342\334" + "\374\225\011\100\044\137\203\221\036\107\362\353\313\066\214\262" + "\276\375\350\341\143\374\225\355\236\355\062\053\375\177\255\333" + "\344\306\257\174\174\366\047\136\222\150\015\131\055\001\020\227" + "\157\375\203\236\335\106\031\336\155\150\344\162\266\331\207\141" + "\246\256\303\360\366\001\330\262\175\020\272\075\161\055\261\000" + "\000\040\000\111\104\101\124\172\212\114\010\152\334\063\010\141" + "\205\002\240\112\037\333\255\210\274\307\077\101\000\144\161\020" + "\154\375\165\022\173\233\060\306\365\367\326\111\304\136\171\274" + "\102\072\167\320\260\312\304\000\137\175\356\003\133\371\002\276" + "\310\046\226\370\351\365\055\027\024\073\101\041\250\141\367\200" + "\351\225\337\165\101\063\263\150\260\326\336\340\267\360\074\044" + "\222\056\226\274\000\261\342\020\311\303\023\030\042\273\235\171" + "\005\100\056\270\230\276\271\222\354\155\020\000\174\251\247\256" + "\225\130\067\256\300\077\306\162\364\300\004\114\115\316\065\217" + "\212\302\063\066\043\375\314\001\347\326\357\334\060\357\177\013" + "\240\031\033\306\332\010\200\267\044\347\277\026\312\073\137\326" + "\373\026\346\261\134\303\012\350\074\337\030\077\120\061\262\143" + "\023\377\152\015\020\233\011\101\225\077\227\254\162\315\145\344" + "\025\000\036\254\364\014\344\201\074\131\000\142\111\031\254\213" + "\137\034\012\177\075\336\113\046\270\343\064\046\017\225\050\250" + "\354\170\036\322\365\301\227\226\070\313\226\106\153\266\246\111" + "\161\352\313\234\160\355\345\075\313\246\251\127\046\014\013\037" + "\056\051\033\216\121\062\034\371\175\371\220\044\000\131\311\057" + "\333\206\362\240\102\036\361\342\302\067\023\266\325\244\216\022" + "\067\266\245\137\201\000\340\200\236\241\027\251\305\324\164\354" + "\320\024\034\076\060\011\265\345\272\037\335\160\034\362\055\253" + "\146\357\375\312\237\057\334\003\121\322\237\030\002\040\206\275" + "\361\043\175\347\226\173\350\065\206\016\157\141\107\320\205\141" + "\146\301\204\255\073\066\302\310\366\115\140\226\165\302\273\007" + "\330\243\114\070\306\226\004\100\161\167\041\072\222\017\001\131" + "\371\225\123\267\334\041\162\223\140\275\051\134\044\144\343\256" + "\207\204\100\056\343\170\241\361\223\104\266\221\354\330\322\373" + "\255\075\277\225\130\265\000\275\002\307\112\274\276\071\220\055" + "\037\131\262\161\302\030\076\062\155\226\334\131\345\236\127\340" + "\204\076\130\054\144\336\162\353\057\330\312\171\120\376\130\210" + "\273\256\045\344\317\067\143\074\212\110\134\140\242\020\000\225" + "\127\220\100\176\067\132\045\044\004\014\122\342\223\166\146\246" + "\227\340\310\201\011\072\161\164\006\202\017\334\120\070\332\150" + "\320\233\047\016\066\276\370\303\275\325\011\120\223\375\304\024" + "\000\077\354\305\157\254\364\155\075\217\274\315\054\152\357\142" + "\347\273\307\317\000\157\045\156\335\061\104\066\016\341\255\104" + "\233\217\025\070\212\327\217\047\012\100\314\361\253\004\100\046" + "\133\354\373\373\063\266\334\021\162\047\214\001\020\141\135\155" + "\317\021\331\106\302\143\337\136\123\226\201\033\124\147\136\301" + "\362\102\135\172\052\161\245\110\027\203\102\311\204\162\305\340" + "\257\327\122\202\145\301\332\057\234\110\156\333\302\055\012\305" + "\000\232\040\016\152\302\313\161\255\346\021\211\227\342\322\304" + "\043\010\216\277\145\027\133\160\242\000\360\326\236\365\357\035" + "\233\300\030\116\321\335\077\311\157\341\171\002\210\037\151\372" + "\176\143\231\336\364\243\317\314\337\071\065\005\376\253\271\305" + "\037\110\313\165\023\000\177\075\126\000\100\170\144\343\015\037" + "\252\134\330\065\140\274\323\320\350\353\331\246\211\004\052\226" + "\013\160\332\316\041\346\025\014\202\136\044\274\173\140\073\201" + "\353\223\054\000\271\272\000\052\001\040\376\006\211\244\313\042" + "\004\136\070\211\244\245\312\264\242\030\370\333\020\006\361\132" + "\173\335\300\356\040\250\240\016\305\071\005\265\245\006\177\104" + "\071\003\177\163\302\075\123\374\070\006\022\277\324\145\204\077" + "\213\225\262\077\074\042\024\002\364\012\044\227\072\114\316\204" + "\027\162\046\010\100\074\301\171\200\072\017\071\016\221\131\000" + "\132\350\002\260\236\075\105\322\343\157\141\266\006\207\016\214" + "\363\231\172\301\147\330\050\034\143\356\377\227\216\035\164\276" + "\160\367\336\205\103\136\062\137\070\343\004\100\045\006\076\342" + "\104\041\204\126\004\040\122\151\205\237\154\047\206\007\102\360" + "\222\267\224\066\155\075\327\174\207\121\040\357\144\261\133\271" + "\061\053\125\374\274\365\151\273\066\103\377\206\012\237\162\334" + "\160\226\231\273\153\247\035\143\044\076\166\040\060\160\321\325" + "\144\015\265\326\061\244\227\005\040\260\367\273\024\362\130\203" + "\044\000\334\106\261\255\163\322\343\133\254\222\074\236\264\242" + "\000\376\372\062\174\042\261\121\265\371\233\214\204\357\045\266" + "\004\116\372\042\076\172\353\316\315\157\036\174\142\062\045\060" + "\011\212\100\035\165\336\155\021\343\311\033\041\247\030\227\040" + "\000\342\266\074\357\177\165\005\100\151\213\263\364\014\255\304" + "\262\322\351\070\163\357\017\075\063\001\263\063\013\315\104\066" + "\334\277\274\140\177\341\276\057\057\176\153\342\131\250\102\060" + "\037\113\111\166\071\134\214\003\210\206\313\141\021\244\327\050" + "\065\361\345\165\231\364\342\272\277\055\372\212\174\102\132\117" + "\017\030\027\275\247\347\225\135\375\344\235\254\234\136\011\356" + "\207\152\371\255\304\155\273\206\141\144\353\106\346\003\073\244" + "\301\274\002\313\156\172\005\042\310\012\005\100\354\012\370\171" + "\105\322\147\360\014\262\170\000\276\235\120\100\232\101\031\361" + "\051\325\345\276\165\073\200\334\307\371\004\374\325\347\015\207" + "\267\066\016\377\210\252\332\036\347\342\273\052\344\076\204\343" + "\176\104\064\345\300\132\020\002\004\166\013\352\032\276\116\201" + "\360\261\202\074\055\167\170\273\111\132\042\037\115\016\001\210" + "\220\137\212\017\005\053\302\151\150\337\114\064\365\022\047\076" + "\316\305\077\302\134\374\043\007\306\151\303\012\132\373\171\253" + "\112\157\237\072\152\175\341\373\067\054\077\031\316\046\044\000" + "\000\311\136\200\030\016\020\015\227\303\042\310\122\355\126\115" + "\000\304\337\313\056\253\154\035\176\236\176\245\121\206\267\263" + "\002\336\210\106\370\011\344\055\333\067\302\266\235\103\244\267" + "\277\213\167\017\360\027\272\375\334\102\067\040\210\023\211\052" + "\074\120\203\143\010\142\342\054\135\203\254\002\200\351\171\153" + "\117\171\153\277\302\367\250\144\271\174\121\240\000\240\247\340" + "\173\007\374\363\326\170\306\261\331\245\260\274\105\021\100\340" + "\354\206\006\041\126\235\317\063\362\162\112\044\274\233\314\015" + "\317\171\017\077\251\073\000\331\074\200\044\367\137\143\235\067" + "\123\053\263\125\023\246\306\360\051\274\161\070\206\267\360\274" + "\064\114\174\037\253\055\320\133\036\371\236\365\215\147\037\254" + "\242\033\340\223\127\034\300\311\043\000\161\313\270\260\010\262" + "\324\240\104\001\070\237\225\333\062\333\176\324\335\121\222\000" + "\210\102\040\013\103\140\073\070\010\346\113\336\125\171\155\251" + "\117\277\212\265\106\347\203\133\174\244\257\277\033\266\357\036" + "\342\017\043\201\146\271\263\015\261\147\331\222\000\170\004\215" + "\041\263\030\036\365\006\104\155\020\273\017\261\363\010\370\272" + "\306\342\165\326\275\347\255\175\234\207\022\207\174\326\253\213" + "\025\220\075\015\026\341\343\004\226\105\210\235\100\126\041\074" + "\101\000\122\076\360\041\023\071\253\007\020\025\000\302\373\365" + "\246\136\246\365\145\007\016\263\276\375\301\147\307\241\136\365" + "\046\354\260\036\131\335\242\167\340\175\373\273\156\134\374\051" + "\204\111\117\245\155\037\016\204\211\357\057\117\034\001\270\330" + "\333\376\136\324\106\264\023\137\366\042\022\336\337\216\170\002" + "\342\357\345\127\224\117\037\074\135\277\322\054\153\157\141\206" + "\075\230\310\060\014\346\021\154\202\355\273\206\240\322\123\204" + "\272\135\345\267\023\345\111\151\111\156\274\102\000\102\266\211" + "\243\365\161\002\340\010\203\212\102\270\116\001\111\157\350\024" + "\126\330\332\347\303\112\170\232\245\122\254\046\360\126\142\103" + "\043\015\024\003\126\152\362\355\015\245\000\244\265\376\161\136" + "\104\020\257\370\010\250\252\265\367\303\360\173\173\006\153\355" + "\015\122\346\323\163\017\076\073\106\307\107\217\007\271\072\066" + "\034\130\232\247\137\172\364\356\332\355\007\176\134\307\157\253" + "\313\004\226\005\100\024\001\171\335\137\256\257\000\134\301\176" + "\267\272\031\206\304\100\264\221\302\144\322\213\066\272\302\116" + "\045\004\332\320\236\142\327\213\056\065\057\355\356\043\227\153" + "\006\071\307\317\150\343\246\136\070\355\364\315\144\170\144\043" + "\053\055\157\320\320\173\104\071\372\242\015\121\000\274\365\146" + "\253\055\221\074\263\040\010\171\212\223\204\170\337\236\023\077" + "\167\153\237\001\053\041\367\112\320\366\023\311\000\346\025\130" + "\050\006\066\301\141\203\170\302\347\027\200\360\110\010\321\342" + "\237\110\024\003\115\275\100\013\032\353\216\326\035\070\164\140" + "\222\273\371\313\013\125\327\236\262\340\072\334\075\175\270\161" + "\353\335\173\227\357\203\060\311\323\010\237\044\000\376\261\250" + "\104\101\265\214\013\213\040\313\065\045\327\001\167\361\175\362" + "\007\341\302\122\045\010\062\261\021\242\020\210\002\240\112\027" + "\021\002\374\275\354\227\053\317\037\334\256\135\136\052\223\327" + "\261\320\022\046\054\226\114\262\155\347\020\234\266\153\013\024" + "\273\164\326\075\130\206\006\237\127\020\042\045\137\367\007\341" + "\374\247\377\370\272\374\102\215\304\056\100\344\134\175\103\242" + "\073\200\055\075\373\121\035\126\011\353\105\176\037\131\052\314" + "\152\300\041\340\064\010\151\130\032\336\110\360\204\040\256\233" + "\040\223\137\056\066\325\003\076\011\002\240\173\255\075\272\371" + "\063\123\363\214\364\143\174\136\276\343\335\302\143\227\176\154" + "\151\326\376\327\247\357\253\175\365\311\037\065\160\302\216\117" + "\124\337\225\227\211\057\013\002\110\341\240\130\367\363\113\042" + "\071\275\302\273\104\254\225\244\327\207\363\127\042\361\172\262" + "\224\344\143\354\347\145\044\333\312\304\025\303\305\237\150\253" + "\022\000\125\232\270\237\346\347\261\375\354\102\357\071\257\056" + "\276\251\062\100\336\256\353\260\213\147\302\142\066\155\031\200" + "\235\273\107\140\343\160\077\330\264\312\232\216\145\157\332\161" + "\370\130\250\360\356\060\052\036\177\122\353\037\215\307\007\331" + "\064\303\141\165\343\024\153\355\363\240\355\047\235\000\034\064" + "\264\011\141\136\001\324\361\111\352\040\042\141\200\257\125\367" + "\037\047\354\024\364\012\120\113\207\043\007\047\140\377\276\121" + "\272\060\343\075\154\307\004\251\126\245\367\315\214\331\137\276" + "\367\346\245\273\153\265\200\354\131\310\057\012\200\330\305\131" + "\261\000\044\304\051\021\173\355\050\057\203\020\361\145\133\231" + "\274\142\270\370\223\155\021\211\175\377\224\137\040\002\174\131" + "\004\355\025\157\053\137\260\361\064\363\227\212\135\360\052\166" + "\304\174\116\152\271\122\144\102\260\205\171\006\133\300\300\133" + "\211\166\025\032\114\020\370\051\011\255\077\042\044\000\156\100" + "\150\073\164\377\336\133\327\260\137\157\263\372\221\243\265\077" + "\031\310\274\232\220\053\320\112\341\340\240\241\106\352\066\353" + "\042\100\222\007\220\103\000\360\335\371\005\255\114\115\346\346" + "\317\315\056\263\326\176\024\016\357\237\000\313\306\161\111\326" + "\156\070\060\273\064\357\174\143\337\203\326\227\237\270\253\172" + "\004\302\104\316\112\176\052\305\213\042\040\247\003\141\051\012" + "\100\032\331\251\030\100\142\252\137\226\153\042\223\127\025\056" + "\306\211\044\127\155\373\353\104\132\027\363\211\043\274\034\026" + "\332\336\361\042\143\343\071\057\057\275\271\153\100\177\053\353" + "\204\157\346\231\153\032\154\336\266\221\354\072\175\004\372\066" + "\166\023\313\131\002\346\025\260\206\273\331\170\004\002\020\056" + "\242\340\234\002\001\160\260\157\117\013\272\103\315\166\266\366" + "\247\222\060\264\255\120\162\200\225\037\265\015\122\267\010\251" + "\143\127\041\121\000\224\003\173\370\136\235\002\272\370\254\167" + "\140\342\364\134\272\377\351\043\060\175\254\071\141\247\121\247" + "\017\317\216\072\377\172\337\127\026\277\267\070\203\263\234\103" + "\044\317\113\176\131\004\262\010\200\152\333\107\254\000\110\141" + "\021\144\271\136\052\162\213\353\161\113\131\000\124\204\127\155" + "\223\204\137\270\365\367\322\026\335\045\353\176\203\326\135\050" + "\150\172\027\065\317\175\203\171\141\337\151\372\133\215\062\271" + "\000\210\233\246\247\273\213\354\074\163\013\214\154\035\046\232" + "\151\063\041\130\142\335\204\132\263\204\304\276\277\167\074\174" + "\247\066\065\131\377\036\211\037\174\107\141\245\070\225\110\237" + "\005\131\052\132\073\140\153\254\261\146\136\201\045\170\005\161" + "\267\021\261\332\260\326\036\012\106\027\135\132\154\260\326\376" + "\050\034\140\375\373\106\335\175\302\212\072\260\124\235\265\277" + "\175\340\147\215\177\373\331\167\353\117\103\224\360\161\344\027" + "\327\323\104\300\377\251\104\300\137\007\311\026\204\245\270\236" + "\026\026\101\226\353\262\032\002\340\157\347\041\277\112\010\110" + "\261\010\172\201\221\277\100\101\063\013\005\035\373\342\145\266" + "\256\031\140\224\014\103\357\077\033\106\006\136\150\134\152\154" + "\040\257\145\141\275\270\023\234\140\264\175\347\060\071\155\367" + "\026\300\011\106\050\004\015\346\031\360\133\211\301\035\002\326" + "\332\333\274\265\057\220\234\267\360\236\153\344\136\051\262\124" + "\302\274\140\235\074\207\013\201\116\352\124\362\012\064\142\362" + "\221\174\035\112\060\076\172\014\016\074\163\224\116\114\314\004" + "\151\255\052\335\307\372\366\137\173\344\337\353\167\316\214\132" + "\363\300\173\033\041\302\363\147\033\040\034\326\012\361\145\162" + "\213\042\340\273\250\062\221\305\064\342\062\156\175\135\004\100" + "\046\265\052\176\045\344\107\150\045\044\076\027\200\242\146\232" + "\124\057\121\060\313\154\211\203\266\070\021\323\320\250\311\112" + "\113\053\350\240\073\206\136\034\270\210\134\130\332\256\275\126" + "\357\202\263\375\142\351\337\320\115\166\235\061\002\133\266\016" + "\263\334\032\140\325\027\114\260\353\105\235\265\372\320\106\164" + "\104\301\105\226\012\327\156\340\030\201\255\153\065\315\054\065" + "\260\157\137\137\246\160\150\377\030\075\300\334\374\345\252\073" + "\305\234\135\237\172\165\306\371\301\350\243\326\327\037\273\253" + "\372\030\270\244\307\211\111\234\314\004\105\244\036\074\231\307" + "\005\241\326\044\173\053\344\367\011\057\022\125\024\001\025\321" + "\251\264\055\056\343\326\327\115\000\124\161\252\326\137\114\223" + "\046\006\274\345\057\171\371\260\326\037\077\312\245\127\012\124" + "\307\333\157\045\203\352\232\141\032\105\312\226\214\364\254\243" + "\257\243\000\350\072\150\116\003\264\006\317\203\222\312\331\306" + "\366\376\363\364\327\025\007\350\105\104\043\135\054\063\255\314" + "\004\342\364\035\303\305\323\166\156\321\272\272\012\120\247\113" + "\240\232\140\044\243\103\354\366\042\113\205\314\003\167\302\116" + "\227\073\141\147\152\326\171\146\377\150\355\320\350\261\232\343" + "\135\130\306\360\261\271\121\373\133\117\335\155\175\173\372\140" + "\155\026\200\277\114\235\267\356\276\000\040\331\033\304\043\253" + "\047\002\236\000\210\217\352\212\344\007\151\073\115\004\174\210" + "\333\262\035\050\326\305\145\334\172\133\005\100\334\226\227\376" + "\172\232\020\044\375\142\155\272\074\301\240\145\300\226\236\240" + "\333\157\026\212\272\111\101\307\126\237\062\067\275\140\030\146" + "\221\155\073\224\152\272\201\037\157\161\327\361\215\204\354\202" + "\353\015\013\010\256\067\230\055\005\113\173\327\351\306\313\372" + "\317\064\257\036\337\102\316\070\126\151\236\007\276\253\140\307" + "\351\133\140\150\313\006\166\205\361\125\146\113\312\367\032\166" + "\310\277\272\310\122\071\325\040\374\045\232\005\126\153\154\306" + "\334\303\007\307\131\337\176\024\226\160\302\016\306\262\013\327" + "\067\103\107\347\017\330\137\271\343\316\332\355\266\115\154\274" + "\243\340\360\207\025\371\143\372\354\077\161\054\013\347\037\271" + "\042\340\011\000\172\001\176\167\140\245\036\200\110\164\121\004" + "\144\021\361\155\344\245\050\006\076\116\010\001\360\227\131\004" + "\000\021\347\011\360\137\305\047\176\027\153\371\031\161\221\340" + "\024\112\330\367\047\145\207\232\206\333\372\153\072\222\335\060" + "\065\215\265\372\354\214\011\022\037\227\165\312\337\244\103\352" + "\215\206\206\304\177\136\105\357\273\162\233\371\306\323\312\332" + "\133\213\032\035\361\207\370\047\172\001\036\337\102\340\231\115" + "\004\007\222\070\212\245\002\023\202\315\260\175\347\026\060\113" + "\032\023\216\045\376\060\122\134\231\166\004\041\077\262\124\300" + "\254\360\247\347\232\214\370\307\217\315\303\341\147\307\340\350" + "\241\111\160\274\217\144\124\230\267\177\346\050\205\263\106\001" + "\272\330\072\076\202\276\350\320\147\237\234\267\277\166\363\141" + "\353\333\007\153\316\054\266\376\065\313\155\331\153\026\251\023" + "\150\040\371\203\256\000\172\000\304\043\155\202\007\220\345\047" + "\273\377\052\021\210\043\276\274\356\343\204\025\000\204\174\053" + "\317\017\213\045\077\170\002\100\321\256\013\110\077\222\237\226" + "\264\112\221\032\046\022\233\265\374\006\222\337\054\060\001\240" + "\132\015\007\353\032\370\046\232\072\316\365\042\134\316\131\332" + "\172\035\264\137\333\145\376\374\371\175\306\333\066\024\340\142" + "\226\161\041\356\231\330\072\353\371\077\071\004\360\030\023\203" + "\331\262\167\140\054\301\320\226\215\070\257\000\066\156\352\147" + "\127\275\012\165\346\025\070\161\157\073\356\240\255\110\253\244" + "\072\301\207\161\230\217\150\233\160\304\153\355\347\374\147\356" + "\331\145\336\072\003\160\326\030\300\216\143\240\176\063\037\336" + "\046\240\260\074\136\167\276\365\375\051\373\366\057\217\327\237" + "\250\063\362\243\047\140\065\320\211\150\130\015\217\374\230\043" + "\211\367\000\104\142\247\375\124\044\227\133\174\225\007\020\047" + "\000\161\142\260\352\002\240\132\027\111\056\057\065\151\075\056" + "\015\377\165\173\002\120\146\036\100\201\226\365\142\221\152\025" + "\112\215\102\201\135\066\207\032\050\000\254\224\360\203\032\032" + "\016\347\240\260\063\302\343\307\315\311\331\135\264\347\332\035" + "\305\267\236\126\326\337\121\324\140\127\354\203\360\061\070\332" + "\017\360\050\023\202\003\033\041\170\043\177\127\245\004\073\367" + "\214\300\326\035\233\001\125\010\275\202\006\177\333\161\276\274" + "\073\120\043\113\205\104\340\235\135\223\367\355\273\140\161\156" + "\031\016\354\077\012\207\366\117\060\266\272\242\134\142\213\063" + "\306\220\370\004\172\371\007\163\322\047\156\360\170\046\006\013" + "\026\074\374\314\202\375\345\377\173\137\365\233\343\125\153\061" + "\360\000\232\356\077\255\205\357\002\370\344\315\112\176\220\322" + "\370\150\305\013\360\161\322\010\200\037\227\215\374\025\106\176" + "\352\272\377\016\224\065\024\000\174\244\266\122\300\376\075\116" + "\310\343\337\134\162\005\200\021\237\135\030\362\276\155\372\271" + "\027\014\030\127\366\027\310\033\330\116\112\171\211\057\143\251" + "\300\272\007\233\361\307\052\207\373\265\145\234\073\016\133\267" + "\157\142\135\204\021\030\030\354\345\267\021\033\164\121\371\136" + "\303\016\132\203\252\162\152\070\075\227\371\205\214\376\160\364" + "\360\024\336\302\203\343\123\263\101\374\320\034\300\331\214\364" + "\273\046\231\147\040\322\051\100\263\056\250\362\047\302\012\253" + "\123\063\343\065\372\325\257\217\325\277\270\367\100\355\131\274" + "\365\347\135\176\321\375\157\325\003\000\301\126\045\002\052\301" + "\220\227\047\255\000\210\367\325\225\335\200\036\317\206\166\013" + "\002\100\313\132\251\014\304\164\250\156\063\227\337\025\000\356" + "\041\220\063\173\234\312\265\133\213\157\336\136\326\337\131\320" + "\200\177\320\164\245\304\227\201\362\177\140\200\260\356\001\300" + "\221\001\367\155\205\270\207\336\276\156\330\265\173\004\106\116" + "\033\006\242\133\302\130\101\007\053\101\263\122\151\374\105\033" + "\046\043\376\362\122\235\117\317\075\360\354\050\064\274\217\144" + "\340\275\336\323\047\010\234\075\112\140\103\060\125\137\205\150" + "\175\120\127\142\332\334\166\047\304\073\013\066\275\347\311\371" + "\306\027\376\360\261\345\357\054\324\201\217\053\103\170\014\100" + "\374\251\274\001\000\265\155\073\004\040\216\374\252\270\020\332" + "\045\000\162\270\050\000\162\034\042\266\033\320\353\023\037\170" + "\167\115\203\156\040\276\000\140\277\036\373\364\224\226\230\155" + "\225\257\377\137\273\272\316\176\311\140\341\135\075\072\275\214" + "\045\354\156\067\351\105\240\023\111\275\345\154\011\340\211\055" + "\024\236\034\146\235\107\157\306\200\241\351\260\375\364\315\260" + "\163\327\010\164\363\067\030\055\101\335\131\204\264\133\211\035" + "\250\201\237\273\106\322\343\204\235\311\261\343\260\357\231\303" + "\154\071\035\304\043\331\317\142\244\077\203\221\337\214\161\274" + "\242\025\074\213\010\304\164\027\230\030\130\024\306\046\227\355" + "\133\277\170\244\172\363\315\107\054\326\311\010\272\002\156\302" + "\154\036\200\150\053\257\003\304\213\200\037\046\306\211\141\262" + "\215\052\056\204\325\024\000\225\255\054\016\221\156\100\237\113" + "\174\102\173\030\321\347\131\230\047\000\336\140\075\272\372\372" + "\131\335\305\342\207\167\031\157\331\122\062\256\056\352\374\255" + "\101\260\232\304\107\370\304\107\370\323\312\160\333\142\147\160" + "\140\043\205\307\066\123\230\350\243\201\355\306\215\175\260\143" + "\317\126\030\331\266\211\171\016\165\336\075\340\157\060\352\040" + "\005\214\314\204\265\366\132\005\032\125\312\373\366\007\237\076" + "\012\313\313\256\107\205\003\076\247\117\021\170\036\163\363\207" + "\347\344\224\361\010\307\305\213\100\242\000\370\160\347\026\133" + "\013\026\375\316\123\363\366\336\217\374\144\361\007\325\160\227" + "\040\115\000\322\104\100\046\271\114\364\270\245\274\256\332\016" + "\141\255\005\000\221\064\010\210\337\025\343\056\075\376\240\207" + "\055\075\021\240\013\240\175\364\371\075\273\317\357\207\153\173" + "\115\375\112\215\300\300\152\223\336\207\273\027\237\364\156\365" + "\020\227\376\331\314\164\271\102\360\314\046\007\352\336\123\003" + "\246\151\362\307\223\167\236\076\002\345\112\201\013\101\060\355" + "\270\203\000\032\061\371\175\173\034\324\073\066\071\013\373\236" + "\072\004\143\107\246\300\377\342\107\317\262\113\172\154\355\313" + "\011\037\240\316\046\002\321\172\223\113\000\104\340\175\103\012" + "\317\116\325\234\033\077\167\244\172\313\155\007\353\307\041\136" + "\010\100\261\055\372\056\047\225\000\304\305\251\004\100\134\367" + "\343\125\267\005\211\057\000\270\301\226\332\110\027\024\376\347" + "\271\075\257\337\134\326\336\123\324\310\057\160\333\065\042\076" + "\042\236\374\315\152\042\037\115\103\007\330\067\350\360\056\302" + "\261\112\063\166\150\363\106\330\311\274\202\341\055\033\371\255" + "\104\327\053\310\376\071\365\123\017\330\332\227\170\153\217\067" + "\333\017\355\037\143\304\077\014\213\013\113\156\054\053\272\323" + "\216\263\276\375\230\006\043\263\342\247\065\374\253\022\217\264" + "\212\055\077\024\330\262\000\370\160\275\202\332\202\115\157\177" + "\142\266\361\331\017\374\144\351\001\310\076\026\020\347\376\213" + "\333\142\072\161\133\134\312\353\252\355\020\262\234\347\112\004" + "\100\264\021\227\362\040\240\037\036\010\300\107\316\051\154\176" + "\345\206\362\173\172\114\162\055\153\355\267\254\045\351\175\304" + "\223\277\131\175\342\217\312\265\231\354\241\360\370\146\007\236" + "\145\202\340\117\060\052\227\335\133\211\073\166\155\205\102\131" + "\147\036\301\002\237\172\234\162\255\116\031\020\374\364\045\043" + "\075\022\177\346\330\074\074\373\364\021\070\174\140\054\230\260" + "\323\125\143\175\373\011\015\316\142\304\257\010\275\246\160\145" + "\153\226\125\134\045\116\257\334\322\333\135\140\005\002\040\202" + "\340\364\041\170\144\252\146\177\366\037\366\065\156\273\175\274" + "\312\037\050\202\250\010\070\302\266\252\365\367\227\162\072\037" + "\353\056\000\362\166\222\000\250\342\145\362\353\377\364\222\236" + "\127\155\351\322\177\255\240\221\067\260\060\143\255\211\037\056" + "\111\277\072\210\344\017\207\307\101\216\253\231\000\117\261\256" + "\301\023\114\014\346\274\011\106\230\315\310\326\115\260\353\214" + "\155\060\070\324\317\074\002\174\225\331\042\253\011\247\246\127" + "\140\100\221\221\276\233\125\165\234\260\343\266\366\263\323\363" + "\101\374\310\014\272\371\032\354\070\256\201\026\123\270\212\307" + "\371\205\270\174\341\115\211\007\151\031\016\157\011\044\220\222" + "\371\045\033\276\364\310\114\343\063\037\174\150\376\121\010\223" + "\036\227\111\135\000\125\330\111\041\000\252\160\061\136\024\000" + "\362\273\147\227\066\274\171\123\361\232\212\241\275\227\265\366" + "\273\327\212\364\252\275\210\332\257\042\274\330\372\213\166\131" + "\340\347\163\264\317\341\136\301\301\015\315\017\237\165\125\312" + "\260\347\314\155\260\375\364\021\300\007\034\032\316\074\276\301" + "\010\262\347\176\142\002\047\354\024\110\067\237\264\063\077\127" + "\205\375\317\034\206\003\317\214\202\145\271\023\166\212\114\353" + "\316\234\324\070\361\173\253\341\252\225\225\270\062\222\052\265" + "\072\256\171\325\145\021\020\303\132\006\161\253\274\015\344\077" + "\246\252\326\147\377\372\251\331\257\174\147\002\374\213\233\145" + "\014\100\016\363\161\322\012\000\047\376\155\057\355\177\361\110" + "\027\171\237\251\221\267\263\002\347\057\370\134\115\362\107\113" + "\046\174\052\321\222\046\221\355\244\222\216\103\134\165\135\052" + "\120\170\142\230\171\005\103\016\054\005\023\214\010\154\337\261" + "\031\116\337\263\015\372\067\366\170\063\015\321\053\070\271\246" + "\035\363\067\354\260\326\136\243\005\030\075\162\014\366\075\171" + "\020\216\115\066\157\341\155\232\147\175\373\161\015\116\237\322" + "\202\011\073\371\210\233\116\320\354\371\205\257\320\252\210\000" + "\302\363\012\034\112\216\061\366\337\370\340\164\355\237\077\364" + "\340\342\076\210\172\005\362\172\036\322\257\271\000\370\141\151" + "\304\347\313\337\075\263\247\373\315\333\012\357\354\041\364\175" + "\032\041\347\361\343\133\105\322\043\302\245\103\204\365\370\370" + "\064\061\110\102\222\115\064\216\160\057\340\340\000\363\012\206" + "\155\070\332\037\174\351\032\172\373\053\260\347\254\323\140\333" + "\216\055\200\017\063\343\130\201\005\047\356\004\043\076\075\227" + "\164\161\342\327\026\055\330\367\314\041\336\277\257\173\023\166" + "\014\326\326\355\236\102\342\353\060\270\230\134\365\324\261\311" + "\175\363\374\102\240\226\346\070\041\310\102\226\314\160\275\002" + "\307\242\364\273\063\026\375\314\157\077\062\375\157\117\114\105" + "\346\024\370\313\074\244\137\067\001\360\227\112\001\370\322\113" + "\007\316\332\132\321\336\137\320\340\132\126\240\175\074\164\035" + "\210\257\226\122\065\351\305\070\071\074\016\151\066\341\370\150" + "\121\316\225\320\053\260\341\251\115\024\252\246\153\255\033\272" + "\173\053\161\367\066\350\355\053\363\311\105\170\007\201\102\314" + "\354\227\065\206\333\332\343\204\235\062\114\214\035\203\147\236" + "\074\004\343\107\217\005\361\003\113\070\075\127\207\075\254\265" + "\027\047\354\244\125\276\126\104\000\221\124\101\343\220\174\127" + "\040\034\237\226\127\056\170\335\003\207\302\221\232\115\377\371" + "\241\005\373\237\077\160\377\354\050\104\047\003\201\142\351\143" + "\115\005\100\025\246\024\200\363\267\200\371\311\263\067\274\251" + "\127\207\367\023\040\257\005\376\122\347\064\212\344\107\134\216" + "\361\255\271\217\350\150\076\365\302\203\365\204\303\315\172\046" + "\361\166\121\121\362\201\167\014\366\157\160\340\061\046\006\023" + "\275\115\013\174\032\161\367\231\247\301\326\155\103\340\150\065" + "\327\053\300\107\123\326\034\204\117\317\055\150\075\120\147\116" + "\311\201\175\207\371\275\373\245\305\346\204\235\135\307\335\326" + "\176\170\216\170\051\222\241\214\047\252\270\064\031\215\337\127" + "\362\061\210\127\077\131\004\304\360\266\301\025\203\206\355\320" + "\177\233\163\350\077\276\373\316\351\073\017\067\157\045\042\116" + "\016\001\370\247\027\165\155\072\167\143\371\127\115\102\336\307" + "\002\166\360\143\150\043\361\125\071\105\210\253\260\245\320\024" + "\205\064\073\167\045\236\240\111\110\263\117\213\227\161\034\047" + "\030\061\041\300\011\106\015\357\045\344\205\202\011\273\316\330" + "\012\247\357\336\016\245\156\003\352\366\334\232\014\032\272\117" + "\341\125\240\310\210\077\065\061\013\317\060\322\037\075\070\216" + "\037\141\341\361\075\065\167\044\377\254\111\015\112\215\370\352" + "\225\124\361\042\161\301\167\100\342\321\152\234\033\037\055\063" + "\061\215\054\004\341\132\024\265\133\061\074\257\000\064\355\311" + "\232\145\377\323\375\163\325\033\076\170\337\242\357\122\311\063" + "\310\322\010\277\052\002\040\207\363\043\276\353\325\033\136\122" + "\321\264\017\030\032\274\203\355\267\330\116\322\373\210\022\065" + "\176\140\256\051\227\044\010\310\046\225\152\221\310\202\064\373" + "\264\170\025\374\064\015\235\300\063\203\066\037\053\100\121\100" + "\140\135\071\355\364\021\070\353\354\135\320\303\272\007\065\326" + "\075\260\370\123\211\355\035\064\304\217\144\140\337\036\247\351" + "\216\036\235\202\047\176\266\217\317\330\103\040\077\267\317\270" + "\255\375\326\031\115\101\030\065\362\221\126\165\165\302\310\225" + "\237\024\020\167\173\121\045\004\341\365\250\030\244\235\167\146" + "\170\102\300\376\055\133\100\157\233\163\310\247\056\371\366\344" + "\177\170\261\124\132\372\110\333\016\041\313\261\046\225\067\271" + "\341\205\303\245\163\206\355\137\066\165\375\067\010\245\027\120" + "\312\004\252\315\304\127\237\121\234\373\056\221\074\364\321\336" + "\060\322\216\062\255\112\244\245\367\221\325\016\221\325\166\274" + "\307\201\307\207\154\330\267\321\141\135\001\067\154\323\360\006" + "\076\323\160\353\266\141\300\317\025\271\337\112\254\062\101\300" + "\331\064\131\163\166\201\223\165\360\253\267\072\316\324\143\244" + "\137\132\254\301\241\003\243\314\315\077\022\314\324\353\142\055" + "\374\231\023\032\074\217\021\277\273\236\136\225\262\021\064\172" + "\234\255\020\076\055\236\307\051\337\016\042\304\307\154\107\327" + "\251\260\256\266\133\061\230\030\340\107\113\230\247\365\023\213" + "\322\117\375\347\130\343\226\017\074\074\213\117\103\244\125\353" + "\125\021\000\362\203\137\034\334\334\255\353\277\255\003\175\037" + "\245\164\220\357\247\315\304\107\120\010\153\177\204\354\064\274" + "\055\153\171\334\172\122\130\034\322\207\237\134\044\345\231\147" + "\177\161\020\363\300\201\302\237\156\261\271\030\370\335\003\374" + "\030\012\176\060\165\363\326\101\030\334\064\000\175\175\335\340" + "\020\233\177\070\025\075\003\307\037\154\306\302\343\247\244\271" + "\355\014\321\371\200\036\176\347\336\146\016\304\364\261\131\230" + "\232\234\346\263\364\146\247\233\037\311\300\373\365\057\034\325" + "\341\314\111\075\141\302\116\062\222\311\231\134\112\312\012\251" + "\010\313\036\227\157\177\104\010\010\213\101\124\010\322\312\041" + "\067\174\257\200\220\131\207\302\115\114\001\076\365\312\177\237" + "\370\231\027\253\172\300\244\155\002\300\227\367\277\176\344\347" + "\114\260\076\314\274\321\253\030\361\013\370\365\204\325\206\053" + "\002\244\071\022\022\041\175\223\234\131\344\057\013\011\243\066" + "\352\242\152\055\257\144\344\265\107\040\371\237\142\335\203\047" + "\067\071\060\125\011\137\023\335\324\241\177\240\007\172\172\052" + "\320\323\337\015\245\142\001\014\103\347\167\027\330\065\004\253" + "\141\101\303\262\141\171\251\012\013\163\213\060\073\263\000\013" + "\263\370\312\263\146\076\110\364\355\314\275\107\322\237\066\355" + "\272\371\131\052\217\217\064\333\150\274\050\351\121\344\317\057" + "\071\334\215\113\057\171\042\254\104\204\301\133\152\231\233\212" + "\025\202\171\004\304\125\243\357\327\154\370\364\063\013\205\333" + "\256\274\347\260\077\042\054\267\225\112\144\071\116\162\335\305" + "\240\137\126\032\176\243\011\360\141\266\277\113\126\303\315\317" + "\012\374\102\233\115\343\133\174\104\332\221\255\064\336\007\015" + "\376\370\010\027\147\326\174\174\344\265\217\303\154\211\302\201" + "\001\033\016\365\073\060\321\335\174\006\041\057\312\026\201\315" + "\163\032\354\140\204\107\362\027\255\150\165\311\122\201\174\304" + "\226\016\121\305\207\261\072\042\240\056\361\126\362\325\310\032" + "\022\137\206\327\075\140\177\046\054\012\237\235\136\266\377\341" + "\222\357\115\342\004\043\012\053\020\000\376\131\360\313\057\035" + "\372\145\215\150\177\014\216\163\026\317\153\235\210\057\003\333" + "\046\113\376\344\113\002\322\154\322\342\021\021\033\052\256\346" + "\277\364\131\366\051\043\153\032\377\150\360\055\106\223\114\004" + "\216\227\035\056\014\370\034\302\262\101\271\307\140\171\376\173" + "\301\162\137\250\201\175\372\276\052\100\177\125\203\301\005\215" + "\255\313\337\115\317\206\254\151\042\127\216\050\127\043\110\047" + "\166\266\360\146\174\353\102\260\256\304\227\341\167\017\064\174" + "\131\026\174\323\166\350\137\235\167\307\370\167\275\130\345\111" + "\306\012\353\375\157\034\176\101\231\220\177\144\204\177\011\254" + "\143\213\237\006\074\052\024\002\053\243\020\004\240\241\105\222" + "\111\206\370\344\313\237\226\217\214\274\366\153\215\126\053\273" + "\072\135\172\051\246\206\113\006\151\307\027\167\034\131\323\341" + "\122\317\373\275\270\265\006\166\017\064\076\150\170\127\265\136" + "\377\355\013\276\075\215\343\004\221\252\045\236\163\160\176\017" + "\277\145\333\173\165\333\372\133\106\374\256\023\225\370\052\140" + "\367\240\101\335\067\366\370\310\172\370\131\314\322\154\322\342" + "\125\110\116\023\137\045\345\164\151\225\267\275\010\357\275\325" + "\175\267\322\312\047\305\221\230\210\150\060\215\011\017\103\216" + "\307\061\126\275\235\237\205\136\013\270\135\003\374\334\351\237" + "\334\366\215\261\277\274\276\171\361\370\222\200\100\374\213\057" + "\276\130\373\373\336\247\177\107\267\032\177\316\310\177\122\235" + "\247\010\277\173\200\277\064\122\246\305\043\126\342\045\040\262" + "\330\210\020\157\135\236\250\040\011\267\320\144\244\235\115\152" + "\013\337\246\270\120\270\164\374\111\151\360\345\116\332\311\106" + "\174\021\070\106\240\351\254\027\017\067\177\177\174\364\075\277" + "\361\100\363\145\246\170\116\374\311\274\363\317\077\137\373\207" + "\255\307\056\057\133\313\067\235\024\065\060\043\120\004\370\007" + "\102\024\247\224\126\205\127\073\136\205\254\036\313\211\200\270" + "\026\067\016\255\220\266\265\270\164\262\222\340\217\042\034\232" + "\255\375\011\355\346\347\201\047\002\266\103\077\365\374\257\217" + "\176\020\004\001\320\317\071\347\034\375\043\347\155\031\270\150" + "\366\147\017\021\112\207\123\262\072\051\201\136\101\043\301\053" + "\310\302\273\166\331\370\240\221\225\354\300\044\142\375\365\263" + "\360\303\262\166\021\342\166\235\106\040\016\311\050\123\032\110" + "\267\313\117\370\270\270\346\331\045\246\043\115\033\154\355\117" + "\072\067\077\053\074\021\130\260\341\255\347\177\343\350\327\131" + "\210\303\275\233\155\333\266\231\057\232\373\331\345\032\060\362" + "\237\222\147\336\124\164\374\207\042\120\247\341\261\002\371\264" + "\125\304\120\171\275\131\210\226\112\262\230\062\117\322\005\071" + "\111\332\166\034\262\330\145\261\211\103\326\264\041\273\034\302" + "\022\027\107\102\261\321\222\024\323\351\204\277\172\212\057\117" + "\155\260\162\240\066\224\015\343\017\330\306\035\030\302\005\357" + "\330\261\143\206\261\211\276\034\137\106\161\252\003\317\260\100" + "\334\237\315\374\355\072\277\203\040\127\021\351\366\027\015\055" + "\044\313\060\262\330\370\110\153\370\117\226\253\221\367\070\133" + "\041\264\013\232\150\023\237\066\054\007\376\272\301\376\230\101" + "\153\237\367\054\116\122\120\024\074\362\322\055\133\266\230\243" + "\243\243\015\024\000\143\161\161\321\250\157\326\066\167\051\147" + "\022\236\272\100\305\057\203\373\002\216\206\357\025\250\306\012" + "\062\326\215\064\102\213\310\143\273\022\144\361\120\126\012\161" + "\037\131\362\227\273\053\162\134\062\221\151\254\015\136\247\244" + "\375\143\072\136\341\031\351\215\054\007\172\252\202\200\121\251" + "\124\260\050\170\027\100\077\176\374\270\061\177\172\305\030\040" + "\047\306\013\046\326\032\130\052\075\373\376\000\000\031\017\111" + "\104\101\124\027\212\304\375\131\236\127\320\020\152\165\132\245" + "\362\021\127\241\125\310\122\377\302\355\135\022\155\342\221\317" + "\132\106\266\076\164\022\262\244\313\142\203\210\153\251\203\220" + "\030\145\300\201\074\277\265\327\302\051\236\173\040\004\026\251" + "\016\117\077\375\064\026\205\306\005\140\142\142\202\034\252\357" + "\076\272\275\142\202\146\237\232\157\244\315\012\023\053\012\270" + "\237\355\250\073\376\130\101\074\344\252\024\042\074\115\257\152" + "\331\373\371\151\071\255\057\142\217\116\212\310\162\026\151\066" + "\131\343\261\107\133\360\132\373\264\064\317\025\020\303\200\211" + "\272\216\044\307\141\061\127\000\330\317\070\262\130\173\360\160" + "\251\360\313\073\360\125\056\316\163\323\023\020\201\205\122\326" + "\050\340\033\274\321\033\250\361\073\010\351\256\173\036\057\000" + "\321\152\305\114\073\216\225\242\325\343\362\221\326\052\313\110" + "\063\111\212\377\377\333\273\262\346\070\256\353\174\172\237\015" + "\333\200\000\210\215\033\270\110\326\276\330\212\054\245\264\131" + "\073\011\071\145\311\222\274\125\345\051\225\207\124\252\362\226" + "\362\173\052\171\113\176\100\252\042\311\222\255\130\017\042\100" + "\111\224\024\155\221\312\222\105\107\233\255\042\305\005\040\001" + "\002\044\210\155\006\203\131\172\246\227\334\323\335\027\274\270" + "\350\236\031\202\000\210\345\176\305\313\356\231\351\231\041\273" + "\373\373\316\167\316\075\335\303\276\206\353\152\100\374\315\137" + "\324\273\002\340\014\200\242\302\254\055\303\270\011\307\301\317" + "\206\274\032\000\356\046\371\225\343\263\357\364\336\331\376\317" + "\311\204\326\322\206\127\211\155\161\047\300\302\167\005\130\037" + "\360\205\300\104\041\250\207\201\322\312\023\165\245\077\257\072" + "\226\317\240\072\171\277\200\132\333\127\313\357\361\275\050\330" + "\072\021\154\155\141\273\053\371\366\115\016\154\013\126\024\310" + "\331\022\234\064\125\230\061\255\043\020\360\236\012\200\364\155" + "\046\137\072\076\143\376\253\014\306\277\125\142\012\164\223\063" + "\336\265\211\023\130\203\313\175\067\012\060\242\044\244\313\256" + "\240\344\370\127\046\362\250\125\027\250\206\132\004\277\322\317" + "\133\155\134\311\277\247\336\155\103\267\343\024\202\256\152\322" + "\145\233\057\260\024\030\365\101\226\141\262\054\301\231\262\102" + "\316\131\367\344\177\174\165\341\025\010\032\000\161\267\265\223" + "\021\013\106\374\137\356\352\376\373\035\015\372\337\245\311\373" + "\372\342\016\030\130\165\165\254\072\103\336\326\003\246\005\146" + "\120\053\210\332\103\313\332\163\021\157\132\326\147\135\041\352" + "\342\122\035\033\325\261\311\002\352\331\226\156\103\163\173\135" + "\206\315\323\251\267\322\220\025\057\352\233\044\102\015\021\342" + "\317\130\062\116\173\117\374\346\344\364\317\336\071\227\075\113" + "\266\050\222\341\375\024\113\033\031\106\060\022\144\304\176\175" + "\107\327\117\257\153\061\376\221\150\200\326\035\223\240\113\047" + "\326\012\034\042\004\242\076\020\005\044\246\351\370\142\160\065" + "\167\343\333\150\072\173\045\355\300\127\260\151\350\266\130\305" + "\067\144\077\352\013\204\000\017\006\022\237\104\374\074\071\017" + "\057\230\022\114\130\176\347\153\321\262\277\175\345\324\354\077" + "\275\077\232\035\045\017\361\356\261\013\002\220\006\237\374\072" + "\200\347\156\321\011\030\317\354\115\337\370\150\157\303\257\143" + "\212\274\033\257\167\336\246\373\102\320\250\302\145\041\330\150" + "\147\353\032\301\117\017\374\131\004\212\265\332\123\313\375\236" + "\325\342\124\075\237\053\055\374\265\024\030\341\015\222\333\343" + "\024\355\026\350\123\133\036\202\034\337\041\304\237\252\110\160" + "\221\020\077\033\304\151\313\165\263\147\062\346\177\375\373\127" + "\227\176\073\127\251\340\175\335\360\006\221\170\327\040\024\000" + "\023\167\051\376\110\007\222\037\353\134\050\000\324\015\250\051" + "\125\115\376\303\055\155\177\263\257\111\177\126\227\045\357\032" + "\201\204\002\320\115\216\106\033\331\132\165\003\127\040\352\004" + "\241\300\275\202\256\000\305\040\254\126\260\034\360\037\103\071" + "\261\022\037\277\132\374\252\347\163\171\021\300\234\076\206\126" + "\137\170\374\150\220\374\036\243\175\211\310\344\005\102\351\211" + "\012\340\257\022\173\230\257\330\337\016\317\231\107\137\072\061" + "\371\326\130\336\302\233\207\042\361\213\301\022\007\272\000\117" + "\000\222\340\223\037\207\027\375\341\262\040\340\122\217\251\252" + "\376\267\327\265\334\175\103\113\354\307\115\206\162\247\204\265" + "\005\162\312\165\020\077\326\111\216\122\112\106\015\260\205\053" + "\250\202\162\040\004\345\052\273\147\043\356\271\172\310\315\043" + "\352\075\370\074\132\374\230\014\142\012\057\012\301\215\076\134" + "\031\363\172\311\043\376\114\220\163\222\034\277\070\121\260\376" + "\347\243\361\354\300\221\341\354\111\360\211\156\303\345\250\217" + "\244\257\300\145\021\360\356\345\214\244\247\375\000\224\374\172" + "\360\034\076\246\342\340\365\013\334\333\225\354\171\264\273\341" + "\120\157\112\177\114\225\245\146\374\342\046\042\327\050\004\355" + "\044\115\220\321\025\210\331\203\110\330\101\172\200\143\071\173" + "\210\212\004\317\217\225\020\217\253\345\334\162\337\357\105\173" + "\331\047\377\162\077\143\323\303\053\352\251\204\265\044\332\223" + "\050\202\304\067\203\023\250\140\071\103\247\263\245\301\227\117" + "\314\034\075\237\067\361\236\355\050\011\225\140\340\072\045\274" + "\311\275\346\375\164\013\045\267\002\227\243\276\012\341\002\240" + "\005\317\053\255\206\252\377\174\137\313\375\327\267\030\375\051" + "\115\276\011\377\041\232\214\102\040\103\127\134\201\204\024\244" + "\007\366\325\224\304\066\067\360\000\026\235\313\266\015\261\022" + "\104\136\013\134\015\121\151\341\020\011\037\227\101\114\341\105" + "\041\270\174\027\255\376\054\241\321\070\241\357\124\331\277\026" + "\002\073\326\247\212\225\217\076\275\224\037\170\365\344\364\237" + "\301\217\364\110\066\007\302\005\200\106\176\053\030\336\366\270" + "\353\275\226\300\140\250\314\360\172\053\140\251\000\320\165\272" + "\275\362\170\157\103\337\375\135\251\103\035\011\355\141\142\335" + "\222\370\257\113\353\012\164\047\144\330\106\222\070\211\244\006" + "\302\025\104\303\142\135\301\006\121\200\345\162\326\273\000\113" + "\361\311\057\322\373\010\004\321\276\102\022\355\011\323\206\061" + "\102\374\142\120\324\063\155\167\214\344\366\157\374\367\251\311" + "\067\277\313\224\147\300\047\074\045\277\305\254\123\302\263\217" + "\053\301\143\072\274\062\265\327\020\020\054\025\146\340\143\112" + "\170\052\010\354\143\231\171\336\277\257\100\102\111\075\327\327" + "\372\320\276\146\255\077\241\312\173\311\163\136\021\247\073\101" + "\304\040\256\202\201\327\343\143\235\100\270\202\120\320\251\104" + "\074\330\225\145\012\101\124\221\160\055\120\355\273\150\156\057" + "\212\172\021\240\321\136\325\140\216\304\345\361\222\115\310\357" + "\263\233\034\123\173\246\150\175\372\345\124\161\360\245\343\227" + "\376\144\055\046\072\215\370\224\344\254\030\120\001\140\237\163" + "\340\262\150\170\027\272\322\343\106\105\200\035\254\033\140\123" + "\000\052\000\254\070\260\202\240\074\275\247\361\206\273\332\342" + "\117\265\305\264\373\111\146\200\227\337\103\133\114\201\236\244" + "\352\271\003\211\210\200\160\005\321\100\001\100\041\100\127\260" + "\114\055\130\061\054\127\104\224\040\267\107\233\057\246\360\042" + "\020\064\354\330\030\355\211\275\037\053\272\220\013\246\214\052" + "\216\073\065\232\253\274\371\372\320\354\221\377\233\234\237\000" + "\240\077\351\024\032\361\131\001\140\243\276\303\074\107\311\357" + "\322\301\036\026\211\031\324\025\260\156\200\106\172\226\360\141" + "\202\260\310\101\354\155\066\232\176\272\263\341\361\335\215\372" + "\101\103\221\172\360\213\022\344\314\350\111\152\320\225\320\374" + "\006\043\164\004\242\301\050\024\136\023\207\355\017\353\032\053" + "\101\135\034\226\374\233\255\120\233\057\020\002\332\260\103\242" + "\075\066\354\214\221\203\173\221\104\173\313\317\377\334\114\311" + "\376\342\333\231\302\340\213\047\146\076\236\267\054\236\324\154" + "\304\267\240\072\341\331\210\317\222\037\350\062\354\230\362\102" + "\300\016\076\105\140\153\006\141\217\027\034\002\371\113\171\256" + "\257\351\216\073\210\053\110\033\362\137\221\017\127\061\052\164" + "\304\064\350\115\351\320\114\134\001\330\025\137\014\304\124\142" + "\050\160\052\261\100\116\022\163\035\152\045\036\313\070\371\013" + "\211\057\246\360\042\020\104\173\107\126\141\222\034\314\261\202" + "\003\263\101\005\230\034\322\271\261\371\362\333\357\216\314\015" + "\276\077\066\067\002\113\011\217\217\053\020\055\000\074\341\351" + "\163\056\063\226\330\355\152\002\100\327\145\130\054\010\154\321" + "\220\212\101\130\112\300\072\006\266\126\240\334\232\216\157\353" + "\337\231\172\262\067\251\074\241\313\022\266\042\103\243\246\170" + "\102\320\231\320\101\165\155\341\012\252\000\003\105\301\253\025" + "\270\053\326\140\124\057\370\023\106\223\175\107\047\246\360\042" + "\300\104\373\142\020\355\307\111\136\127\016\252\275\363\025\373" + "\370\361\331\342\000\211\366\037\316\230\026\066\352\204\345\354" + "\254\305\147\037\263\051\001\113\370\045\126\237\031\213\120\355" + "\230\111\041\113\126\020\170\021\140\123\000\136\020\302\034\202" + "\024\123\101\377\125\137\363\017\277\227\066\372\233\125\351\016" + "\362\241\222\102\242\110\167\022\135\101\214\210\202\004\056\072" + "\040\321\140\024\011\054\032\316\223\334\140\271\105\303\345\000" + "\017\076\346\366\111\125\022\123\170\121\300\206\035\125\005\127" + "\321\140\232\034\244\121\102\174\134\172\354\164\241\070\121\050" + "\277\367\341\205\034\066\354\234\002\237\254\324\352\207\105\370" + "\250\210\317\346\365\121\244\247\010\075\103\256\344\360\361\102" + "\200\203\165\003\154\235\240\126\212\300\073\004\345\236\366\130" + "\367\143\075\251\376\256\270\362\050\011\050\330\236\014\055\206" + "\006\073\033\015\330\236\060\100\166\054\341\012\252\000\323\203" + "\074\261\003\264\071\144\065\200\007\020\055\076\106\174\141\363" + "\043\200\355\271\044\332\233\256\014\343\105\013\106\013\026\224" + "\310\161\301\137\361\055\132\316\360\351\214\071\370\322\231\231" + "\167\306\346\314\034\054\265\357\265\162\174\336\342\263\244\147" + "\311\117\121\063\054\054\367\060\112\334\240\256\200\055\030\362" + "\202\300\027\021\351\143\166\132\121\151\062\324\330\057\167\047" + "\037\070\320\254\037\154\120\345\033\361\377\240\053\062\364\244" + "\014\330\321\030\207\244\202\256\240\054\134\101\004\320\131\372" + "\075\005\256\047\012\365\356\042\376\252\076\372\076\314\355\275" + "\056\075\141\363\243\021\104\173\234\302\233\055\273\060\122\250" + "\300\104\301\246\015\073\225\311\122\345\343\317\057\025\017\377" + "\356\324\364\327\340\223\222\235\256\143\227\154\021\057\312\346" + "\207\105\174\200\010\213\137\013\127\163\074\051\371\021\174\235" + "\200\025\204\172\213\206\270\015\133\103\220\036\355\111\354\275" + "\277\075\336\337\036\127\036\042\347\137\002\377\173\155\011\035" + "\166\065\306\240\075\251\203\144\131\176\212\040\246\022\103\341" + "\235\151\016\170\371\046\246\010\070\213\340\375\264\172\304\151" + "\202\144\367\356\221\057\341\174\275\344\315\331\013\213\137\005" + "\101\264\257\020\001\030\047\221\176\064\157\221\164\014\317\105" + "\011\033\166\056\014\317\231\107\136\073\223\071\172\042\123\304" + "\206\235\152\204\247\371\075\215\360\154\324\167\141\051\361\001" + "\226\222\237\135\326\215\225\070\274\022\267\224\231\165\076\105" + "\140\243\177\130\215\040\254\210\250\164\047\224\324\263\273\033" + "\176\264\257\101\073\024\127\244\076\374\140\214\110\273\232\342" + "\320\333\224\360\256\032\363\134\201\150\060\252\013\101\036\272" + "\010\110\376\225\070\031\066\075\260\141\207\220\036\311\077\107" + "\050\073\222\067\341\002\311\357\075\141\045\273\165\326\264\076" + "\373\172\252\070\360\302\251\351\317\111\174\142\011\115\011\036" + "\045\000\141\026\037\007\153\357\331\110\267\154\322\263\130\215" + "\143\316\012\202\314\055\243\034\101\065\101\240\102\200\357\127" + "\177\262\063\165\343\135\151\275\177\133\134\275\217\044\003\136" + "\203\321\366\244\001\273\233\023\260\055\101\066\047\216\300\045" + "\173\136\270\002\201\025\205\202\225\174\035\154\022\355\057\220" + "\150\077\222\257\100\266\354\327\243\210\273\232\036\315\227\337" + "\032\034\312\014\036\233\054\322\206\035\076\167\257\106\170\066" + "\327\017\263\370\354\130\121\254\206\000\260\220\270\301\026\013" + "\153\245\010\112\304\143\157\271\267\301\150\174\146\147\342\211" + "\235\111\371\240\041\113\335\370\145\051\135\045\102\020\207\036" + "\342\012\164\262\257\204\053\020\270\052\140\141\004\155\276\246" + "\303\074\141\371\271\371\062\234\047\304\307\206\035\111\222\334" + "\134\331\371\362\233\231\342\221\027\277\313\174\222\267\054\172" + "\245\135\124\304\267\270\327\153\025\365\170\322\257\070\371\021" + "\153\045\000\024\141\216\040\054\105\210\252\021\320\242\341\202" + "\160\140\351\345\271\135\015\167\336\326\242\035\152\061\044\154" + "\060\302\231\104\350\156\114\300\356\226\024\264\304\024\277\116" + "\340\325\012\126\145\037\012\154\066\004\363\366\330\260\063\121" + "\264\340\134\316\204\351\122\305\023\004\142\365\163\143\363\225" + "\167\336\037\237\033\174\157\054\177\016\174\142\262\104\107\002" + "\123\362\127\263\370\364\075\056\363\034\265\255\141\304\137\225" + "\223\167\265\005\200\005\137\053\140\035\001\135\147\335\000\133" + "\007\250\351\010\360\075\267\246\365\366\103\135\261\203\075\011" + "\365\111\135\226\132\135\102\370\346\230\116\204\040\351\271\002" + "\357\016\106\050\324\266\015\002\002\213\300\104\373\002\071\075" + "\106\162\045\062\114\157\046\005\061\137\161\116\234\312\231\003" + "\057\235\230\375\160\322\264\361\232\373\060\302\263\226\236\265" + "\376\154\336\317\222\235\012\100\265\110\277\052\304\247\130\113" + "\001\340\301\247\007\254\010\260\251\102\224\043\340\213\206\013" + "\065\203\230\012\332\057\167\244\356\271\276\131\355\157\322\344" + "\333\311\007\113\252\042\301\316\346\244\047\006\215\044\125\360" + "\322\003\341\012\004\202\150\357\222\061\131\254\300\360\134\011" + "\056\345\313\200\077\031\212\015\073\227\112\366\007\177\270\120" + "\070\374\372\210\167\207\035\044\061\033\361\371\253\357\242\054" + "\076\133\023\240\144\217\212\370\153\212\153\051\000\024\154\232" + "\300\273\002\326\015\320\045\053\000\174\112\300\247\020\332\275" + "\355\261\336\207\073\264\103\135\161\365\021\332\140\264\055\031" + "\363\322\003\114\023\274\006\243\112\320\127\040\260\165\020\104" + "\373\222\053\301\171\022\355\317\316\231\120\260\374\163\240\150" + "\271\347\206\262\346\300\357\317\146\336\031\312\331\154\303\016" + "\237\323\107\131\174\226\360\325\212\172\000\327\210\370\024\327" + "\132\000\370\264\200\256\313\301\272\314\015\076\105\010\163\004" + "\254\020\054\254\067\031\252\376\253\035\306\103\373\032\265\203" + "\111\005\156\300\017\067\124\331\023\202\135\351\006\110\151\212" + "\160\005\233\035\330\260\103\110\217\015\073\323\045\013\206\063" + "\005\270\220\067\275\051\121\362\247\062\155\072\237\374\361\122" + "\151\340\325\241\314\067\260\330\342\323\150\137\355\142\234\152" + "\026\337\141\226\024\102\000\030\340\277\303\205\360\072\101\265" + "\024\201\255\007\360\051\001\057\020\022\175\355\361\316\330\376" + "\173\333\364\103\355\206\374\043\274\200\015\137\350\040\156\240" + "\217\010\101\147\103\034\044\274\052\121\270\202\315\203\040\332" + "\343\035\166\106\211\305\037\232\055\100\256\142\171\057\225\035" + "\367\342\310\274\165\344\367\147\347\336\072\221\051\117\303\142" + "\202\263\344\016\213\370\166\310\250\327\342\137\123\342\123\254" + "\027\001\210\002\057\004\062\267\144\311\317\223\076\254\146\260" + "\110\060\172\022\112\303\263\275\361\107\166\247\224\103\161\031" + "\366\340\027\045\164\025\366\244\033\211\053\110\171\067\262\130" + "\160\005\002\033\013\130\324\123\165\217\370\031\323\217\366\243" + "\304\352\333\216\167\117\075\047\123\266\077\377\152\272\374\372" + "\157\316\146\217\005\015\073\064\312\263\025\372\152\026\237\215" + "\370\154\344\167\103\306\272\305\172\027\000\026\154\255\200\025" + "\002\076\105\140\105\041\112\000\330\307\336\173\236\356\061\156" + "\272\063\155\364\157\063\244\373\044\377\376\246\320\325\230\204" + "\275\333\032\241\075\025\363\247\022\321\025\210\006\243\365\015" + "\154\330\321\014\260\144\025\306\346\212\160\146\066\017\263\305" + "\262\367\122\305\161\147\306\212\366\321\067\316\027\006\216\115" + "\026\057\302\145\102\127\043\174\230\305\347\227\254\315\137\027" + "\326\276\136\154\064\001\340\227\274\043\140\235\000\353\020\330" + "\032\101\065\101\120\366\067\050\351\037\167\306\037\333\225\222" + "\260\301\250\013\277\250\041\246\023\041\150\202\235\304\031\350" + "\344\230\273\025\234\112\264\100\140\235\200\211\366\271\212\003" + "\303\204\364\147\063\171\102\170\117\254\135\362\334\327\307\063" + "\326\340\013\147\346\077\316\133\026\275\063\056\233\343\363\021" + "\236\277\130\207\267\370\121\105\075\226\364\102\000\126\011\354" + "\277\071\054\105\340\335\101\065\107\020\046\010\236\140\250\052" + "\050\317\167\305\277\177\163\263\322\337\242\313\167\223\017\224" + "\145\162\242\355\154\111\301\336\266\046\110\307\015\077\075\020" + "\256\340\332\041\150\317\165\024\035\306\163\044\332\317\344\140" + "\262\340\107\173\333\205\371\213\045\353\355\367\307\013\203\357" + "\135\054\235\205\245\104\146\043\074\057\000\274\100\360\321\236" + "\047\374\272\267\372\121\330\210\002\020\206\060\127\300\072\002" + "\136\014\130\001\250\366\330\333\376\366\046\245\343\311\256\030" + "\371\043\077\251\311\320\212\137\224\116\030\260\267\275\205\010" + "\102\003\250\156\060\225\050\134\301\352\303\213\366\232\147\363" + "\363\204\222\303\323\071\030\232\315\101\311\362\105\070\157\271" + "\337\235\311\125\006\136\036\312\277\167\311\264\260\141\207\222" + "\227\215\350\365\344\370\174\304\147\227\000\033\230\364\054\066" + "\213\000\120\360\151\002\133\037\300\347\130\047\300\327\014\370" + "\131\203\045\175\005\170\007\243\137\364\304\356\275\241\111\355" + "\157\120\245\333\360\063\065\105\206\075\044\075\350\153\153\206" + "\046\154\060\302\364\000\235\201\230\112\134\131\340\055\263\161" + "\012\217\214\011\214\366\123\071\057\352\173\254\164\241\164\311" + "\164\076\370\154\272\164\370\360\110\341\004\054\046\174\255\034" + "\237\175\235\055\346\261\026\237\132\274\115\101\172\026\233\125" + "\000\350\072\077\302\212\206\354\140\311\217\043\254\257\300\033" + "\367\265\152\275\017\164\150\375\235\061\357\016\106\015\170\136" + "\264\247\022\260\257\275\031\172\211\053\300\251\104\250\210\266" + "\343\253\106\020\355\261\141\147\230\130\374\063\123\163\220\257" + "\370\373\264\344\270\347\206\162\316\221\127\317\345\216\216\024" + "\274\206\035\066\202\363\004\017\173\314\026\363\302\012\172\174" + "\304\147\227\233\002\233\115\000\170\120\342\263\217\331\024\201" + "\072\002\166\131\267\043\300\145\332\200\330\317\173\343\017\356" + "\115\310\375\111\115\272\036\277\044\246\251\304\021\370\256\040" + "\245\312\340\226\121\010\104\203\121\335\220\310\256\045\244\307" + "\242\336\144\276\344\221\176\044\223\247\015\073\326\154\305\375" + "\370\117\063\345\301\337\235\315\177\001\213\011\134\055\302\107" + "\131\174\076\332\363\271\075\305\246\074\170\233\135\000\170\260" + "\202\120\313\021\360\065\203\132\113\351\361\116\355\300\075\151" + "\255\277\335\220\037\242\015\106\135\304\015\354\043\102\320\325" + "\224\362\035\201\150\060\212\006\336\150\203\020\037\033\166\316" + "\315\314\301\251\311\054\144\113\130\324\223\240\354\070\023\243" + "\171\367\310\341\361\342\033\177\361\033\166\152\025\365\170\101" + "\240\317\323\310\036\026\361\067\235\305\257\205\255\046\000\054" + "\370\324\000\301\072\001\174\236\165\003\374\054\002\237\042\054" + "\324\026\166\046\224\306\237\164\353\217\354\116\312\170\007\243" + "\335\370\301\111\103\043\102\320\002\173\210\030\170\015\106\345" + "\240\126\260\325\341\105\173\335\263\371\263\245\012\234\236\312" + "\300\320\164\216\104\173\277\141\047\153\072\307\376\074\147\035" + "\176\151\044\377\231\145\205\022\032\037\323\151\273\250\327\131" + "\241\000\130\034\365\021\133\216\370\024\133\131\000\020\224\370" + "\141\165\002\272\316\012\000\137\047\140\005\201\235\105\130\030" + "\317\364\030\067\337\336\042\367\267\152\362\137\113\136\203\221" + "\004\073\322\015\260\277\043\015\035\251\270\077\173\140\155\101" + "\127\200\167\162\040\244\267\145\025\106\110\156\177\152\052\013" + "\123\371\222\367\222\345\300\354\130\321\072\172\164\242\074\370" + "\371\124\371\002\204\027\365\252\105\374\060\213\117\327\021\174" + "\141\217\135\156\051\154\165\001\100\204\025\016\351\072\077\213" + "\300\027\003\243\004\140\111\255\340\372\006\045\335\337\251\075" + "\276\043\241\034\324\145\350\304\057\150\212\031\260\177\073\161" + "\005\333\232\275\237\110\363\122\204\315\334\166\114\033\166\364" + "\030\314\225\055\070\075\231\041\371\175\026\312\376\024\236\073" + "\147\303\067\247\262\366\300\013\347\346\377\067\157\055\371\141" + "\113\176\311\012\200\315\255\127\263\370\024\133\066\352\263\020" + "\002\020\016\136\004\130\061\010\253\021\260\202\100\123\003\136" + "\020\274\367\252\052\250\077\353\322\177\160\123\023\336\253\300" + "\273\203\221\254\340\124\142\153\223\347\012\260\301\310\253\023" + "\240\030\154\226\006\043\205\354\002\055\006\056\041\377\371\114" + "\016\116\116\314\302\305\134\301\173\311\161\141\376\102\311\171" + "\367\303\251\322\300\373\027\053\303\260\064\257\017\053\342\125" + "\270\327\303\042\076\137\330\003\020\204\137\002\041\000\265\021" + "\226\036\120\121\140\311\137\255\150\250\205\274\056\177\077\255" + "\164\076\332\241\037\354\062\344\047\064\031\322\370\145\255\311" + "\070\034\350\154\205\135\104\020\024\207\234\337\145\142\213\067" + "\142\203\121\020\355\321\346\027\154\027\316\134\232\205\123\044" + "\342\027\313\376\377\245\350\270\337\235\316\073\203\057\237\065" + "\337\233\064\255\074\054\315\335\303\042\176\130\264\027\105\275" + "\253\200\020\200\352\220\102\226\224\374\274\053\140\005\201\117" + "\011\242\034\201\047\010\111\025\214\347\173\142\077\374\136\243" + "\374\124\203\052\335\202\237\245\251\012\354\155\153\366\134\101" + "\243\241\005\063\010\350\012\326\371\371\214\015\073\272\341\221" + "\377\102\266\100\242\375\014\234\237\315\171\202\200\277\153\072" + "\131\166\077\370\343\164\171\360\360\270\171\034\226\106\160\232" + "\303\363\275\370\121\105\075\236\360\121\021\177\235\357\264\153" + "\007\041\000\365\201\257\023\320\045\053\004\124\000\144\146\031" + "\346\010\370\042\342\242\024\341\276\126\145\307\375\035\372\123" + "\235\061\371\021\362\102\003\176\121\147\123\012\366\157\117\103" + "\157\113\043\310\336\365\007\350\012\154\130\127\010\242\275\351" + "\112\044\257\317\300\311\213\263\220\063\375\131\216\222\343\216" + "\234\053\072\203\257\215\230\157\017\027\354\071\130\034\301\131" + "\202\107\011\100\065\213\217\020\244\137\046\204\000\134\035\044" + "\130\052\004\265\212\206\121\202\260\250\246\220\066\040\376\213" + "\036\343\301\276\224\334\237\120\344\353\360\313\342\272\012\373" + "\332\323\336\110\152\344\343\351\124\342\265\162\005\070\205\207" + "\321\136\217\301\144\256\004\047\057\315\300\331\251\054\235\302" + "\263\146\313\316\047\137\144\254\201\327\106\315\057\255\245\071" + "\075\373\270\236\210\317\346\364\141\026\377\032\355\204\215\015" + "\041\000\053\203\152\051\002\045\077\053\010\054\341\253\071\002" + "\357\361\223\235\332\201\273\133\225\247\332\064\345\001\332\140" + "\324\223\156\204\003\035\255\320\325\234\002\011\035\101\171\015" + "\213\206\130\324\323\343\136\303\316\060\041\374\211\213\323\220" + "\051\370\123\170\246\043\115\214\226\354\067\336\034\067\337\374" + "\046\153\117\102\170\244\347\043\076\117\370\132\304\007\020\371" + "\375\212\100\010\300\325\243\132\172\020\126\064\244\304\246\202" + "\300\072\200\260\151\304\005\101\330\221\120\032\237\356\322\037" + "\331\225\224\260\301\150\047\176\121\103\314\200\133\166\264\303" + "\236\326\146\377\372\203\325\052\032\322\242\036\211\370\370\343" + "\243\307\307\247\340\070\041\276\145\173\077\171\355\316\125\334" + "\143\177\311\126\006\176\073\126\376\254\144\055\104\164\112\140" + "\276\121\207\257\342\263\113\227\173\257\313\015\010\131\012\054" + "\023\102\000\126\036\274\040\104\245\010\254\073\250\346\010\370" + "\024\301\133\076\333\155\334\172\133\213\334\237\326\345\173\311" + "\007\153\011\135\203\003\333\133\275\116\103\274\301\051\320\133" + "\231\135\215\030\170\367\312\327\374\253\360\360\266\331\271\042" + "\234\046\066\177\210\104\175\333\161\360\307\106\063\343\105\367" + "\255\167\057\226\006\077\235\265\307\141\251\305\247\043\112\000" + "\050\311\331\045\215\364\174\264\147\041\210\277\102\020\002\260" + "\372\340\135\001\053\004\174\321\220\045\175\330\054\002\237\042" + "\050\067\067\051\355\304\025\074\337\021\223\037\223\361\027\224" + "\001\157\160\232\204\035\255\115\320\335\334\000\115\161\203\070" + "\003\302\107\234\122\304\073\344\340\072\326\014\134\046\240\142" + "\056\057\005\113\254\342\343\120\124\302\106\031\246\346\013\060" + "\062\223\205\221\351\071\230\057\373\115\112\246\003\023\147\346" + "\355\127\377\163\270\070\230\365\033\166\302\162\173\176\111\007" + "\057\020\054\341\243\042\276\300\052\101\010\300\332\242\232\043" + "\240\051\002\035\141\216\100\341\036\057\054\267\033\112\362\331" + "\136\365\341\276\224\322\037\227\245\076\372\205\272\252\300\166" + "\042\010\055\211\030\064\046\014\150\044\051\203\241\251\200\367" + "\061\120\145\331\333\246\214\115\366\170\121\175\331\202\154\311" + "\204\154\301\204\151\102\374\311\134\301\053\350\041\310\337\316" + "\274\005\307\116\314\333\107\137\034\051\175\304\331\374\053\041" + "\274\303\255\123\242\127\213\370\002\253\004\041\000\153\013\112" + "\174\166\235\012\101\224\063\140\043\076\137\043\010\353\053\220" + "\036\154\323\366\374\040\255\335\333\141\300\135\111\125\332\057" + "\371\333\135\061\210\046\344\347\054\367\353\221\202\375\351\273" + "\023\326\037\010\371\331\333\146\263\304\256\165\061\016\133\324" + "\343\043\076\100\170\304\027\042\260\006\020\002\260\366\340\153" + "\004\374\262\226\043\340\213\203\274\043\130\044\040\151\022\360" + "\037\152\063\256\357\216\313\175\315\052\364\246\024\251\113\123" + "\244\026\105\162\023\062\110\161\302\062\313\166\335\042\041\173" + "\301\264\245\251\234\355\234\317\132\316\310\311\234\163\372\243" + "\351\312\020\211\364\154\264\016\043\176\130\221\217\217\370\074" + "\341\243\242\275\040\375\032\103\010\300\372\001\057\002\265\212" + "\206\325\226\254\203\340\323\014\336\205\040\130\062\262\104\145" + "\011\314\026\365\252\345\372\074\361\243\212\172\202\354\353\000" + "\102\000\326\047\252\325\012\130\142\263\204\347\005\200\027\002" + "\126\130\352\021\000\134\347\163\366\060\001\340\137\017\213\370" + "\242\250\267\116\241\326\332\100\140\315\301\223\022\101\011\311" + "\026\313\244\140\235\045\272\015\227\205\201\135\262\003\230\045" + "\377\135\174\304\246\043\054\227\147\011\317\056\253\025\365\044" + "\146\135\140\035\100\070\200\365\215\260\032\101\055\147\020\226" + "\002\254\244\003\340\237\347\337\043\154\376\006\202\020\200\215" + "\005\236\270\325\152\005\374\163\141\344\347\043\062\033\275\171" + "\041\260\141\251\060\124\213\366\002\033\000\102\000\066\066\302" + "\034\001\277\214\042\077\135\206\011\000\117\154\076\247\147\311" + "\057\042\375\006\206\250\001\154\134\260\342\035\145\273\221\250" + "\224\374\364\075\274\010\260\340\011\035\106\364\060\322\363\251" + "\204\300\006\201\160\000\033\033\141\021\235\056\371\301\276\316" + "\257\123\360\102\022\366\230\175\216\177\237\300\006\203\122\153" + "\003\201\165\217\132\344\347\267\343\327\171\360\321\275\226\315" + "\027\344\337\300\020\002\260\361\021\345\002\370\327\303\136\013" + "\103\124\072\301\277\046\040\040\040\040\260\221\361\377\261\304" + "\020\272\254\152\205\176\000\000\000\000\111\105\116\104\256\102" + "\140\202\000\000\050\165\165\141\171\051\141\160\160\055\151\143" + "\157\156\137\061\062\070\056\160\156\147\000\000\000\000\000\000" + "\300\060\000\000\000\000\000\000\211\120\116\107\015\012\032\012" + "\000\000\000\015\111\110\104\122\000\000\000\200\000\000\000\200" + "\010\006\000\000\000\303\076\141\313\000\000\001\167\151\103\103" + "\120\163\122\107\102\040\142\165\151\154\164\055\151\156\000\000" + "\050\221\165\221\275\113\102\121\030\306\177\152\121\224\021\121" + "\103\110\203\203\105\203\102\024\105\143\331\340\042\041\146\220" + "\325\242\067\077\202\253\136\356\125\102\132\203\226\006\241\041" + "\152\351\153\350\077\250\065\150\055\010\202\042\210\150\153\357" + "\153\011\271\275\107\005\043\362\134\316\175\177\074\347\074\057" + "\357\175\056\070\303\272\226\263\332\146\040\227\057\232\321\120" + "\320\273\024\137\366\166\274\342\302\103\037\223\220\320\054\143" + "\066\022\011\323\162\175\335\343\120\365\056\240\172\265\276\367" + "\357\352\136\113\131\032\070\072\205\247\064\303\054\012\313\064" + "\204\067\212\206\342\035\341\001\055\233\130\023\076\022\366\233" + "\062\240\360\265\322\223\165\176\121\234\251\363\207\142\063\026" + "\235\003\247\352\351\315\374\342\344\057\326\262\146\116\170\124" + "\330\227\323\113\132\143\036\365\045\356\124\176\161\101\252\107" + "\366\020\026\121\102\004\361\222\244\304\072\072\105\002\122\363" + "\222\331\377\276\261\232\157\236\202\170\064\171\033\224\061\305" + "\221\041\053\136\277\250\045\351\232\222\232\026\075\045\217\116" + "\131\345\376\067\117\053\075\061\136\357\356\016\102\373\263\155" + "\277\017\103\307\056\124\053\266\375\175\154\333\325\023\160\075" + "\301\145\276\351\057\110\116\323\237\242\127\232\232\357\020\172" + "\267\340\374\252\251\045\367\340\142\033\006\037\215\204\231\250" + "\111\056\331\316\164\032\336\316\240\047\016\375\267\320\265\122" + "\317\252\161\316\351\003\304\066\345\027\335\300\376\001\214\310" + "\375\336\325\037\012\176\150\016\106\067\223\257\000\000\000\011" + "\160\110\131\163\000\000\013\022\000\000\013\022\001\322\335\176" + "\374\000\000\040\000\111\104\101\124\170\234\355\175\171\230\044" + "\305\165\347\357\105\144\146\125\127\365\175\167\317\075\303\041" + "\220\320\211\220\004\102\346\220\020\022\202\301\006\204\044\016" + "\133\136\353\260\077\333\273\266\345\317\273\362\352\303\140\153" + "\327\226\167\155\357\267\266\327\262\144\033\015\240\003\020\150" + "\100\002\014\210\103\002\035\010\054\161\203\140\356\231\276\357" + "\256\356\252\312\043\336\376\221\107\105\146\145\125\127\117\367" + "\364\314\040\275\357\253\316\314\310\310\210\310\170\277\167\304" + "\213\210\154\340\227\364\113\372\045\375\222\176\111\277\244\137" + "\322\057\042\321\321\156\300\132\122\363\147\036\357\065\063\352" + "\035\314\070\011\036\257\207\240\026\142\170\014\314\203\260\237" + "\131\275\044\070\377\343\351\277\072\175\366\150\267\165\255\350" + "\265\017\200\353\156\265\072\335\365\333\131\361\265\040\274\005" + "\314\142\211\047\134\200\037\123\054\156\234\315\334\377\040\256" + "\277\136\255\111\073\217\022\275\146\001\320\362\107\117\166\033" + "\031\373\112\142\365\353\040\254\077\254\102\030\057\062\343\137" + "\247\063\331\073\161\375\351\213\253\334\304\143\202\136\143\000" + "\140\152\377\323\357\235\055\140\136\005\346\013\211\140\256\116" + "\261\230\127\204\333\135\207\167\314\177\341\335\057\257\112\231" + "\307\010\275\046\000\320\162\335\223\335\226\147\137\011\340\052" + "\000\233\217\140\125\014\340\011\060\166\114\032\007\277\203\353" + "\077\154\037\301\272\326\204\216\143\000\060\365\374\351\017\316" + "\146\101\127\001\270\020\130\045\151\157\220\010\230\000\350\353" + "\256\355\336\074\375\127\147\357\137\313\272\127\223\216\073\000" + "\264\134\367\144\167\226\335\053\001\165\244\245\275\041\142\100" + "\001\374\210\122\330\061\045\317\174\020\327\323\161\345\064\036" + "\047\000\140\352\371\334\023\357\046\301\127\003\174\041\210\326" + "\124\332\033\045\146\034\142\245\156\221\202\277\072\172\375\131" + "\143\107\273\075\215\320\061\015\200\226\353\236\354\316\012\367" + "\112\301\164\114\110\173\303\304\160\000\276\217\025\357\030\373" + "\363\167\075\176\264\233\123\217\216\101\000\060\015\334\360\304" + "\273\241\350\152\000\027\362\152\171\362\107\211\010\170\125\021" + "\357\260\027\344\155\307\142\200\351\230\001\300\300\165\117\166" + "\263\301\127\202\371\052\001\332\174\224\233\263\352\304\100\021" + "\204\235\102\360\216\103\177\172\306\317\216\166\173\102\072\312" + "\000\140\032\270\341\077\336\055\204\272\232\231\326\334\223\077" + "\152\104\170\006\012\073\104\263\175\347\301\077\074\263\170\164" + "\233\162\024\250\355\177\076\323\321\354\331\127\002\164\015\200" + "\055\253\131\066\063\037\361\167\042\042\136\245\242\346\300\352" + "\166\106\371\246\241\317\035\235\000\323\232\002\140\303\137\374" + "\307\351\054\160\055\003\027\023\220\071\254\102\364\256\137\003" + "\146\067\114\072\050\226\337\052\006\360\043\317\123\067\015\273" + "\273\357\131\313\000\323\021\357\300\236\353\236\153\316\347\234" + "\313\230\371\132\146\072\345\260\105\207\001\340\060\031\136\357" + "\051\006\201\120\273\131\053\222\165\342\345\366\260\020\030\047" + "\340\353\345\305\302\055\303\327\237\175\140\065\132\121\217\216" + "\030\000\066\174\376\351\067\010\003\327\002\374\253\014\344\227" + "\365\360\112\144\011\000\240\126\360\154\135\142\140\251\311\304" + "\245\236\107\103\055\043\202\202\302\303\202\170\307\236\047\137" + "\171\010\267\175\070\014\060\255\052\030\126\265\223\066\137\367" + "\160\226\232\273\057\001\370\132\126\170\353\362\133\272\014\306" + "\351\271\032\066\005\313\171\335\145\264\076\124\377\313\172\141" + "\321\120\156\002\100\102\035\024\220\067\243\060\367\365\135\327" + "\237\065\276\374\006\326\057\177\305\264\341\013\317\156\063\005" + "\135\313\314\127\000\334\176\130\055\133\226\075\137\052\157\160" + "\173\045\146\243\272\114\115\235\057\365\206\313\160\022\227\341" + "\120\012\042\233\010\367\001\330\261\353\217\116\373\241\166\353" + "\260\301\160\370\235\363\311\047\315\055\257\313\136\050\011\327" + "\262\302\231\174\270\145\065\314\370\006\362\055\141\161\227\323" + "\113\113\126\126\317\157\210\147\134\175\060\020\040\230\137\201" + "\240\233\334\231\361\333\367\136\177\356\054\016\023\004\313\146" + "\332\226\277\333\335\147\120\361\032\050\276\132\061\365\036\116" + "\245\253\313\364\372\171\170\331\156\130\012\121\003\015\131\222" + "\171\107\110\053\010\054\022\141\047\053\373\246\127\376\340\055" + "\313\016\060\065\334\071\047\376\375\317\337\041\224\367\161\305" + "\374\001\060\314\345\116\171\011\000\334\250\072\136\012\040\251" + "\367\375\244\206\353\130\021\021\207\265\245\337\256\303\300\145" + "\306\020\270\101\340\010\002\004\350\151\042\354\230\235\134\330" + "\071\334\340\012\246\272\235\265\371\272\075\331\114\127\371\062" + "\000\037\147\360\251\174\270\226\206\033\020\242\320\154\327\142" + "\176\035\120\054\155\176\170\111\363\120\243\115\015\131\066\252" + "\205\204\072\314\046\042\156\124\151\363\062\206\223\276\323\110" + "\263\002\342\066\230\362\246\027\077\275\355\225\245\362\127\321" + "\266\277\176\272\067\233\317\175\134\051\276\206\231\073\217\364" + "\330\275\236\324\222\252\156\043\003\201\112\251\123\366\221\012" + "\022\325\142\152\220\236\266\032\200\251\066\374\250\141\323\260" + "\374\230\002\021\130\012\372\041\203\166\064\311\331\173\237\372" + "\324\351\116\165\375\032\275\355\213\273\332\154\317\373\214\307" + "\164\025\053\316\256\174\234\321\200\324\247\276\226\112\117\247" + "\072\066\175\325\106\021\053\267\325\104\110\227\356\310\161\024" + "\325\351\015\327\272\374\060\064\011\100\022\306\005\160\363\242" + "\113\137\174\365\367\117\234\253\124\015\000\270\116\274\355\213" + "\127\277\331\126\370\262\307\324\277\142\306\263\327\050\063\252" + "\245\273\026\043\211\322\231\254\352\061\163\065\265\300\022\166" + "\075\131\023\021\243\206\315\254\063\227\320\340\050\200\016\053" + "\040\105\000\244\240\061\200\176\377\331\117\157\375\136\230\206" + "\163\156\072\160\302\304\102\351\156\146\152\133\166\251\111\152" + "\124\022\123\362\005\321\224\170\172\055\306\037\206\257\020\317" + "\247\122\064\114\143\301\231\245\314\100\125\132\025\020\250\216" + "\315\153\164\050\170\370\023\122\102\220\143\260\372\310\117\077" + "\175\342\017\015\146\226\157\374\342\356\317\202\144\033\255\104" + "\136\302\216\137\262\220\360\335\343\371\030\000\061\223\236\036" + "\171\140\132\231\124\253\236\324\164\216\337\323\211\122\045\050" + "\045\137\330\321\124\235\257\232\011\004\000\034\117\047\020\045" + "\035\105\002\325\004\001\065\250\346\351\160\101\300\200\011\051" + "\257\007\160\201\001\237\043\157\204\130\203\321\123\202\301\225" + "\144\366\331\026\147\152\065\224\230\151\111\306\163\370\107\353" + "\337\072\240\144\060\055\341\210\151\005\223\217\111\112\334\113" + "\060\202\322\231\103\110\202\000\065\315\101\203\314\135\001\317" + "\210\116\141\146\062\210\110\275\365\037\176\076\351\031\162\360" + "\260\013\253\301\330\170\205\265\036\145\242\052\006\045\205\203" + "\252\231\237\046\361\254\250\122\217\026\252\253\143\026\202\007" + "\152\067\076\364\356\053\015\011\316\104\225\104\127\027\115\234" + "\060\353\151\322\115\165\101\120\037\006\207\245\005\010\000\331" + "\056\023\021\033\000\260\060\066\367\104\353\372\256\323\074\103" + "\142\271\001\036\126\051\122\251\121\250\130\070\105\172\031\051" + "\021\325\044\230\030\125\214\216\017\316\125\305\021\214\324\272" + "\077\356\257\140\241\036\070\171\051\225\253\313\273\136\265\177" + "\042\042\207\054\104\122\102\312\051\371\222\051\114\243\132\010" + "\044\022\304\152\011\020\220\130\316\174\002\040\135\017\163\243" + "\263\077\002\000\003\000\012\266\367\167\274\157\362\202\346\276" + "\326\015\126\153\023\134\325\170\140\171\151\277\201\103\125\027" + "\117\215\202\103\024\317\033\223\150\212\367\014\253\130\225\034" + "\216\066\342\146\077\354\364\252\066\324\170\203\144\011\311\373" + "\125\152\073\306\120\146\002\074\020\111\326\362\160\302\307\040" + "\020\047\201\121\165\135\243\057\111\054\035\146\256\177\033\001" + "\343\011\160\246\027\060\063\121\070\100\154\374\101\354\311\055" + "\237\375\121\237\204\374\202\141\211\367\345\332\363\310\164\344" + "\340\222\100\135\364\065\344\161\247\171\360\051\301\237\352\262" + "\352\336\347\244\027\137\365\274\356\003\044\362\044\131\032\273" + "\256\325\331\065\074\374\330\145\162\024\121\065\074\324\126\072" + "\124\227\107\065\203\075\015\110\170\215\166\113\001\220\347\301" + "\236\132\304\302\114\321\123\216\167\273\315\245\033\366\377\345" + "\331\323\176\235\011\332\362\331\037\275\121\062\375\072\011\271" + "\075\327\232\315\145\073\363\220\115\031\070\111\255\320\010\363" + "\153\344\141\244\304\011\070\346\264\305\357\153\143\175\006\107" + "\261\002\077\030\130\203\361\244\227\311\104\140\041\244\222\004" + "\317\020\244\204\237\043\032\221\060\100\112\261\120\314\302\125" + "\112\272\314\304\215\202\201\210\130\151\347\161\265\105\034\033" + "\262\063\057\001\002\231\136\347\122\132\100\273\117\004\130\002" + "\160\013\045\054\114\056\240\124\050\117\103\171\267\272\120\137" + "\331\373\227\357\332\033\257\257\106\161\133\377\344\201\126\101" + "\255\127\100\210\253\315\254\161\122\276\053\217\114\173\063\134" + "\220\257\025\226\004\100\343\343\364\232\114\004\264\210\040\307" + "\362\221\256\105\164\146\007\347\276\171\141\042\142\051\205\143" + "\022\261\154\074\060\104\254\130\270\112\231\145\245\204\317\333" + "\124\006\150\235\136\031\240\242\062\304\213\134\107\116\173\306" + "\317\272\264\146\111\173\056\355\031\103\000\322\363\120\232\136" + "\100\141\142\001\256\343\076\005\346\035\356\310\342\335\173\157" + "\074\267\214\024\313\136\023\000\332\271\330\366\307\337\173\047" + "\144\366\132\151\310\367\347\073\232\254\174\127\013\220\061\311" + "\361\352\071\251\065\002\075\111\146\067\304\374\204\312\347\204" + "\172\327\044\035\140\022\304\044\310\063\211\074\223\174\151\017" + "\075\316\145\023\263\164\075\117\072\212\215\112\034\075\306\240" + "\004\143\142\222\250\231\204\072\040\250\142\170\315\030\101\232" + "\306\000\054\111\160\027\112\050\116\057\360\302\364\342\202\122" + "\352\116\056\227\156\332\375\267\277\362\074\252\231\236\034\226" + "\244\327\224\162\244\315\277\163\153\267\150\136\377\021\141\310" + "\253\262\271\354\372\226\356\146\130\355\171\270\014\170\125\166" + "\065\141\263\221\222\246\207\161\005\164\031\212\230\357\077\127" + "\203\371\034\150\133\146\002\371\322\056\310\065\005\171\106\043" + "\123\370\113\122\254\004\241\074\045\035\245\244\303\034\150\005" + "\235\041\124\353\134\150\152\113\033\231\022\261\076\344\252\362" + "\344\323\100\240\015\013\045\001\006\030\345\251\002\346\046\346" + "\341\224\334\227\134\317\276\171\352\340\367\357\230\375\352\177" + "\233\107\020\014\011\253\323\112\131\022\000\224\162\116\261\363" + "\315\233\345\326\113\376\371\074\221\157\271\112\032\326\257\264" + "\166\347\145\276\253\005\154\232\260\231\033\123\363\076\147\143" + "\056\277\226\271\042\371\252\106\236\160\164\001\045\204\360\114" + "\041\034\223\230\145\312\373\254\016\151\306\107\051\341\051\066" + "\155\245\204\133\023\004\141\072\151\336\175\365\360\057\236\077" + "\321\153\111\363\340\113\273\140\056\226\121\230\230\107\141\172" + "\301\166\235\362\275\316\374\324\315\373\377\361\222\237\240\302" + "\164\375\007\254\042\000\364\153\001\200\326\135\371\317\033\062" + "\033\116\376\250\060\263\227\347\332\162\335\255\075\055\144\265" + "\346\140\063\242\021\204\177\110\000\100\305\004\043\341\341\373" + "\327\234\224\366\350\015\230\004\074\051\245\153\011\170\246\136" + "\366\141\007\310\123\150\151\025\102\312\123\206\243\330\260\301" + "\102\051\012\074\371\350\166\024\106\216\100\220\144\152\154\301" + "\107\325\170\336\327\002\202\000\213\030\245\351\005\314\215\316" + "\241\274\130\334\357\331\305\257\315\074\373\335\333\247\356\377" + "\374\044\374\325\264\151\314\117\143\374\212\001\020\246\311\130" + "\332\272\063\062\233\267\377\367\013\214\346\216\217\231\331\246" + "\323\133\173\132\051\337\333\012\145\110\330\156\035\273\237\064" + "\027\021\363\201\210\261\034\112\073\023\011\307\222\344\232\204" + "\212\123\267\232\114\257\105\113\171\274\012\322\125\312\264\231" + "\245\313\172\004\057\005\004\125\346\042\145\030\352\113\073\100" + "\266\313\205\361\131\314\216\027\074\267\134\174\324\231\033\376" + "\332\376\057\176\362\061\140\326\203\317\370\220\371\151\040\100" + "\235\143\315\367\112\332\377\360\134\150\347\221\006\110\234\013" + "\000\324\177\305\337\234\230\133\177\332\107\144\266\345\342\326" + "\256\346\226\346\236\066\262\132\262\050\171\151\276\100\145\154" + "\036\152\002\245\347\361\003\055\122\012\307\022\102\231\276\237" + "\300\253\266\067\153\265\050\174\041\006\171\036\133\266\142\351" + "\200\023\043\010\242\350\023\145\134\303\221\024\202\070\043\200" + "\362\114\001\263\243\163\130\230\131\030\127\245\271\157\116\077" + "\377\360\355\323\017\376\325\020\252\031\256\203\040\011\004\324" + "\071\306\332\235\226\226\074\212\104\232\100\155\020\010\000\062" + "\273\351\214\134\337\373\377\360\042\263\155\360\362\114\076\177" + "\112\173\137\033\362\075\055\344\220\200\253\020\227\376\204\117" + "\340\253\171\307\222\302\261\010\312\010\322\142\043\203\245\351" + "\160\141\162\170\376\143\004\002\002\003\202\231\205\353\005\132" + "\001\302\227\164\322\064\102\245\067\211\115\002\014\317\305\374" + "\350\034\246\307\346\224\263\130\170\262\064\276\377\266\103\167" + "\375\327\107\060\063\154\003\320\045\076\215\371\113\231\201\125" + "\003\200\376\023\051\307\010\000\372\165\317\207\376\374\015\371" + "\255\157\273\334\314\167\276\267\255\273\071\333\336\337\016\231" + "\317\120\244\025\042\237\100\111\101\166\106\220\153\021\124\134" + "\305\127\071\216\307\052\305\035\072\346\300\151\204\151\003\025" + "\040\020\001\115\006\261\075\267\210\231\341\131\236\233\052\314" + "\071\205\261\373\012\057\336\167\307\344\343\377\264\027\145\170" + "\100\354\227\306\170\117\113\003\032\067\005\176\113\323\132\137" + "\343\230\004\300\222\032\040\161\056\001\310\334\326\263\332\072" + "\177\345\123\037\264\072\066\156\317\265\267\154\354\032\150\103" + "\123\127\013\071\344\131\314\166\106\220\062\364\066\306\327\122" + "\034\017\314\367\051\026\374\047\204\023\004\254\330\260\045\054" + "\333\120\354\055\214\317\361\344\350\054\312\163\323\057\073\343" + "\057\175\173\346\221\377\365\140\151\372\300\002\071\360\000\270" + "\145\037\000\056\174\246\066\252\001\126\025\000\265\234\300\044" + "\000\226\322\000\062\345\147\274\345\023\237\272\044\277\351\244" + "\337\235\163\117\353\150\353\156\027\155\175\255\100\066\203\162" + "\020\124\340\130\163\217\037\346\107\244\007\205\000\144\015\202" + "\052\024\061\075\072\213\371\211\031\047\217\147\167\217\074\375" + "\263\377\073\363\323\133\237\127\066\331\136\331\051\071\213\160" + "\155\300\005\301\005\301\103\251\046\000\352\001\001\130\332\027" + "\210\332\125\325\154\355\230\074\117\152\001\211\152\100\244\201" + "\040\142\174\076\217\314\371\237\354\172\117\337\066\353\222\114" + "\216\336\314\014\141\173\355\064\064\177\156\146\270\360\236\214" + "\154\032\024\135\375\155\310\164\066\243\244\010\312\367\010\217" + "\077\346\003\000\374\360\154\006\012\213\223\363\230\030\236\205" + "\164\367\172\003\371\207\354\276\346\357\227\115\121\144\366\170" + "\166\156\102\175\367\245\307\013\367\074\363\350\342\076\307\205" + "\003\033\016\174\006\272\250\060\276\026\000\152\071\203\272\066" + "\100\312\321\157\141\132\253\265\143\352\330\037\351\032\040\215" + "\371\041\110\344\233\056\314\016\276\371\334\366\113\133\272\345" + "\105\102\242\073\254\214\265\210\037\053\101\023\013\157\066\207" + "\012\347\131\163\356\151\106\127\157\073\265\364\266\101\131\046" + "\225\143\241\306\143\237\262\006\201\213\045\314\216\314\361\354" + "\370\024\167\144\236\162\006\133\276\153\267\145\137\162\203\325" + "\003\221\237\040\010\014\042\125\052\250\047\207\137\055\177\353" + "\376\377\067\365\003\333\106\350\370\351\366\077\355\247\373\000" + "\151\243\001\044\216\253\016\200\132\040\220\331\054\214\213\377" + "\260\357\254\236\115\346\145\146\226\316\004\302\110\235\346\355" + "\207\000\010\273\303\067\224\130\264\173\305\120\341\134\153\164" + "\341\335\126\246\255\117\164\365\267\303\152\157\106\311\253\350" + "\270\206\351\160\260\163\030\072\107\022\220\045\306\342\344\074" + "\046\107\146\240\212\007\125\177\356\121\173\240\371\021\333\222" + "\363\052\054\127\204\041\341\000\004\002\140\022\024\370\012\304" + "\312\243\321\271\011\367\256\237\336\067\263\363\351\207\212\143" + "\130\032\004\111\155\240\203\100\357\201\303\006\100\055\357\137" + "\042\205\371\157\277\270\271\373\115\357\155\373\265\174\207\374" + "\125\051\260\116\245\215\373\021\227\176\050\020\030\140\146\122" + "\312\077\062\003\112\031\064\126\174\273\071\262\160\236\131\304" + "\051\106\167\177\033\132\173\333\341\032\006\354\106\220\260\122" + "\305\321\000\020\262\222\100\345\062\146\107\146\060\071\072\315" + "\255\346\323\336\140\356\141\273\043\367\214\113\360\040\242\145" + "\343\101\220\047\224\176\212\342\331\020\042\012\024\161\124\051" + "\221\143\057\362\243\143\257\226\157\277\375\013\143\117\040\035" + "\004\111\015\220\364\005\222\176\300\212\000\120\117\003\310\253" + "\256\357\177\173\327\106\353\112\053\213\363\231\141\205\005\162" + "\154\255\213\212\001\200\003\246\263\337\154\142\146\160\000\000" + "\305\034\310\212\000\230\251\340\254\227\303\205\363\315\361\322" + "\073\215\226\316\136\352\032\150\207\321\232\107\321\253\303\347" + "\225\000\240\016\363\005\001\115\202\121\232\052\140\142\144\032" + "\245\331\141\356\317\177\337\031\154\176\304\311\030\223\301\354" + "\024\207\222\036\062\075\061\061\104\040\002\023\001\044\300\104" + "\341\202\250\312\054\042\221\077\343\305\012\173\026\146\325\155" + "\077\372\326\354\135\077\173\140\156\006\113\373\003\265\106\002" + "\015\001\240\026\010\252\000\360\266\017\165\264\277\363\342\226" + "\113\263\255\342\112\101\330\006\160\365\356\035\355\132\125\042" + "\174\120\312\027\011\126\040\260\377\034\203\203\153\335\054\370" + "\335\342\003\202\311\343\054\306\026\317\064\106\026\317\061\035" + "\343\004\321\073\330\216\346\336\166\330\044\341\244\272\072\253" + "\100\301\033\144\004\140\270\016\146\107\146\060\076\074\215\034" + "\075\357\015\346\036\161\073\263\077\361\244\364\002\011\047\216" + "\346\004\204\317\164\252\330\374\230\026\240\000\010\102\204\327" + "\204\330\022\260\252\105\223\124\164\112\270\157\174\117\351\033" + "\137\275\141\344\147\210\307\003\152\105\004\127\035\000\342\267" + "\376\367\272\323\332\372\254\253\015\013\027\061\270\051\126\102" + "\362\123\012\252\022\272\145\025\252\166\137\272\125\160\337\017" + "\362\151\376\100\240\031\374\207\210\302\305\037\332\354\040\001" + "\300\154\171\233\030\136\070\317\234\264\337\041\072\172\272\250" + "\153\240\003\242\071\207\242\133\153\255\102\043\043\212\170\244" + "\131\020\320\044\001\173\146\001\223\303\123\230\237\032\343\336" + "\246\307\275\301\374\303\136\316\034\122\104\176\223\051\204\252" + "\357\324\101\204\035\036\110\170\370\172\344\233\173\377\355\010" + "\034\056\234\015\203\103\024\230\014\137\031\044\246\205\051\004" + "\020\101\271\364\174\171\316\373\332\103\267\116\334\375\334\167" + "\027\026\120\137\013\000\053\005\300\333\256\350\150\072\347\222" + "\216\017\131\131\272\032\304\157\346\064\151\207\316\270\200\321" + "\301\071\063\123\360\014\130\227\376\120\352\265\066\105\040\120" + "\360\173\222\375\174\120\240\150\266\060\154\047\203\034\225\247" + "\261\305\263\345\310\342\271\002\331\215\242\167\135\047\232\173" + "\332\120\142\001\067\172\375\145\014\047\211\330\024\200\245\074" + "\314\215\116\143\354\320\064\054\365\212\032\310\075\344\365\064" + "\375\130\111\262\053\166\074\051\331\001\263\105\102\013\104\171" + "\302\353\160\342\107\124\236\015\000\204\160\175\140\010\010\102" + "\350\044\126\357\063\222\044\346\034\027\167\116\217\224\157\371" + "\362\177\071\370\163\254\066\000\176\373\037\067\156\154\353\261" + "\256\021\006\076\114\254\072\365\314\052\131\006\063\224\347\113" + "\071\003\140\117\003\000\070\260\212\014\025\111\271\346\375\107" + "\026\263\002\000\060\023\123\000\052\375\031\012\236\251\074\033" + "\265\143\246\164\252\030\056\236\047\147\234\267\212\236\201\156" + "\164\155\350\202\047\015\052\171\051\157\233\174\171\002\262\022" + "\100\251\214\211\003\223\074\065\066\316\335\231\037\362\100\376" + "\141\257\305\334\033\266\312\107\143\004\000\337\226\063\307\230" + "\310\244\115\002\005\145\307\217\001\343\105\270\334\274\002\224" + "\050\217\077\152\020\176\231\002\151\113\310\052\377\003\307\127" + "\224\117\070\145\334\374\335\133\136\275\347\251\157\303\306\012" + "\000\100\237\375\346\266\367\010\123\176\034\314\347\061\253\352" + "\305\026\204\052\015\020\171\366\212\241\074\005\345\246\314\360" + "\101\323\000\034\155\237\250\250\170\322\001\000\122\241\300\104" + "\116\143\005\244\314\034\173\136\063\077\124\366\332\061\264\170" + "\236\034\136\074\137\264\264\365\120\173\117\053\232\332\163\060" + "\262\031\170\134\351\011\077\150\301\260\213\045\054\116\057\142" + "\152\174\016\166\141\210\327\345\377\135\365\347\277\247\014\121" + "\214\251\357\250\023\065\106\106\022\256\253\161\366\357\161\320" + "\252\210\321\244\137\047\375\201\240\363\003\017\122\010\100\110" + "\241\357\162\250\200\103\277\326\122\374\347\345\070\063\175\243" + "\060\135\276\345\357\076\276\067\374\177\006\113\003\340\272\177" + "\333\234\345\056\353\012\101\370\204\142\076\301\137\267\124\173" + "\365\077\047\313\210\117\203\100\171\114\236\307\120\256\012\234" + "\274\112\036\305\210\046\201\070\064\274\052\334\177\245\061\034" + "\212\010\321\250\041\142\160\010\006\015\000\121\327\020\374\255" + "\372\314\040\305\026\046\213\157\025\023\245\267\322\154\371\144" + "\362\320\112\231\046\023\206\041\001\060\134\107\241\124\264\221" + "\221\123\334\156\275\310\135\115\117\161\147\366\131\105\344\205" + "\205\261\000\300\132\307\023\300\341\102\320\310\223\017\324\063" + "\111\060\161\105\375\373\207\150\165\160\270\142\065\132\000\022" + "\152\023\042\016\300\343\063\135\010\037\045\224\354\346\044\000" + "\152\272\274\314\122\110\217\101\217\010\117\354\170\356\346\027" + "\037\272\355\066\170\211\147\053\164\375\167\136\377\121\300\375" + "\023\146\356\125\172\231\065\267\054\150\366\076\312\033\007\100" + "\205\141\076\030\134\307\203\347\371\257\240\302\173\052\170\303" + "\000\040\034\164\065\305\124\174\264\120\204\210\022\140\120\301" + "\322\231\150\341\110\004\060\322\232\022\235\333\136\007\212\136" + "\017\171\234\005\300\060\150\021\115\162\214\115\071\257\275\033" + "\105\205\371\227\010\232\242\331\353\112\357\204\036\174\304\320" + "\100\362\021\277\107\161\063\240\005\202\000\100\030\004\303\020" + "\114\104\061\046\207\043\005\255\337\023\032\240\306\026\062\155" + "\076\112\020\201\040\017\060\370\377\374\331\007\137\372\232\146" + "\312\200\353\256\073\307\060\316\234\370\033\345\071\227\327\364" + "\235\153\174\260\041\271\222\115\151\137\364\010\064\123\305\246" + "\107\171\230\074\307\203\343\060\161\250\040\065\177\040\164\370" + "\164\377\000\004\012\343\003\141\027\160\240\030\231\103\000\244" + "\070\222\225\027\210\233\252\024\355\127\045\111\244\057\345\012" + "\235\257\010\030\321\360\056\144\164\230\216\110\043\120\304\344" + "\220\211\161\077\200\100\002\154\030\004\151\006\214\327\314\213" + "\366\062\261\127\021\042\336\116\256\361\201\211\244\251\360\323" + "\004\004\344\375\273\106\026\076\175\343\307\367\226\014\060\310" + "\274\157\352\167\074\166\056\207\000\322\166\251\205\122\227\116" + "\211\076\223\361\214\225\361\137\324\050\220\040\110\103\300\314" + "\060\134\233\341\153\205\112\071\121\135\212\053\022\037\335\363" + "\057\002\325\133\051\233\243\246\007\240\341\250\315\034\256\036" + "\216\365\115\052\121\142\032\227\120\141\154\205\365\024\207\132" + "\300\354\350\272\342\241\104\245\004\215\241\050\135\112\202\064" + "\005\244\341\333\205\252\335\352\244\025\101\111\276\044\161\252" + "\147\136\352\045\031\114\336\005\133\372\232\377\002\300\147\014" + "\306\255\342\317\351\163\227\212\072\333\303\353\177\034\052\141" + "\001\364\274\025\246\304\322\053\073\271\011\126\026\060\063\022" + "\312\143\330\266\013\127\217\357\046\266\006\102\350\312\217\243" + "\102\210\102\047\263\126\263\152\137\244\275\020\305\325\157\205" + "\265\221\127\037\360\275\022\322\255\024\114\101\263\011\021\352" + "\102\273\016\000\246\045\140\230\002\044\104\254\057\222\000\110" + "\060\057\266\241\264\216\064\326\053\043\106\322\120\227\061\363" + "\037\033\300\025\112\171\327\031\246\121\073\163\035\000\124\125" + "\241\357\174\212\257\364\116\051\067\070\052\006\244\040\344\114" + "\023\234\143\330\045\005\307\361\240\130\305\362\106\066\071\345" + "\213\262\024\113\012\162\263\366\134\262\322\352\073\161\063\253" + "\113\170\224\130\171\106\253\057\266\275\073\142\266\146\033\205" + "\024\076\343\055\001\021\015\043\374\243\150\014\000\211\266\245" + "\131\257\064\165\237\114\321\110\221\105\104\154\020\021\377\336" + "\227\066\357\031\334\326\174\102\154\247\202\106\265\000\220\256" + "\141\022\335\235\334\220\231\322\124\021\170\200\114\000\051\202" + "\225\063\220\141\203\134\327\203\135\362\340\332\101\154\070\324" + "\356\042\136\006\043\315\101\211\156\126\324\210\256\221\142\366" + "\042\376\102\024\173\015\212\276\046\136\315\224\104\031\021\363" + "\175\265\140\146\004\014\113\302\060\004\102\055\345\057\027\364" + "\337\231\101\065\065\000\164\115\124\265\011\065\355\065\253\251" + "\026\000\004\111\114\214\025\146\201\140\173\370\360\320\324\327" + "\031\336\373\066\234\330\011\206\133\135\120\055\015\220\110\347" + "\310\155\327\356\207\210\117\323\000\301\113\373\132\203\100\354" + "\057\366\226\301\150\325\262\014\230\246\001\117\061\234\222\013" + "\273\354\041\334\054\037\342\050\105\216\021\347\144\242\075\034" + "\313\121\365\110\170\036\273\014\257\023\017\205\143\077\375\236" + "\060\010\226\045\141\131\062\362\207\102\363\057\203\013\142\370" + "\101\035\124\244\131\327\070\172\275\065\333\227\014\152\066\350" + "\003\110\141\141\142\170\016\373\167\117\334\010\004\155\172\341" + "\221\362\253\233\117\107\151\166\252\370\356\134\076\107\115\271" + "\014\230\024\374\010\227\157\355\302\363\304\057\221\216\104\336" + "\360\161\104\341\062\241\225\027\035\005\210\004\201\100\344\317" + "\213\023\211\340\030\236\033\246\244\114\223\044\151\010\077\070" + "\244\102\335\033\124\124\361\263\242\076\215\376\012\220\306\124" + "\212\071\152\376\375\110\172\175\047\125\073\047\142\042\375\146" + "\345\047\202\167\046\002\314\214\100\123\336\104\123\336\214\154" + "\074\211\240\037\004\041\170\037\210\060\115\122\345\076\125\316" + "\021\344\363\147\007\243\252\110\317\053\110\124\363\102\120\335" + "\064\103\130\230\237\162\260\347\345\121\214\035\234\275\371\126" + "\157\376\006\074\232\320\327\037\276\241\345\054\006\135\237\313" + "\131\247\366\157\350\104\167\177\036\044\025\224\112\371\242\126" + "\110\261\211\237\312\320\262\352\136\312\230\074\032\247\127\314" + "\104\154\074\317\321\010\073\032\032\106\347\236\307\260\213\056" + "\225\113\256\357\266\153\145\370\207\140\210\210\040\256\000\004" + "\161\153\042\111\101\124\065\152\016\340\301\127\056\014\200\104" + "\314\145\115\214\307\053\265\010\111\154\145\015\266\062\006\244" + "\214\207\173\341\157\004\251\014\351\242\100\167\020\042\112\250" + "\367\330\042\221\360\031\275\237\143\101\250\344\076\302\364\261" + "\273\020\006\173\016\141\354\320\054\106\017\116\303\266\235\237" + "\050\217\377\366\366\353\013\217\124\036\255\046\272\342\163\055" + "\357\044\111\327\112\103\174\240\273\277\315\352\133\337\116\271" + "\126\003\236\112\174\150\262\022\201\323\023\165\223\250\215\355" + "\053\161\225\160\175\100\024\043\120\225\120\257\252\074\032\004" + "\200\042\157\216\042\246\152\140\120\012\344\224\075\224\212\056" + "\171\116\350\035\162\005\010\354\057\266\261\000\141\020\221\254" + "\341\272\204\344\201\330\141\146\333\127\062\101\141\061\346\303" + "\310\010\316\144\115\066\055\341\337\027\101\353\265\374\210\315" + "\005\200\165\360\350\121\105\022\311\347\070\250\057\016\274\004" + "\307\223\076\201\006\016\200\204\205\302\124\031\043\007\147\170" + "\152\174\266\300\036\337\351\330\174\323\235\377\243\120\265\133" + "\070\025\000\141\372\371\377\071\337\323\336\041\257\224\204\253" + "\233\333\232\066\014\256\357\102\147\177\036\220\056\070\364\320" + "\223\163\001\125\373\374\052\314\324\062\221\176\217\165\351\045" + "\204\363\000\221\054\260\316\324\040\074\114\121\172\245\074\327" + "\125\124\056\072\050\027\135\337\327\042\220\005\010\263\262\253" + "\151\151\252\330\164\056\063\253\062\223\122\354\113\173\046\153" + "\040\323\144\260\257\132\343\201\235\310\121\104\245\345\061\000" + "\040\221\057\221\047\131\116\114\342\253\102\277\325\032\200\110" + "\202\135\211\361\241\171\014\357\237\104\261\120\172\121\061\156" + "\232\031\231\277\343\301\177\106\030\342\324\274\240\350\165\323" + "\272\040\112\367\317\067\303\270\344\043\371\163\254\214\274\332" + "\264\344\071\375\353\072\345\300\246\166\144\362\002\236\347\324" + "\005\100\252\031\320\302\272\361\364\240\076\006\000\016\042\343" + "\232\006\320\303\057\361\050\241\136\017\111\305\202\313\256\160" + "\212\056\171\056\047\206\176\051\157\317\211\153\215\014\123\100" + "\066\031\212\063\206\162\001\177\356\237\021\001\100\147\156\134" + "\345\207\367\003\211\006\125\001\040\226\077\152\123\322\224\040" + "\006\206\130\131\360\235\272\305\071\227\207\366\115\141\174\170" + "\272\354\070\174\217\123\344\133\356\372\353\371\160\267\160\162" + "\161\350\141\000\100\133\011\364\236\337\310\154\350\132\147\176" + "\324\260\350\362\316\256\226\236\301\115\335\324\331\233\203\107" + "\016\300\252\032\000\141\131\141\274\337\157\106\114\362\043\211" + "\257\274\156\305\104\104\367\374\176\321\303\277\121\131\276\115" + "\027\006\263\064\143\161\072\202\155\173\050\055\330\361\000\123" + "\052\351\146\037\260\062\006\262\071\337\241\323\162\160\031\360" + "\034\300\343\060\314\033\330\363\120\153\000\072\163\051\052\070" + "\046\341\211\374\010\367\014\046\046\233\020\253\272\102\202\014" + "\046\145\140\154\250\200\241\175\343\230\233\051\356\163\155\174" + "\155\370\145\347\366\037\337\121\324\167\013\247\355\015\070\054" + "\000\350\040\020\000\104\333\106\230\147\135\221\277\260\051\047" + "\076\232\315\133\157\137\267\261\207\006\066\265\301\310\060\171" + "\312\116\226\347\327\036\063\003\344\117\360\350\016\240\016\220" + "\370\254\137\350\103\125\251\175\203\041\015\142\051\070\251\346" + "\343\257\246\074\005\273\344\301\261\075\270\256\202\112\054\063" + "\227\222\140\230\022\246\045\140\145\202\041\134\255\341\057\000" + "\027\344\071\004\327\011\264\102\120\045\043\230\071\104\034\000" + "\225\171\003\322\325\277\157\333\005\305\265\103\170\117\253\216" + "\001\300\020\031\024\013\012\103\373\247\170\370\300\224\153\027" + "\235\107\013\323\352\153\367\377\303\342\343\100\264\227\040\144" + "\174\162\203\110\324\226\332\275\124\111\323\001\020\166\154\315" + "\135\100\147\136\231\073\241\167\213\274\322\154\242\113\172\372" + "\332\133\327\157\356\242\266\236\054\074\056\127\274\163\124\217" + "\004\242\105\036\004\012\232\133\231\056\326\124\273\356\010\002" + "\376\010\111\062\031\246\377\101\210\272\116\135\255\333\214\300" + "\355\047\104\321\271\312\235\332\227\111\122\002\312\006\134\217" + "\310\125\210\073\173\011\037\240\312\276\353\176\100\354\176\354" + "\236\200\100\206\047\206\027\160\150\357\070\046\047\346\307\234" + "\042\177\163\357\363\366\355\317\174\307\016\167\013\067\262\111" + "\004\130\241\006\320\231\036\136\307\066\200\016\154\101\356\264" + "\017\065\177\260\245\215\076\234\157\315\236\272\141\113\057\372" + "\067\266\223\060\035\050\166\253\034\302\140\061\107\044\325\261" + "\373\341\067\002\231\211\225\357\014\110\206\141\060\233\325\322" + "\336\030\055\301\313\245\220\264\324\303\354\200\074\117\302\166" + "\011\036\270\266\203\027\033\116\002\225\317\303\150\276\200\041" + "\055\266\027\011\103\373\246\161\160\357\270\052\025\354\047\346" + "\306\324\355\217\337\261\360\160\161\012\066\032\333\056\166\104" + "\000\240\037\123\367\005\000\220\147\174\070\363\206\276\115\326" + "\345\115\315\342\202\376\165\135\115\353\267\165\241\245\063\003" + "\317\053\105\222\317\212\211\104\234\361\161\333\116\020\314\122" + "\172\154\032\314\206\356\120\056\105\113\061\173\051\132\011\030" + "\230\310\163\004\071\016\301\211\034\102\175\224\000\004\316\236" + "\102\030\313\002\174\123\140\120\023\246\306\212\174\160\327\070" + "\306\106\247\147\113\163\352\073\373\236\057\335\361\354\375\356" + "\136\124\157\020\111\333\061\274\046\000\110\143\172\332\326\060" + "\271\356\104\264\237\162\176\356\242\326\056\343\322\266\256\246" + "\115\033\267\016\120\377\372\126\202\050\223\247\334\150\161\107" + "\320\274\110\023\110\305\246\341\261\045\030\125\113\321\126\312" + "\334\325\240\206\000\102\314\056\221\343\112\121\126\302\137\211" + "\123\055\375\140\101\026\330\061\170\150\317\024\366\355\031\103" + "\141\266\364\374\364\210\273\363\251\173\212\017\024\106\121\104" + "\355\055\142\072\000\222\140\140\254\000\000\341\261\121\000\244" + "\152\001\000\062\003\030\026\140\066\345\055\353\365\027\030\247" + "\267\157\221\227\144\332\344\273\326\155\354\065\066\154\355\242" + "\246\066\011\117\225\302\245\135\122\052\145\031\036\254\106\244" + "\375\150\001\341\160\264\203\022\160\075\111\145\127\220\343\173" + "\070\304\046\145\061\067\151\363\376\075\023\030\076\060\121\054" + "\114\273\017\017\275\340\354\174\346\101\373\145\040\332\032\236" + "\366\215\200\132\152\137\337\045\164\104\000\220\004\102\055\023" + "\340\357\015\004\144\113\006\126\253\151\145\162\222\063\131\151" + "\144\040\330\314\016\122\167\353\073\344\171\231\156\172\157\127" + "\137\113\317\326\055\175\346\100\177\163\206\271\154\062\057\275" + "\164\367\270\321\000\051\044\244\241\134\225\261\017\034\232\055" + "\357\333\075\352\315\114\054\356\237\035\162\357\175\341\241\305" + "\357\316\217\141\326\001\134\162\340\002\301\066\361\372\314\257" + "\147\002\126\025\000\341\165\043\032\100\346\000\231\311\302\150" + "\146\230\131\323\262\062\046\114\123\032\026\051\066\024\103\226" + "\035\107\276\275\313\130\177\101\237\334\256\006\351\103\257\016" + "\120\156\244\317\300\272\115\175\130\277\245\023\126\016\360\270" + "\174\114\060\172\271\224\016\014\202\041\262\050\314\270\070\264" + "\147\002\243\373\047\260\141\324\303\372\041\354\331\277\307\331" + "\361\225\175\356\143\005\205\142\311\165\155\017\260\035\202\113" + "\066\334\162\143\000\250\307\374\125\331\034\252\237\057\271\075" + "\074\017\310\154\023\214\146\316\132\355\046\233\302\144\203\030" + "\106\301\146\312\030\060\176\153\223\165\356\353\232\305\145\055" + "\006\316\140\055\104\133\310\002\057\366\003\077\357\047\344\006" + "\333\260\161\153\037\072\007\162\360\120\252\204\235\217\023\212" + "\072\215\014\010\057\203\321\241\171\354\337\065\002\036\051\340" + "\344\141\340\244\121\040\253\115\253\070\212\307\016\226\160\367" + "\035\007\355\157\076\060\125\076\344\330\160\011\125\000\250\265" + "\065\274\326\320\157\325\266\207\353\347\072\000\322\100\040\363" + "\171\310\016\005\303\314\144\215\046\305\246\307\220\347\367\322" + "\340\371\075\326\025\275\046\056\063\210\353\376\267\121\117\000" + "\173\272\200\027\006\010\323\175\026\066\154\031\300\272\055\035" + "\060\262\036\074\266\353\075\172\114\342\262\330\231\000\000\016" + "\343\111\104\101\124\020\001\220\224\105\151\236\161\160\317\004" + "\016\355\035\105\377\250\207\123\106\010\353\247\241\005\161\071" + "\312\037\036\031\354\316\272\364\360\163\063\366\127\077\367\102" + "\351\007\145\077\270\163\324\077\020\241\237\327\144\176\033\040" + "\024\040\125\036\262\211\041\133\024\314\317\275\076\177\316\346" + "\234\274\272\111\342\134\112\361\346\153\221\337\162\302\124\216" + "\360\342\000\143\127\057\320\261\261\013\033\267\366\241\275\067" + "\003\227\213\311\367\070\352\104\020\220\150\302\304\320\002\366" + "\357\032\306\342\320\054\116\036\041\234\074\002\064\227\111\313" + "\027\022\307\322\364\320\047\000\270\214\335\303\145\365\325\177" + "\333\153\337\172\317\250\075\205\164\000\064\062\374\133\021\000" + "\364\143\075\351\247\066\100\052\100\134\263\311\352\275\144\103" + "\366\252\126\111\327\110\302\306\232\075\126\203\374\026\123\360" + "\106\176\267\270\222\261\253\207\361\122\277\102\251\257\011\233" + "\266\016\140\160\163\007\310\262\241\270\352\177\041\256\051\111" + "\312\300\055\112\034\334\075\211\175\273\207\320\065\346\342\165" + "\043\204\115\223\361\017\277\047\073\232\226\000\200\226\263\130" + "\120\174\367\013\363\316\215\277\367\323\305\247\120\133\355\257" + "\051\000\302\353\150\064\360\365\323\163\147\256\313\233\277\231" + "\025\270\030\100\046\365\135\352\120\245\165\004\025\375\222\171" + "\010\343\315\076\020\366\365\001\175\233\172\261\151\133\037\232" + "\273\214\065\325\012\004\202\104\016\323\243\105\354\173\165\004" + "\063\007\046\161\302\250\300\353\106\005\332\213\141\036\375\255" + "\342\035\035\357\164\326\244\252\376\330\327\125\364\314\224\213" + "\033\377\376\305\231\333\356\235\102\370\101\350\065\377\114\134" + "\230\046\376\170\163\276\355\003\233\314\217\065\113\372\117\002" + "\174\152\235\266\247\122\334\063\041\255\365\076\000\252\132\253" + "\345\267\045\360\112\257\302\113\375\012\350\317\143\363\011\203" + "\030\330\324\006\226\145\050\034\031\255\040\140\101\331\046\016" + "\355\236\302\336\135\103\310\217\226\161\312\210\300\326\111\202" + "\021\054\232\112\252\370\132\214\327\363\351\000\110\346\113\043" + "\046\232\053\271\370\306\053\005\357\137\176\363\251\271\347\120" + "\255\001\302\006\254\012\000\302\363\320\143\247\235\147\265\275" + "\261\077\043\077\145\022\076\002\160\363\022\355\255\064\074\326" + "\062\322\316\021\305\112\365\173\151\317\126\227\105\030\156\125" + "\170\251\337\303\241\036\201\165\133\373\261\151\133\057\162\355" + "\024\150\205\225\022\301\244\034\146\307\155\354\173\165\024\243" + "\373\306\260\165\214\360\272\121\102\367\202\110\121\355\225\326" + "\245\337\253\015\222\244\026\150\040\326\300\036\323\017\012\256" + "\372\322\227\237\233\271\363\226\051\224\221\076\005\234\166\254" + "\131\107\032\120\351\223\003\310\374\306\353\072\056\315\110\372" + "\155\011\234\325\350\277\151\327\031\025\136\353\014\217\245\125" + "\255\045\251\135\136\345\272\362\114\321\144\274\334\253\360\162" + "\237\207\314\272\066\154\071\141\020\175\033\132\340\321\042\152" + "\055\171\257\105\004\011\362\232\060\264\167\006\173\136\071\004" + "\071\262\210\123\106\005\116\030\027\260\274\332\314\005\200\150" + "\301\133\342\136\075\063\020\246\055\127\033\124\110\214\271\240" + "\257\034\050\225\277\374\153\217\315\357\306\152\001\340\337\337" + "\323\271\256\047\143\174\202\340\375\026\201\007\032\155\116\265" + "\124\007\351\114\165\132\124\143\165\143\262\325\051\327\361\172" + "\201\003\035\012\057\365\171\230\350\067\261\355\344\215\130\267" + "\245\063\030\112\226\153\202\101\100\372\103\270\202\302\201\335" + "\223\330\367\363\203\130\067\242\160\312\250\100\377\174\260\223" + "\047\361\114\055\265\136\373\136\242\014\252\166\010\303\143\050" + "\062\313\320\010\040\042\317\203\170\300\123\352\237\276\360\340" + "\344\275\267\041\132\347\277\074\000\374\364\374\256\323\245\041" + "\377\000\354\135\016\300\154\240\356\250\164\006\302\257\276\150" + "\151\161\015\240\347\117\053\043\135\106\352\077\227\166\177\066" + "\253\360\354\200\207\335\135\214\226\276\126\364\364\165\240\265" + "\043\217\134\263\005\303\020\140\060\034\333\303\342\274\203\331" + "\251\002\306\106\247\140\217\027\160\342\270\304\033\106\044\362" + "\332\212\267\172\314\117\063\134\265\030\027\007\103\365\233\124" + "\002\111\161\020\054\167\016\234\100\373\131\320\227\346\346\371" + "\137\337\375\370\304\160\324\320\032\155\001\000\074\175\141\337" + "\045\022\352\063\314\070\173\045\136\265\342\060\204\045\252\153" + "\155\340\032\100\142\051\154\343\332\041\215\134\301\030\152\125" + "\030\156\125\230\314\051\314\147\001\133\372\213\021\054\227\320" + "\132\366\155\372\340\234\100\377\074\041\374\107\057\265\244\256" + "\312\313\247\344\275\352\363\352\173\134\363\136\170\055\300\020" + "\324\230\364\327\042\022\302\126\214\235\056\251\177\170\353\275" + "\023\217\246\326\371\344\373\273\007\162\122\176\205\225\172\337" + "\152\016\247\230\053\037\276\145\240\252\350\172\332\040\155\020" + "\265\022\020\054\227\352\165\372\262\325\175\012\023\223\043\001" + "\075\135\002\220\253\375\137\021\374\157\322\334\137\162\234\117" + "\234\376\340\364\376\260\056\172\370\203\233\373\372\120\174\214" + "\130\155\133\335\032\053\304\000\074\046\070\114\261\161\112\062" + "\317\162\256\143\367\030\130\231\234\244\226\132\163\177\135\343" + "\122\136\057\037\107\211\241\212\227\360\077\034\262\332\157\022" + "\043\041\107\027\034\347\234\323\357\237\174\331\070\365\324\123" + "\315\036\232\276\101\050\336\266\372\035\130\041\202\277\353\311" + "\014\376\131\226\303\024\174\323\257\242\010\303\332\223\327\141" + "\132\262\165\272\106\111\153\171\370\214\176\114\053\027\051\351" + "\311\224\245\274\345\344\165\143\303\103\177\325\233\001\206\101" + "\113\325\266\212\244\124\137\263\145\175\011\300\071\306\330\330" + "\130\006\233\215\263\105\055\250\037\001\022\000\014\002\262\000" + "\034\146\330\221\126\360\227\311\246\061\272\146\353\352\064\073" + "\351\204\245\201\240\321\267\256\357\013\004\347\321\105\055\263" + "\120\111\221\140\230\344\177\137\270\346\277\216\076\222\104\070" + "\023\200\145\114\114\114\144\012\330\040\272\150\355\143\352\004" + "\040\103\176\334\330\143\240\314\014\047\305\373\157\124\142\053" + "\335\136\033\062\365\273\172\351\261\167\043\232\040\311\122\012" + "\376\020\174\015\150\222\277\137\365\150\322\202\277\061\334\064" + "\000\230\057\026\305\117\336\325\142\234\144\252\352\255\341\153" + "\105\202\374\261\246\202\257\021\312\052\334\117\257\321\022\076" + "\221\256\102\017\307\175\152\150\234\135\043\143\075\163\040\011" + "\260\002\363\167\164\331\016\000\004\117\112\274\132\224\057\042" + "\000\000\175\371\271\251\177\152\172\123\347\271\257\317\211\301" + "\074\334\344\370\153\115\111\002\150\042\240\111\000\016\003\145" + "\345\373\013\241\217\127\253\003\223\055\076\274\216\256\347\005" + "\054\235\236\064\007\046\061\062\201\232\137\111\253\126\215\204" + "\300\002\044\136\051\031\366\143\343\013\237\107\360\201\222\076" + "\000\255\357\354\317\235\360\361\223\273\077\277\045\047\337\062" + "\140\051\264\220\207\340\337\165\034\165\122\000\112\012\201\126" + "\110\357\304\043\205\331\106\106\001\172\232\010\230\236\021\107" + "\235\335\025\222\022\063\112\142\330\026\030\056\363\336\307\107" + "\013\177\366\057\317\217\077\006\140\232\000\264\001\150\016\217" + "\277\173\132\367\373\137\337\331\164\331\100\126\276\161\300\002" + "\365\032\014\301\336\121\325\012\072\331\014\024\075\124\276\012" + "\136\203\164\147\257\221\226\057\207\131\151\352\336\022\076\323" + "\315\143\205\353\104\160\111\142\324\223\030\266\341\015\057\172" + "\077\176\176\252\370\255\057\077\067\366\075\007\230\001\060\017" + "\140\236\340\073\343\131\000\171\000\271\340\230\175\377\306\326" + "\223\336\073\230\337\076\230\063\057\030\310\212\346\301\014\220" + "\047\005\250\006\076\270\273\006\344\061\120\124\276\146\250\025" + "\116\116\016\053\353\321\122\174\113\273\057\010\310\012\377\167" + "\130\133\225\216\000\221\220\230\145\003\103\016\141\270\244\046" + "\017\314\273\337\271\153\377\364\135\077\036\056\034\002\260\010" + "\240\010\240\020\234\227\302\240\223\001\337\031\317\300\007\101" + "\026\100\023\000\153\060\143\264\175\354\344\366\367\235\330\226" + "\331\076\320\144\234\264\256\211\320\153\002\244\216\015\255\300" + "\360\115\103\043\132\141\271\124\013\024\126\300\364\314\061\303" + "\165\202\047\014\214\272\002\103\145\360\360\242\367\323\347\247" + "\027\357\272\361\205\261\107\012\056\212\000\112\000\312\010\230" + "\036\374\154\000\321\114\107\030\204\012\201\140\301\007\101\046" + "\070\132\000\062\227\157\156\076\355\035\275\315\227\256\313\033" + "\347\256\317\031\231\165\131\201\246\143\310\127\160\002\363\120" + "\113\053\054\207\322\324\174\223\364\031\157\034\053\152\136\112" + "\024\130\342\220\115\070\264\310\363\103\213\345\373\036\334\077" + "\267\363\376\203\163\273\340\057\050\015\031\037\062\274\024\244" + "\207\213\115\143\023\360\172\064\322\200\077\052\063\121\001\100" + "\164\334\332\052\273\076\274\271\375\203\133\132\315\213\327\347" + "\314\015\033\162\046\172\054\000\336\321\033\106\352\304\014\024" + "\025\143\321\363\115\305\112\310\044\040\047\201\214\240\232\016" + "\341\232\022\021\224\060\060\346\012\034\052\051\034\132\164\137" + "\172\145\266\274\163\307\013\023\017\216\225\335\071\124\030\255" + "\037\155\370\323\302\341\026\362\310\216\327\162\146\165\060\230" + "\010\064\000\022\100\000\140\135\163\102\353\031\157\351\310\154" + "\037\314\033\147\155\150\316\030\033\162\022\031\126\100\003\073" + "\174\326\202\312\012\130\160\031\366\062\201\220\025\100\136\022" + "\314\143\105\315\013\211\105\030\070\130\146\014\055\252\342\201" + "\005\373\241\037\014\317\177\353\216\075\263\057\300\227\362\220" + "\341\145\355\072\144\174\362\337\311\104\264\024\246\365\175\176" + "\006\342\046\042\364\031\262\000\062\157\152\267\006\056\331\324" + "\174\321\306\274\361\241\015\315\126\357\246\226\014\272\114\034" + "\063\132\301\143\240\244\030\166\340\053\350\232\201\340\217\325" + "\315\300\256\147\004\241\316\227\163\327\220\010\154\030\030\167" + "\010\007\212\012\207\026\334\275\273\146\313\167\177\155\327\364" + "\075\173\347\312\323\250\060\073\224\364\062\052\052\076\311\370" + "\032\065\064\332\222\212\126\320\201\020\232\210\310\127\310\002" + "\271\153\116\152\071\363\015\255\326\245\003\171\363\364\315\155" + "\115\142\103\316\200\301\036\160\214\355\360\011\175\330\143\102" + "\265\353\044\044\312\044\161\260\310\330\277\340\070\207\026\235" + "\357\077\071\266\360\255\133\136\231\371\017\124\333\364\360\030" + "\252\370\160\047\021\320\200\053\164\070\257\236\324\012\272\211" + "\210\064\002\200\314\231\335\115\033\057\030\264\266\157\314\233" + "\027\156\152\315\266\157\156\155\102\273\311\307\214\126\070\266" + "\210\000\151\140\302\045\354\133\160\161\160\301\031\331\077\157" + "\337\375\315\135\323\367\074\073\143\217\302\147\164\021\025\000" + "\070\301\271\156\333\123\325\374\022\265\256\244\305\225\265\013" + "\360\101\140\242\172\024\221\151\067\220\277\152\113\363\171\047" + "\267\232\333\327\067\133\157\330\322\221\247\365\171\003\122\271" + "\376\322\241\137\144\022\002\216\060\160\240\250\260\157\276\354" + "\015\055\270\117\074\063\135\334\371\157\057\116\377\320\215\063" + "\074\124\361\341\321\105\345\077\213\057\213\351\072\255\206\362" + "\323\201\040\120\031\075\130\110\000\001\100\346\302\376\354\111" + "\147\367\145\266\257\153\222\357\333\334\221\317\157\155\153\102" + "\213\001\300\375\305\322\012\144\230\230\162\201\275\005\033\373" + "\347\355\251\175\005\347\336\173\367\317\337\365\243\361\342\101" + "\124\030\136\104\365\360\255\256\123\267\354\166\254\344\341\032" + "\345\205\046\102\067\017\125\243\207\301\014\332\076\262\071\177" + "\301\266\274\261\175\175\133\366\304\155\035\315\130\227\067\041" + "\074\347\230\010\060\035\021\042\001\127\032\070\270\350\141\317" + "\154\211\017\054\224\237\176\171\326\336\171\343\317\147\036\051" + "\270\130\104\272\123\147\043\156\333\127\314\364\130\223\126\253" + "\240\224\162\165\363\140\240\142\042\252\342\012\227\255\313\234" + "\366\366\056\363\322\165\071\343\234\255\135\255\231\255\355\171" + "\344\311\073\146\302\316\053\046\151\142\116\021\166\317\225\260" + "\147\146\161\376\140\301\275\377\221\221\205\235\017\014\227\136" + "\105\372\270\135\267\355\253\046\355\151\264\026\376\257\036\123" + "\320\175\205\052\040\234\224\223\235\227\156\310\134\264\071\157" + "\134\274\271\255\151\303\266\356\126\014\346\114\377\133\031\307" + "\233\126\020\002\112\232\070\270\340\142\327\314\002\016\314\225" + "\137\336\065\357\174\353\346\335\263\017\216\225\121\053\140\223" + "\264\355\165\207\160\253\101\153\071\000\112\152\205\320\127\250" + "\162\032\001\144\256\336\220\071\343\115\355\306\366\365\315\326" + "\231\333\272\333\214\255\355\071\144\161\034\150\005\151\240\240" + "\004\166\317\026\261\173\152\241\164\150\301\171\350\107\023\345" + "\157\335\171\160\361\171\304\003\066\272\155\327\003\066\253\256" + "\346\353\321\321\030\001\247\315\077\350\100\310\350\277\067\265" + "\313\201\017\365\233\027\157\314\031\027\155\351\152\351\075\261" + "\253\025\275\115\006\340\204\377\024\363\030\040\042\260\141\141" + "\150\321\305\253\223\363\330\073\123\334\267\157\321\273\353\033" + "\373\026\357\331\273\340\326\013\330\330\210\177\001\144\315\137" + "\350\150\207\100\222\116\143\322\127\320\003\114\115\127\157\262" + "\316\076\245\325\330\276\241\065\373\266\023\173\332\305\326\366" + "\046\230\352\050\152\005\051\121\144\211\135\263\105\274\072\061" + "\347\034\134\160\036\373\331\224\275\363\253\373\213\117\242\072" + "\064\253\073\164\372\207\036\327\114\332\323\350\150\003\100\247" + "\344\144\124\070\172\310\044\177\147\167\310\115\347\365\133\333" + "\327\347\214\017\154\353\156\155\073\271\273\025\235\226\000\134" + "\007\107\276\057\011\060\055\214\024\135\274\062\071\217\075\123" + "\363\043\373\026\324\267\277\175\260\170\367\063\363\336\030\322" + "\143\362\241\304\353\103\070\254\101\143\227\244\143\011\000\041" + "\245\071\215\372\172\205\310\151\154\063\220\377\330\246\354\371" + "\047\345\305\045\233\333\162\257\077\261\257\203\066\267\146\141" + "\170\316\352\207\235\205\104\231\014\354\236\131\304\053\143\263" + "\352\300\174\371\211\347\347\234\235\073\366\226\176\240\005\154" + "\222\322\036\252\370\206\342\362\107\203\216\105\000\204\224\234" + "\225\324\175\005\375\227\005\140\136\330\043\117\076\263\307\272" + "\164\103\336\174\337\211\275\355\271\223\272\132\320\146\040\320" + "\012\053\040\323\302\104\111\341\345\211\071\354\232\230\233\076" + "\260\340\334\363\300\230\275\363\207\123\336\101\124\063\075\215" + "\361\214\243\254\346\353\321\261\014\000\235\222\100\110\233\214" + "\312\000\310\014\144\320\166\345\206\314\373\267\346\344\366\055" + "\235\315\333\116\351\357\304\206\146\013\264\034\247\221\004\224" + "\141\142\367\154\011\057\215\116\361\276\331\342\063\077\237\367" + "\166\336\264\277\364\110\301\305\002\252\235\272\360\027\252\371" + "\065\031\302\255\006\035\057\000\320\111\237\214\322\303\316\172" + "\134\041\003\300\272\154\235\371\246\063\072\214\053\066\267\065" + "\275\347\204\236\166\271\261\055\207\066\123\002\312\365\035\307" + "\340\337\325\201\010\020\002\054\014\114\225\135\354\233\131\304" + "\256\361\151\173\317\274\175\357\243\343\316\067\037\030\163\302" + "\200\215\316\170\335\251\113\016\341\216\033\072\036\001\020\122" + "\354\233\304\210\117\106\305\114\304\351\155\162\360\375\375\346" + "\105\175\131\161\166\147\326\334\332\231\317\212\346\154\006\246" + "\364\127\173\330\256\207\271\222\215\251\205\242\067\135\162\137" + "\034\052\361\367\276\063\154\337\367\274\357\324\325\122\361\272" + "\264\037\167\214\017\351\170\006\100\110\365\002\114\372\317\002" + "\140\156\315\241\343\355\235\346\211\275\226\030\260\014\064\203" + "\241\112\212\346\107\112\336\301\037\114\070\273\206\313\230\107" + "\205\311\151\252\076\264\355\107\054\074\273\226\364\132\000\200" + "\116\265\326\052\350\077\063\270\027\346\005\052\122\034\306\337" + "\223\166\135\217\324\061\260\314\017\016\035\303\364\132\003\100" + "\110\172\200\111\217\053\204\240\320\377\323\111\050\301\041\000" + "\134\124\030\176\124\302\263\153\111\257\125\000\350\244\003\101" + "\077\206\246\043\044\375\003\314\311\317\262\276\146\351\027\001" + "\000\204\170\114\041\371\301\313\220\102\325\256\037\137\223\122" + "\257\323\057\002\000\200\070\303\323\230\017\304\231\375\232\147" + "\174\110\377\037\344\325\066\036\206\347\373\016\000\000\000\000" + "\111\105\116\104\256\102\140\202\000\000\050\165\165\141\171\051" + "\141\160\160\055\151\143\157\156\137\071\066\056\160\156\147\000" + "\042\043\000\000\000\000\000\000\211\120\116\107\015\012\032\012" + "\000\000\000\015\111\110\104\122\000\000\000\140\000\000\000\140" + "\010\006\000\000\000\342\230\167\070\000\000\001\167\151\103\103" + "\120\163\122\107\102\040\142\165\151\154\164\055\151\156\000\000" + "\050\221\165\221\275\113\102\121\030\306\177\152\121\224\021\121" + "\103\110\203\203\105\203\102\024\105\143\331\340\042\041\146\220" + "\325\242\067\077\202\253\136\356\125\102\132\203\226\006\241\041" + "\152\351\153\350\077\250\065\150\055\010\202\042\210\150\153\357" + "\153\011\271\275\107\005\043\362\134\316\175\177\074\347\074\057" + "\357\175\056\070\303\272\226\263\332\146\040\227\057\232\321\120" + "\320\273\024\137\366\166\274\342\302\103\037\223\220\320\054\143" + "\066\022\011\323\162\175\335\343\120\365\056\240\172\265\276\367" + "\357\352\136\113\131\032\070\072\205\247\064\303\054\012\313\064" + "\204\067\212\206\342\035\341\001\055\233\130\023\076\022\366\233" + "\062\240\360\265\322\223\165\176\121\234\251\363\207\142\063\026" + "\235\003\247\352\351\315\374\342\344\057\326\262\146\116\170\124" + "\330\227\323\113\132\143\036\365\045\356\124\176\161\101\252\107" + "\366\020\026\121\102\004\361\222\244\304\072\072\105\002\122\363" + "\222\331\377\276\261\232\157\236\202\170\064\171\033\224\061\305" + "\221\041\053\136\277\250\045\351\232\222\232\026\075\045\217\116" + "\131\345\376\067\117\053\075\061\136\357\356\016\102\373\263\155" + "\277\017\103\307\056\124\053\266\375\175\154\333\325\023\160\075" + "\301\145\276\351\057\110\116\323\237\242\127\232\232\357\020\172" + "\267\340\374\252\251\045\367\340\142\033\006\037\215\204\231\250" + "\111\056\331\316\164\032\336\316\240\047\016\375\267\320\265\122" + "\317\252\161\316\351\003\304\066\345\027\335\300\376\001\214\310" + "\375\336\325\037\012\176\150\016\106\067\223\257\000\000\000\011" + "\160\110\131\163\000\000\013\022\000\000\013\022\001\322\335\176" + "\374\000\000\040\000\111\104\101\124\170\234\355\175\147\220\044" + "\307\165\346\367\062\253\252\335\114\217\067\073\153\260\146\260" + "\013\113\020\013\020\226\044\010\020\013\103\302\121\044\034\101" + "\121\274\120\350\164\241\013\006\217\027\324\105\200\167\012\010" + "\272\043\051\305\031\062\104\361\042\204\270\020\017\202\241\050" + "\000\004\001\056\314\001\040\010\117\301\054\354\142\241\331\235" + "\365\146\274\355\151\133\125\371\356\107\226\355\351\036\267\063" + "\273\140\004\037\242\121\325\125\131\231\131\337\367\362\231\314" + "\354\131\340\367\362\173\371\275\374\136\116\232\320\311\356\300" + "\242\344\233\117\146\233\062\231\363\005\344\205\014\154\004\320" + "\002\142\046\140\114\101\365\053\320\157\163\143\223\357\340\236" + "\033\012\047\273\253\013\225\337\001\002\230\322\337\175\271\073" + "\311\164\073\210\156\141\246\325\000\313\232\105\011\016\030\007" + "\010\164\237\015\343\027\271\037\134\070\166\202\073\273\150\371" + "\130\023\320\162\347\113\227\202\304\355\104\342\012\060\067\001" + "\274\360\376\022\015\063\321\223\344\212\373\307\177\160\321\256" + "\025\354\346\161\311\307\216\200\326\377\364\233\065\302\114\136" + "\247\210\157\047\102\057\370\070\373\110\140\060\336\140\360\003" + "\154\047\236\235\370\233\363\247\226\251\253\313\042\037\017\002" + "\276\375\132\252\245\201\266\032\304\267\063\350\012\200\233\216" + "\033\370\331\242\000\032\044\126\217\262\064\036\032\335\165\160" + "\057\036\272\305\135\346\066\026\055\047\225\200\306\073\137\157" + "\113\030\374\145\101\174\013\003\247\001\054\116\104\273\104\242" + "\010\346\337\202\350\037\207\121\174\036\167\137\356\234\210\166" + "\153\366\345\204\267\170\327\116\253\003\063\027\020\350\016\042" + "\134\015\040\171\302\373\020\025\306\121\146\376\047\151\131\017" + "\017\374\227\255\007\117\164\363\047\210\000\246\366\357\355\350" + "\066\034\165\023\200\057\023\350\124\006\233\047\246\355\205\011" + "\001\323\000\136\142\302\003\203\023\316\033\370\341\045\305\023" + "\324\356\312\112\317\137\275\171\051\010\267\063\350\012\002\026" + "\027\311\234\024\041\146\302\207\000\075\134\220\346\103\123\167" + "\176\142\142\105\133\133\211\112\333\277\367\326\252\244\242\353" + "\130\340\016\200\116\005\057\035\164\076\216\147\175\041\042\136" + "\122\333\240\022\201\037\003\360\363\243\366\364\133\053\341\053" + "\226\217\200\273\166\132\153\323\225\117\200\161\073\024\256\141" + "\242\346\005\003\037\205\147\261\200\013\000\152\121\117\000\121" + "\102\026\326\132\005\300\107\040\276\337\341\374\063\203\337\375" + "\354\050\342\275\136\262\034\067\001\035\167\375\246\041\235\152" + "\276\001\240\257\262\240\117\100\261\061\367\023\034\071\314\001" + "\166\255\073\213\011\115\251\006\100\163\102\106\125\265\327\156" + "\212\010\103\304\170\032\312\271\367\300\167\317\357\233\257\326" + "\371\144\151\004\334\305\142\103\303\316\263\230\370\166\060\156" + "\142\205\246\371\037\122\163\267\027\275\063\347\050\130\110\227" + "\347\301\304\037\001\163\027\143\075\274\352\210\140\045\231\337" + "\144\246\007\046\307\207\237\235\370\233\155\113\112\360\026\105" + "\300\306\277\176\253\211\215\344\066\022\270\235\025\237\213\305" + "\204\220\363\231\226\272\367\375\313\113\361\005\121\333\137\003" + "\355\205\370\206\171\313\060\023\211\043\004\176\134\071\245\207" + "\367\277\265\277\177\061\011\336\202\136\152\343\217\166\256\223" + "\054\376\120\101\335\010\306\232\205\214\071\362\372\066\167\251" + "\072\367\043\306\240\156\133\265\352\256\003\126\225\145\231\243" + "\373\363\200\355\325\137\257\220\000\112\040\274\014\302\203\375" + "\273\136\175\036\367\374\251\075\147\175\325\175\213\112\357\337" + "\356\111\110\162\057\205\342\257\051\140\033\003\142\276\210\104" + "\104\172\067\253\154\164\064\327\253\047\270\256\017\341\213\126" + "\227\237\013\247\132\125\153\340\142\330\317\245\331\376\275\032" + "\316\075\210\250\250\276\357\027\104\114\204\143\304\174\077\052" + "\366\343\175\177\176\316\376\005\367\366\264\277\373\250\215\140" + "\174\201\131\175\103\001\247\202\347\163\252\236\004\257\123\113" + "\063\275\073\021\340\203\327\367\257\321\134\200\307\332\231\177" + "\324\056\100\313\051\332\347\010\250\341\245\205\370\211\152\307" + "\135\175\233\230\200\151\101\170\205\010\367\116\227\323\073\216" + "\374\307\265\261\004\057\170\174\375\117\367\047\033\213\316\237" + "\071\214\333\131\251\325\163\065\133\133\352\200\106\210\153\174" + "\030\004\121\254\014\120\173\144\054\103\036\240\333\250\241\361" + "\104\034\033\024\176\357\250\176\231\032\025\057\054\012\042\122" + "\202\150\227\024\364\120\156\120\336\167\340\356\015\245\240\251" + "\255\077\351\357\255\110\334\243\024\157\341\245\070\273\271\100" + "\252\241\043\101\033\024\014\215\270\315\231\023\364\205\366\257" + "\016\060\124\245\265\201\246\107\123\203\252\147\347\034\121\250" + "\115\156\275\242\040\226\102\354\005\341\337\177\360\247\233\076" + "\240\253\376\373\173\231\201\154\346\101\305\364\251\205\126\022" + "\310\042\234\054\127\225\047\242\320\044\315\145\276\142\155\160" + "\375\173\263\100\210\074\126\023\240\070\021\104\304\314\034\173" + "\246\206\055\235\337\157\054\120\044\321\036\023\174\203\061\336" + "\140\156\000\211\263\005\055\122\361\231\011\165\237\231\355\114" + "\051\132\336\003\216\210\164\031\212\227\017\201\145\075\112\330" + "\277\106\125\241\271\126\315\330\303\121\317\030\152\073\205\245" + "\002\240\374\013\354\021\113\044\104\024\104\277\217\125\327\352" + "\002\115\213\044\141\223\225\060\267\030\371\261\122\056\325\221" + "\254\270\222\026\034\323\163\015\360\051\370\037\142\212\072\013" + "\174\170\100\306\300\246\260\136\300\003\335\207\226\051\126\171" + "\325\250\233\245\002\262\032\060\100\153\173\164\360\125\225\041" + "\037\170\216\220\022\224\256\156\203\174\277\120\063\263\130\040" + "\011\102\051\316\035\236\124\306\107\357\365\037\071\375\234\055" + "\157\244\073\263\127\262\051\265\262\315\361\040\053\046\252\326" + "\374\210\142\316\046\047\004\070\004\073\362\235\202\121\102\344" + "\253\257\252\252\043\152\054\146\215\072\256\326\312\152\315\340" + "\330\103\202\330\357\161\064\350\321\332\313\210\177\367\133\234" + "\005\052\221\040\126\136\307\143\067\304\334\311\076\001\040\333" + "\345\302\110\356\215\111\333\336\105\000\260\351\073\257\166\312" + "\164\352\373\211\306\304\027\022\115\151\120\322\204\133\217\205" + "\072\166\277\166\216\020\215\176\142\367\043\266\077\064\067\261" + "\072\146\325\127\307\077\314\251\161\061\115\016\321\015\316\051" + "\054\243\321\011\043\236\331\076\045\366\175\116\115\257\161\117" + "\022\300\305\012\312\023\005\125\232\051\077\314\156\376\173\375" + "\077\370\354\110\354\245\326\377\371\253\237\064\114\363\153\126" + "\072\161\165\272\045\323\046\033\022\120\102\206\001\302\234\321" + "\116\374\036\303\245\232\367\111\040\000\123\253\020\151\023\257" + "\050\066\212\364\031\371\141\254\266\004\256\024\244\014\041\134" + "\111\321\345\113\002\263\022\212\131\272\212\245\255\130\124\115" + "\005\314\006\137\001\040\022\141\247\105\100\012\203\225\137\070" + "\016\072\144\125\164\064\107\244\005\100\020\100\256\013\047\127" + "\104\141\274\060\120\051\127\236\140\056\337\277\357\007\237\331" + "\035\326\131\343\361\015\337\172\256\123\244\263\067\230\011\343" + "\226\124\123\152\163\262\045\143\302\064\341\062\023\327\154\162" + "\356\350\045\076\072\252\115\022\007\145\265\371\012\313\021\063" + "\351\360\231\245\020\266\245\101\237\057\362\042\146\110\107\051" + "\243\242\224\160\271\306\050\360\115\012\303\047\204\020\067\101" + "\265\106\013\346\035\025\272\010\040\101\254\354\012\312\343\205" + "\162\141\272\260\123\225\053\377\124\052\117\075\165\344\207\327" + "\114\240\312\150\325\044\040\070\336\374\277\022\353\327\234\177" + "\201\221\116\336\221\156\110\135\225\152\311\044\254\246\064\354" + "\270\265\214\203\215\310\167\216\234\213\330\165\002\163\254\054" + "\203\365\330\000\023\230\111\220\022\202\034\113\220\062\164\224" + "\264\330\374\204\230\001\245\224\151\053\045\155\206\320\323\261" + "\321\021\020\230\037\057\014\023\125\140\253\310\071\205\347\125" + "\116\046\310\254\115\000\345\311\031\024\047\013\371\122\056\377" + "\204\135\050\076\170\340\211\107\337\105\377\217\155\304\201\217" + "\301\067\253\347\221\143\360\351\271\355\047\335\311\265\147\177" + "\305\112\245\277\334\330\221\335\220\154\312\010\116\230\160\225" + "\212\233\236\032\166\134\007\065\361\353\034\045\307\067\065\112" + "\011\041\224\041\310\266\004\051\157\274\057\076\061\244\330\211" + "\247\355\154\330\256\222\266\142\351\170\252\037\232\034\000\020" + "\344\167\066\246\375\172\304\327\047\100\022\001\345\012\227\047" + "\012\356\364\330\124\237\223\317\377\163\256\377\265\137\016\077" + "\376\237\175\155\127\210\244\230\125\307\131\004\124\073\112\021" + "\271\046\000\210\206\113\376\135\143\307\326\353\056\262\262\155" + "\267\246\232\033\056\156\350\310\246\144\072\111\016\021\230\043" + "\131\056\000\050\326\001\123\015\163\344\037\011\114\200\053\045" + "\271\246\020\216\011\016\315\314\242\062\233\072\057\021\273\310" + "\304\014\122\112\231\025\005\151\003\102\171\103\300\113\004\342" + "\107\100\033\102\060\202\321\241\065\222\330\200\202\063\123\342" + "\231\341\351\231\302\344\324\113\245\211\301\237\117\356\270\367" + "\355\334\216\355\171\304\201\137\022\001\121\320\375\121\040\042" + "\337\005\000\331\175\353\217\116\115\365\234\171\103\246\271\365" + "\246\206\316\246\216\124\153\003\071\102\100\371\332\035\204\376" + "\254\055\054\063\005\132\315\114\102\070\206\020\256\045\340\032" + "\304\114\014\256\343\325\226\117\174\000\031\304\012\322\166\331" + "\264\231\205\023\232\022\357\050\074\167\027\231\013\222\102\260" + "\164\034\024\306\162\310\215\116\035\051\116\214\074\062\263\347" + "\365\047\107\236\274\373\040\064\320\012\200\213\331\340\107\077" + "\300\161\022\120\375\221\150\335\224\134\163\323\137\135\225\152" + "\133\175\123\123\127\373\047\063\235\315\226\110\133\344\200\042" + "\166\337\037\005\256\024\344\232\202\312\011\042\020\373\344\234" + "\204\335\022\004\142\026\304\140\341\272\312\254\050\226\016\110" + "\250\152\337\140\020\330\311\225\060\063\074\125\234\036\032\172" + "\263\064\274\357\321\043\217\174\353\045\024\213\025\150\300\243" + "\240\373\347\012\307\111\100\024\170\377\134\242\026\001\376\047" + "\333\221\354\270\370\033\275\215\233\077\163\123\272\243\347\263" + "\115\335\315\355\311\346\006\162\245\040\206\153\010\124\022\104" + "\256\251\315\016\203\331\263\014\047\161\253\212\036\015\000\204" + "\140\060\263\142\323\146\066\053\002\302\025\256\313\305\261\031" + "\065\065\064\072\134\030\076\372\374\324\207\117\155\317\277\363" + "\320\201\162\056\127\001\140\043\004\077\012\172\365\010\250\046" + "\001\130\042\001\121\300\153\023\000\030\376\047\271\371\262\366" + "\123\076\167\315\365\315\353\326\377\261\321\324\333\320\330\325" + "\050\051\141\221\355\165\043\230\150\070\311\373\204\252\263\134" + "\123\002\052\137\342\351\241\031\307\236\334\075\064\272\173\357" + "\077\344\076\170\370\325\342\341\017\306\234\002\052\025\102\005" + "\004\007\245\171\011\210\202\037\045\001\130\002\001\076\011\363" + "\202\337\320\212\344\147\156\153\076\157\325\251\311\057\246\263" + "\342\323\014\044\246\313\275\362\330\314\345\211\242\270\330\114" + "\167\364\010\253\051\003\227\304\154\247\175\222\104\022\261\120" + "\056\052\023\063\050\214\036\126\031\176\305\136\325\360\233\162" + "\203\165\330\121\016\306\246\106\235\147\372\137\057\075\373\346" + "\366\334\076\150\315\167\042\237\050\001\376\171\324\024\055\231" + "\000\077\323\224\250\077\002\002\360\077\171\115\272\373\314\317" + "\066\176\276\271\303\270\116\030\264\211\050\134\111\143\326\136" + "\257\354\264\212\241\231\013\314\261\312\145\226\321\274\105\146" + "\332\233\011\011\013\316\102\075\357\102\312\055\220\116\002\101" + "\202\201\122\031\063\243\343\254\246\077\164\333\255\027\052\355" + "\351\267\355\204\234\122\240\140\006\212\205\000\203\121\050\027" + "\370\215\301\075\225\307\337\170\042\367\316\140\177\145\006\365" + "\011\360\317\253\315\220\377\026\013\046\240\372\350\003\036\020" + "\160\343\167\332\316\356\351\115\176\071\221\026\127\020\121\263" + "\316\146\203\210\315\007\037\120\040\146\206\162\231\034\145\320" + "\144\351\164\143\270\360\071\253\234\274\304\310\166\266\121\242" + "\271\001\145\046\324\316\264\043\135\257\217\350\202\204\010\110" + "\200\121\232\310\141\172\150\210\323\316\053\116\147\346\245\112" + "\223\265\333\225\102\061\010\034\131\367\145\042\100\010\350\170" + "\232\300\200\120\256\215\175\371\161\373\361\267\266\347\266\277" + "\377\302\314\030\146\003\137\155\212\252\035\361\242\011\210\231" + "\235\113\156\155\152\073\363\322\306\053\032\332\344\155\122\360" + "\031\254\273\106\314\336\254\043\051\200\101\112\353\021\024\063" + "\101\001\312\325\011\030\063\023\063\023\230\250\342\066\213\143" + "\371\317\231\123\352\323\106\272\355\064\112\167\144\111\131\026" + "\134\256\302\173\051\361\051\205\007\203\000\224\312\310\217\114" + "\162\151\174\047\267\232\257\330\253\062\057\073\246\050\050\277" + "\347\044\164\216\356\075\303\040\002\221\036\001\044\364\271\157" + "\030\110\317\261\027\313\045\365\353\321\203\316\103\317\335\073" + "\360\356\310\001\224\227\203\200\352\020\124\002\240\215\033\141" + "\135\374\047\335\233\073\127\047\156\065\054\332\006\102\047\300" + "\004\205\060\151\362\006\255\002\000\245\110\051\220\142\350\351" + "\145\006\224\142\002\074\142\000\057\313\121\004\006\154\067\051" + "\246\312\247\313\341\362\225\006\147\316\025\215\135\135\144\064" + "\246\341\300\313\053\352\200\033\223\252\162\202\000\203\025\354" + "\351\031\114\017\035\143\263\264\103\165\247\236\163\032\314\275" + "\256\041\313\114\104\114\202\230\024\000\001\046\341\257\314\350" + "\060\215\111\347\003\302\033\011\020\102\317\000\022\042\123\331" + "\004\010\224\331\245\276\142\216\177\261\347\225\211\247\237\271" + "\157\152\024\263\115\321\222\010\020\035\147\300\272\343\073\353" + "\256\111\064\030\267\222\340\013\230\221\210\276\260\236\273\001" + "\224\342\220\000\126\304\012\120\312\063\106\112\247\240\336\063" + "\024\230\045\002\261\046\207\302\014\031\224\167\326\210\341\302" + "\305\062\107\333\144\103\307\032\152\350\154\201\055\244\046\242" + "\052\263\236\115\014\261\044\100\072\066\162\103\223\050\214\356" + "\343\146\172\326\355\114\277\341\046\215\041\046\015\046\003\036" + "\250\004\366\146\105\003\002\100\140\241\327\021\064\061\344\221" + "\102\221\154\331\063\113\004\337\064\005\035\030\126\016\377\277" + "\251\101\365\263\173\276\175\160\027\346\316\007\352\022\100\337" + "\376\077\233\066\044\232\361\045\051\160\033\023\257\342\310\154" + "\110\110\000\103\271\040\305\014\166\031\052\000\131\351\051\346" + "\200\000\015\272\017\036\107\276\263\367\035\100\110\222\142\142" + "\020\051\066\061\126\074\117\016\227\057\023\146\353\005\242\261" + "\253\035\062\225\040\007\004\025\061\121\004\117\333\241\340\314" + "\024\061\075\064\314\074\365\057\252\053\365\202\152\115\176\240" + "\210\134\235\170\170\200\013\021\254\033\151\320\165\302\305\360" + "\001\326\043\000\036\041\054\264\041\326\327\050\314\224\211\010" + "\044\342\123\027\076\270\202\210\131\321\233\166\205\037\034\332" + "\137\172\356\037\277\173\164\162\136\002\156\276\013\326\151\347" + "\236\172\256\020\364\165\305\356\225\014\064\126\227\341\030\001" + "\236\306\053\206\353\050\155\343\125\070\235\020\000\255\301\012" + "\264\034\232\030\122\072\013\046\146\200\010\244\030\344\233\053" + "\046\355\127\210\001\027\222\162\345\015\142\270\164\271\050\312" + "\163\051\221\355\206\225\112\221\064\365\257\125\335\212\203\162" + "\241\300\225\334\061\144\360\226\352\112\275\240\062\346\021\155" + "\037\311\037\154\236\346\123\250\321\000\130\010\241\357\123\170" + "\037\000\204\010\210\360\314\217\046\100\137\047\010\203\070\130" + "\107\257\332\065\101\061\200\111\101\140\200\230\036\125\045\361" + "\360\053\037\366\355\175\341\156\070\221\262\132\376\362\361\323" + "\267\102\250\073\025\253\013\101\112\207\220\276\123\235\207\000" + "\337\024\261\002\134\207\311\161\135\260\033\261\377\336\163\336" + "\210\360\273\113\140\025\230\043\242\300\151\107\106\213\236\010" + "\126\221\266\034\225\241\274\323\203\242\323\115\066\067\200\024" + "\223\151\114\163\112\016\162\306\074\006\051\112\101\010\346\001" + "\012\317\070\262\320\113\021\034\005\233\000\075\023\352\247\347" + "\172\111\121\233\040\241\137\127\020\230\004\261\141\022\264\337" + "\010\235\364\174\004\350\013\314\172\011\224\212\104\362\065\227" + "\371\107\377\365\272\177\335\021\020\360\337\236\071\363\166\327" + "\165\276\317\314\011\124\111\304\364\300\067\031\301\167\025\154" + "\163\010\352\362\301\163\035\105\216\255\340\330\052\320\053\035" + "\344\301\137\013\010\154\277\067\112\374\125\022\342\210\071\242" + "\350\310\211\222\356\175\321\334\305\365\002\172\153\040\050\214" + "\152\175\273\257\001\014\375\200\247\331\336\065\017\160\337\007" + "\220\247\351\206\051\130\170\304\004\244\171\310\372\165\370\230" + "\123\215\215\134\124\115\220\020\266\140\361\375\277\270\166\327" + "\337\323\367\236\076\157\225\113\371\247\000\356\234\023\374\360" + "\052\205\367\103\002\242\116\066\170\226\001\166\231\154\333\045" + "\307\126\120\056\364\214\047\163\340\006\331\233\043\366\314\022" + "\010\332\024\205\004\204\016\074\234\302\256\106\334\173\061\357" + "\357\026\370\332\257\011\240\200\000\012\000\327\217\373\141\247" + "\357\200\265\375\047\010\001\066\054\301\122\112\210\150\150\032" + "\061\121\001\330\301\061\130\275\231\025\263\125\023\240\105\344" + "\135\207\277\150\024\013\345\346\144\043\032\153\305\165\265\103" + "\357\230\017\216\027\346\310\065\017\045\226\004\141\012\130\014" + "\270\266\213\112\331\205\143\253\340\176\260\354\053\374\167\004" + "\004\303\137\226\045\275\047\201\301\360\362\073\317\237\104\173" + "\033\073\367\302\010\157\041\202\204\137\074\210\170\302\162\176" + "\131\241\223\054\030\246\010\076\176\013\321\162\101\303\261\160" + "\304\337\300\021\054\121\373\157\126\263\177\221\176\246\015\145" + "\266\031\175\357\035\032\332\170\146\327\164\163\207\231\252\316" + "\102\253\343\157\101\161\320\331\137\274\206\014\156\204\333\171" + "\264\023\366\126\303\100\000\244\220\260\022\006\134\127\241\122" + "\162\141\127\024\224\122\272\273\361\205\065\370\053\364\104\014" + "\126\221\267\246\120\307\030\221\227\363\064\077\030\237\076\346" + "\125\114\221\277\317\207\164\033\102\010\230\011\001\063\041\041" + "\205\336\030\243\003\043\157\323\227\027\351\304\260\013\274\030" + "\001\120\341\006\263\260\351\030\166\325\073\125\210\010\305\234" + "\133\076\274\373\350\224\334\365\142\271\170\312\171\054\004\031" + "\227\144\262\111\051\244\027\132\011\002\021\221\020\204\340\103" + "\372\032\351\143\160\056\010\040\101\344\077\343\337\023\301\167" + "\220\040\002\244\040\101\040\041\004\031\011\011\063\041\111\112" + "\351\073\142\015\217\106\214\102\254\164\035\341\135\362\256\170" + "\175\020\101\137\064\020\301\071\042\327\375\241\245\313\013\042" + "\230\011\201\104\306\104\052\143\300\064\045\204\324\357\110\321" + "\167\215\274\273\337\226\220\244\263\142\341\275\067\205\165\372" + "\355\305\352\021\341\167\022\002\140\201\211\221\242\173\170\377" + "\330\175\367\346\306\037\326\334\334\005\161\263\150\274\061\335" + "\230\374\213\366\316\206\356\366\236\054\014\123\351\051\204\270" + "\002\305\374\202\077\223\251\257\063\001\072\300\216\226\323\216" + "\067\274\026\070\137\150\345\141\322\321\242\143\063\225\113\016" + "\125\312\256\316\025\264\237\210\076\007\020\010\312\123\136\012" + "\007\275\102\240\161\034\156\126\041\016\042\041\077\112\220\304" + "\126\102\162\042\151\262\060\374\173\136\016\040\264\343\215\206" + "\254\236\121\364\222\062\300\017\214\375\015\144\176\210\213\300" + "\220\206\366\076\152\074\004\111\266\113\300\310\300\024\306\206" + "\147\016\025\162\245\037\355\037\230\171\144\307\075\260\143\000" + "\137\373\115\044\062\055\215\327\110\123\334\326\336\335\164\161" + "\107\167\143\242\241\331\002\310\015\052\214\073\346\050\001\241" + "\243\324\337\211\174\222\130\205\001\233\257\355\314\272\257\141" + "\064\244\337\133\271\240\112\311\101\271\354\222\153\053\135\106" + "\227\045\223\100\046\110\030\265\214\052\364\324\244\315\120\025" + "\046\146\335\003\006\010\206\045\330\112\032\154\131\022\044\065" + "\350\136\277\331\217\170\230\310\233\204\323\075\362\103\111\022" + "\024\234\173\275\016\265\062\112\214\277\355\311\117\350\000\260" + "\222\310\115\224\061\162\154\272\060\066\234\173\321\121\316\203" + "\007\267\347\137\334\261\003\166\130\105\134\010\000\365\366\302" + "\074\343\246\314\226\144\203\161\153\246\051\371\205\356\065\315" + "\135\055\235\151\062\054\200\071\064\326\034\213\210\302\050\110" + "\067\216\220\000\057\236\327\141\254\316\007\374\345\310\020\174" + "\104\046\200\365\065\307\166\141\027\035\201\212\053\014\300\233" + "\167\342\170\157\165\371\340\134\220\366\337\066\101\261\145\050" + "\063\151\260\064\105\100\106\144\032\042\000\317\213\146\252\256" + "\105\102\327\150\270\031\215\210\374\156\170\004\220\127\310\056" + "\203\307\007\363\152\350\330\344\221\374\124\371\361\142\136\075" + "\262\375\205\334\136\354\210\315\013\325\047\040\362\021\237\272" + "\071\323\332\323\053\256\155\150\064\157\153\353\312\176\142\325" + "\051\315\224\156\064\240\340\204\004\350\052\075\300\343\041\243" + "\017\046\105\354\274\067\227\343\205\237\114\172\317\020\105\315" + "\016\111\100\230\140\041\211\310\165\230\312\105\007\345\202\015" + "\065\353\167\101\361\110\101\112\102\042\155\040\221\064\040\044" + "\261\315\340\012\310\165\010\156\020\117\105\023\061\362\007\041" + "\263\360\267\237\104\010\010\263\344\310\250\101\114\135\100\040" + "\026\060\061\063\131\301\300\301\011\065\066\222\173\075\077\155" + "\377\374\360\373\063\277\176\347\051\114\171\235\254\265\064\071" + "\077\001\221\217\274\342\117\122\147\147\073\315\073\332\073\063" + "\227\257\132\327\332\332\326\235\202\220\212\124\270\047\334\003" + "\337\073\052\210\140\157\220\316\150\211\174\240\103\215\366\342" + "\120\042\301\054\044\303\060\240\263\174\216\274\042\274\212\355" + "\212\202\135\161\341\072\052\334\101\050\164\010\151\132\122\207" + "\220\325\057\105\140\305\200\115\344\124\300\056\023\051\117\015" + "\164\302\005\341\005\272\036\350\204\010\111\376\176\241\131\232" + "\317\002\002\116\205\060\072\124\340\143\007\307\207\046\207\013" + "\317\216\035\051\075\370\362\375\166\077\146\057\125\062\226\110" + "\000\041\276\010\143\234\173\255\325\275\372\064\163\133\163\147" + "\352\053\135\153\232\067\166\255\315\032\351\106\011\305\056\005" + "\111\231\007\264\336\156\022\072\336\050\001\236\157\040\311\154" + "\030\014\051\353\376\020\260\266\321\347\100\031\051\166\165\116" + "\041\260\003\162\053\004\207\005\034\206\237\200\105\166\011\107" + "\247\245\147\021\100\114\054\120\230\126\074\160\170\262\062\174" + "\144\252\157\174\250\370\320\376\267\335\027\372\136\055\217\102" + "\273\242\172\153\303\013\046\000\125\340\373\144\104\127\304\144" + "\363\052\244\316\276\052\165\176\307\032\363\306\256\325\115\237" + "\357\071\245\325\154\135\225\206\213\212\066\071\112\257\133\370" + "\023\153\100\220\041\223\140\110\251\330\224\314\122\040\360\003" + "\065\100\136\274\324\361\321\263\353\046\162\053\304\216\053\104" + "\205\005\124\150\363\341\115\003\052\370\331\061\210\130\052\013" + "\303\307\162\074\160\160\274\070\164\170\372\231\241\103\225\137" + "\275\373\313\362\173\245\122\260\020\123\157\145\254\032\374\071" + "\011\360\217\165\127\304\020\041\301\373\030\353\317\063\273\267" + "\134\224\270\241\155\125\342\252\165\275\235\353\273\326\064\122" + "\062\115\244\330\211\256\005\010\341\262\151\050\230\222\365\037" + "\336\343\320\167\254\250\324\043\305\267\363\256\200\355\010\252" + "\270\102\157\362\363\273\044\204\311\305\234\313\103\207\246\371" + "\100\377\360\236\361\201\362\323\273\136\054\074\065\320\207\161" + "\304\027\346\175\260\243\043\200\261\214\004\370\243\041\012\276" + "\177\064\262\011\044\262\006\122\253\126\045\133\332\267\312\117" + "\065\156\062\257\352\130\333\164\346\332\115\155\251\246\026\113" + "\112\070\011\251\224\031\072\343\332\262\022\104\054\164\104\020" + "\201\025\221\353\112\121\161\330\250\114\214\226\324\341\275\243" + "\063\203\207\246\337\076\326\127\176\262\357\325\322\173\323\143" + "\230\301\354\235\021\321\005\371\025\131\023\216\232\240\330\110" + "\110\001\146\066\011\063\153\040\231\066\314\244\041\015\313\121" + "\266\231\066\145\346\306\263\214\133\345\132\272\165\244\067\223" + "\152\332\330\112\075\247\064\201\114\027\376\266\343\225\326\372" + "\132\062\027\031\002\022\166\111\340\330\201\011\344\367\216\253" + "\346\175\245\221\375\375\366\217\037\175\267\364\162\331\105\311" + "\005\312\266\215\112\045\116\200\133\343\243\152\174\200\105\022" + "\120\053\022\212\221\220\321\340\133\315\126\042\221\064\330\254" + "\050\066\277\320\141\364\136\324\052\156\354\260\304\027\015\102" + "\013\203\311\045\302\241\066\240\157\265\000\116\157\103\327\206" + "\026\144\333\054\050\162\342\223\113\047\130\264\163\045\220\062" + "\060\071\134\306\320\276\161\030\175\023\330\162\224\261\172\022" + "\020\314\040\046\316\273\274\163\157\336\175\364\147\207\052\317" + "\274\074\341\214\101\023\120\275\061\253\226\346\107\267\246\004" + "\321\023\226\100\100\224\210\300\364\144\062\060\232\025\314\363" + "\333\254\226\077\350\266\056\133\233\244\133\223\202\266\012\342" + "\124\055\063\243\004\060\236\046\354\356\026\030\351\115\243\355" + "\324\166\264\367\064\100\046\302\121\161\242\204\040\341\024\011" + "\303\107\162\230\332\063\212\356\275\105\154\032\002\262\105\075" + "\033\253\205\043\100\060\073\214\201\011\233\237\374\227\121\373" + "\341\377\335\137\356\233\324\177\107\250\336\276\240\145\335\031" + "\067\053\047\150\004\344\177\350\065\327\135\332\235\374\132\243" + "\024\067\231\304\033\170\036\163\253\247\375\001\027\002\005\023" + "\070\324\306\330\277\316\200\171\132\053\126\157\150\103\246\111" + "\300\305\274\177\337\342\270\104\302\102\156\314\306\221\375\143" + "\020\377\072\216\215\207\025\326\115\000\226\267\110\030\175\201" + "\060\061\206\037\231\172\357\201\122\321\305\253\003\045\176\340" + "\057\167\346\236\331\135\104\011\365\267\046\036\367\336\320\030" + "\011\067\167\043\363\365\215\015\227\265\230\306\327\023\202\257" + "\045\100\316\005\174\330\155\037\374\140\047\113\160\157\244\221" + "\321\327\305\310\365\066\242\353\264\116\264\255\112\101\130\313" + "\067\052\010\002\116\111\140\364\130\001\043\273\006\321\266\257" + "\210\055\103\204\326\202\077\177\023\355\145\374\250\323\202\130" + "\342\033\055\313\016\150\140\306\341\173\077\234\264\037\371\326" + "\007\205\176\204\116\271\136\004\024\175\365\071\011\000\042\300" + "\337\267\065\273\166\135\126\176\045\055\360\107\002\334\013\275" + "\027\264\246\204\255\120\244\145\362\172\025\137\036\212\366\250" + "\150\001\373\332\031\107\116\061\221\332\334\212\236\115\255\110" + "\066\000\114\056\020\173\152\041\242\155\173\141\112\341\150\377" + "\030\234\075\343\070\345\220\203\365\343\002\111\273\372\105\071" + "\162\136\173\024\324\043\041\122\162\252\242\360\322\264\343\334" + "\363\370\376\334\157\177\162\024\063\130\206\337\007\310\347\077" + "\235\335\232\115\310\077\023\204\057\022\243\255\126\323\325\265" + "\372\140\003\200\212\220\200\052\360\143\075\211\224\161\211\061" + "\224\145\354\136\305\050\236\326\204\236\115\035\350\130\235\206" + "\113\145\314\107\004\201\100\052\201\241\103\063\030\330\073\202" + "\246\276\034\066\017\022\072\146\342\277\161\014\137\164\056\355" + "\017\011\212\370\202\232\345\042\017\050\305\330\151\263\370\331" + "\276\174\351\247\137\175\075\077\206\305\022\360\233\317\065\067" + "\145\015\363\113\006\251\177\013\360\205\363\231\030\157\235\075" + "\246\355\265\132\253\245\077\263\172\124\045\171\013\330\323\341" + "\342\350\206\004\332\316\352\106\173\117\006\251\006\011\220\012" + "\114\024\101\057\164\344\247\034\214\034\235\301\324\007\003\070" + "\345\240\203\336\121\211\204\123\013\320\205\150\176\330\303\230" + "\135\216\314\116\315\065\042\010\140\046\052\052\246\107\154\227" + "\377\357\223\203\143\257\334\275\053\160\160\265\011\170\353\312" + "\226\165\226\224\177\004\306\067\010\363\073\125\100\153\270\336" + "\307\131\017\364\270\104\137\171\256\321\120\175\275\042\201\303" + "\315\012\207\073\201\134\207\011\253\045\015\063\145\200\031\160" + "\012\025\124\046\112\150\032\266\161\312\010\260\172\112\300\364" + "\047\352\042\365\324\002\065\172\175\056\023\124\175\237\310\237" + "\235\236\137\210\120\001\350\135\046\361\017\005\033\277\274\350" + "\327\303\103\261\072\377\376\074\230\227\166\165\176\123\060\337" + "\311\212\333\027\120\147\114\264\267\041\070\034\232\234\352\373" + "\261\163\366\317\353\217\210\132\327\374\322\266\144\344\055\175" + "\004\003\226\113\310\124\010\106\225\317\256\125\173\000\042\315" + "\056\267\020\002\004\000\101\034\070\307\305\210\067\052\006\101" + "\364\077\077\074\070\374\343\133\166\241\102\067\003\362\256\153" + "\273\376\207\001\365\255\271\246\010\026\052\076\021\016\042\233" + "\162\252\312\324\162\302\265\277\057\245\073\263\065\266\372\173" + "\355\121\341\047\146\263\315\023\221\077\007\303\163\375\035\305" + "\005\013\021\261\042\172\340\347\007\206\376\230\376\371\362\236" + "\055\347\244\334\327\300\334\272\014\165\007\242\000\070\114\260" + "\021\154\216\006\060\277\331\341\132\027\027\053\124\233\272\172" + "\316\263\246\137\040\255\355\046\161\060\035\274\254\102\124\231" + "\140\134\146\034\050\242\375\354\264\110\032\264\274\231\250\200" + "\216\123\023\000\134\006\052\014\330\125\123\375\214\272\221\304" + "\262\110\075\240\343\347\125\376\200\010\046\351\137\275\013\177" + "\035\165\005\104\221\060\007\012\334\142\374\164\327\330\360\271" + "\227\164\035\136\157\072\133\004\257\314\164\200\044\300\002\240" + "\300\050\053\102\205\375\077\025\060\173\052\310\177\335\372\206" + "\244\236\314\155\274\250\352\002\105\316\310\353\243\111\132\343" + "\105\215\122\313\051\114\002\003\216\071\276\175\260\060\050\107" + "\313\156\312\224\346\241\266\114\342\302\106\113\144\055\322\033" + "\211\274\335\067\313\372\021\104\260\004\220\024\336\057\126\340" + "\157\125\233\135\066\276\277\147\041\237\171\332\217\374\047\374" + "\043\021\054\101\110\111\040\045\064\001\142\276\172\226\372\021" + "\004\026\022\171\062\261\327\066\046\136\035\257\174\357\207\357" + "\016\275\106\000\332\000\264\136\334\221\331\364\007\275\315\377" + "\146\163\326\270\246\307\342\154\273\144\350\021\261\262\263\225" + "\016\003\145\105\050\251\271\043\240\371\144\076\135\215\336\227" + "\004\044\004\140\021\103\256\214\222\307\132\166\111\140\304\225" + "\070\146\323\150\337\264\375\364\013\207\247\036\172\372\160\156" + "\047\200\011\202\376\363\303\031\350\337\002\144\127\047\215\266" + "\333\066\267\134\171\126\113\342\372\215\031\171\172\227\305\106" + "\206\324\212\117\033\063\200\262\002\112\012\361\277\306\262\004" + "\251\347\200\115\241\065\335\132\161\320\001\220\100\216\045\006" + "\035\121\331\227\167\337\177\157\264\364\330\375\037\015\275\060" + "\341\140\012\372\037\213\310\001\310\373\241\255\011\355\057\063" + "\000\322\000\122\055\006\232\256\136\333\164\306\205\135\251\353" + "\117\155\064\077\273\066\055\262\055\222\111\242\216\252\056\223" + "\060\364\250\050\171\144\324\374\175\130\035\251\205\253\257\355" + "\111\241\317\127\014\173\317\244\072\044\060\356\112\076\134\306" + "\330\356\151\373\371\227\216\346\236\174\366\350\144\137\321\306" + "\014\200\074\200\002\200\042\200\022\020\356\214\253\046\042\001" + "\217\010\000\251\363\333\254\265\333\326\064\176\376\314\226\304" + "\165\033\062\346\206\325\111\201\004\226\062\101\266\070\161\131" + "\217\212\202\213\005\377\226\330\177\041\223\200\224\324\340\317" + "\361\147\334\226\107\110\240\010\211\143\025\302\276\274\373\321" + "\316\361\322\343\333\017\116\274\260\153\274\074\004\015\166\001" + "\032\360\022\364\032\202\277\230\123\123\041\374\105\027\013\332" + "\074\045\021\222\221\374\303\115\331\213\266\266\133\327\237\226" + "\115\136\264\056\143\064\264\232\004\301\053\377\257\101\151\042" + "\030\225\252\121\021\215\156\004\000\113\000\031\111\250\261\075" + "\150\231\205\340\012\201\161\107\340\140\211\047\373\046\053\257" + "\374\166\070\367\313\207\372\247\336\207\006\075\372\051\043\004" + "\135\305\153\251\057\301\202\073\102\062\122\000\322\046\220\071" + "\257\323\132\173\165\117\372\332\323\233\122\333\066\144\315\065" + "\075\111\103\046\116\200\257\120\254\175\204\303\034\020\041\010" + "\060\211\140\320\211\321\366\022\004\216\225\341\354\317\273\373" + "\167\115\224\237\172\342\340\324\163\157\217\026\216\042\064\057" + "\005\150\320\053\010\327\007\152\306\370\013\355\156\224\210\004" + "\074\323\004\040\335\235\104\313\365\153\032\057\070\267\055\361" + "\245\055\115\211\363\116\151\114\030\315\046\120\143\017\341\357" + "\266\110\211\061\233\160\250\250\052\173\246\052\257\276\061\122" + "\170\374\261\275\343\073\046\034\114\103\003\356\233\031\037\370" + "\350\337\212\250\053\113\230\117\202\204\366\025\026\102\042\122" + "\000\322\237\351\260\326\177\276\053\171\375\231\255\251\155\275" + "\315\251\356\125\151\203\054\254\374\250\130\061\041\102\011\022" + "\003\145\305\173\246\355\103\037\115\224\236\376\325\241\251\047" + "\336\036\055\037\103\250\355\276\103\055\043\334\045\261\340\027" + "\136\352\200\365\211\060\020\072\356\300\151\237\232\061\072\266" + "\255\262\056\371\144\133\342\372\315\055\231\263\326\147\223\211" + "\254\001\235\127\174\334\271\040\100\221\300\224\113\174\160\306" + "\056\356\236\052\277\263\143\254\364\253\355\207\163\157\036\235" + "\161\306\021\152\173\324\266\107\227\041\027\333\334\161\113\324" + "\151\127\107\120\351\233\172\222\147\137\330\156\136\173\106\113" + "\152\133\157\153\046\333\223\261\040\324\311\335\216\122\123\210" + "\340\012\003\107\012\016\366\116\227\307\166\216\027\237\172\155" + "\070\377\364\123\107\112\273\061\333\266\327\165\252\213\156\366" + "\170\373\135\125\227\077\007\027\163\332\000\122\335\111\064\177" + "\165\155\352\232\323\233\022\327\236\321\331\170\372\206\154\322" + "\150\064\010\120\047\367\337\323\144\041\061\345\000\007\162\225" + "\312\207\343\371\367\167\115\224\267\377\264\177\372\327\071\007" + "\063\230\155\146\216\113\333\153\311\112\304\014\076\021\276\257" + "\360\235\166\022\100\272\305\100\366\212\016\363\214\113\273\222" + "\137\332\334\222\276\170\163\133\103\123\147\322\040\003\356\211" + "\063\117\104\260\041\060\130\164\170\317\104\161\254\157\242\364" + "\322\213\303\205\307\136\032\056\355\236\326\011\123\064\204\214" + "\306\355\313\076\067\263\342\101\033\342\116\073\232\127\244\317" + "\157\226\153\076\327\141\135\161\156\107\352\246\315\255\015\153" + "\067\266\244\051\265\222\116\233\004\146\230\260\157\262\310\175" + "\023\205\075\357\214\026\036\175\146\240\364\342\256\151\167\020" + "\265\023\246\105\073\325\105\167\151\245\052\256\041\325\276\042" + "\210\236\114\040\175\313\032\363\123\237\154\261\156\070\247\073" + "\173\161\157\113\103\246\053\145\150\137\161\334\102\160\204\304" + "\140\301\101\377\104\141\352\335\341\351\227\337\034\267\037\373" + "\305\221\222\237\060\105\247\006\252\103\310\025\227\023\111\200" + "\337\136\365\250\210\071\355\317\264\312\365\227\165\046\256\072" + "\263\055\165\365\031\235\331\065\153\033\223\042\275\204\004\217" + "\111\040\257\010\007\247\112\316\256\165\012\262\266\000\000\001" + "\105\111\104\101\124\221\351\003\273\046\112\117\076\073\130\172" + "\376\255\111\367\010\146\333\366\250\266\237\320\004\346\104\023" + "\120\335\166\324\151\047\020\061\117\335\006\232\256\133\155\135" + "\272\265\055\171\375\351\035\015\237\072\243\243\111\066\233\000" + "\334\171\234\266\064\060\122\166\361\321\350\114\145\327\350\364" + "\253\073\306\052\333\037\075\132\176\043\247\023\246\050\350\076" + "\360\053\142\333\027\052\047\223\200\250\104\107\205\117\204\037" + "\101\045\057\151\225\353\257\355\266\156\071\247\063\173\371\206" + "\326\114\107\107\312\102\306\020\060\275\171\207\212\142\344\155" + "\205\341\102\231\373\307\363\203\357\215\314\074\363\330\221\362" + "\303\357\345\334\001\304\265\275\210\370\316\346\223\036\013\177" + "\134\010\360\045\370\035\032\064\031\076\021\051\000\231\063\262" + "\350\274\244\305\332\332\333\150\234\327\234\060\327\047\044\065" + "\063\101\225\154\065\061\121\161\367\367\347\234\067\137\031\055" + "\277\267\047\217\021\304\201\257\266\355\037\233\171\222\217\033" + "\001\121\211\022\021\035\025\176\262\147\040\376\143\171\033\032" + "\344\022\342\116\165\131\022\246\225\222\217\063\001\276\124\373" + "\012\013\232\224\132\004\370\044\054\173\302\264\122\362\273\100" + "\200\057\276\237\210\376\110\044\272\211\242\372\007\022\037\153" + "\340\175\371\135\042\000\010\303\130\021\371\016\314\336\002\376" + "\073\001\076\000\374\177\163\346\365\065\257\277\063\072\000\000" + "\000\000\111\105\116\104\256\102\140\202\000\000\050\165\165\141" + "\171\051\141\160\160\055\151\143\157\156\137\066\064\056\160\156" + "\147\000\000\000\000\000\000\000\162\024\000\000\000\000\000\000" + "\211\120\116\107\015\012\032\012\000\000\000\015\111\110\104\122" + "\000\000\000\100\000\000\000\100\010\006\000\000\000\252\151\161" + "\336\000\000\001\167\151\103\103\120\163\122\107\102\040\142\165" + "\151\154\164\055\151\156\000\000\050\221\165\221\275\113\102\121" + "\030\306\177\152\121\224\021\121\103\110\203\203\105\203\102\024" + "\105\143\331\340\042\041\146\220\325\242\067\077\202\253\136\356" + "\125\102\132\203\226\006\241\041\152\351\153\350\077\250\065\150" + "\055\010\202\042\210\150\153\357\153\011\271\275\107\005\043\362" + "\134\316\175\177\074\347\074\057\357\175\056\070\303\272\226\263" + "\332\146\040\227\057\232\321\120\320\273\024\137\366\166\274\342" + "\302\103\037\223\220\320\054\143\066\022\011\323\162\175\335\343" + "\120\365\056\240\172\265\276\367\357\352\136\113\131\032\070\072" + "\205\247\064\303\054\012\313\064\204\067\212\206\342\035\341\001" + "\055\233\130\023\076\022\366\233\062\240\360\265\322\223\165\176" + "\121\234\251\363\207\142\063\026\235\003\247\352\351\315\374\342" + "\344\057\326\262\146\116\170\124\330\227\323\113\132\143\036\365" + "\045\356\124\176\161\101\252\107\366\020\026\121\102\004\361\222" + "\244\304\072\072\105\002\122\363\222\331\377\276\261\232\157\236" + "\202\170\064\171\033\224\061\305\221\041\053\136\277\250\045\351" + "\232\222\232\026\075\045\217\116\131\345\376\067\117\053\075\061" + "\136\357\356\016\102\373\263\155\277\017\103\307\056\124\053\266" + "\375\175\154\333\325\023\160\075\301\145\276\351\057\110\116\323" + "\237\242\127\232\232\357\020\172\267\340\374\252\251\045\367\340" + "\142\033\006\037\215\204\231\250\111\056\331\316\164\032\336\316" + "\240\047\016\375\267\320\265\122\317\252\161\316\351\003\304\066" + "\345\027\335\300\376\001\214\310\375\336\325\037\012\176\150\016" + "\106\067\223\257\000\000\000\011\160\110\131\163\000\000\013\022" + "\000\000\013\022\001\322\335\176\374\000\000\022\241\111\104\101" + "\124\170\234\355\133\151\220\135\305\165\376\276\323\367\355\263" + "\152\106\063\043\151\100\253\301\070\142\163\042\004\362\002\056" + "\003\306\330\262\015\102\162\311\021\266\313\361\237\124\122\261" + "\135\225\024\056\127\071\024\256\124\022\273\052\166\122\051\247" + "\234\024\161\031\011\247\042\066\131\140\220\261\361\012\001\214" + "\305\042\020\142\221\004\102\032\264\314\362\146\171\063\363\266" + "\173\373\344\107\337\373\266\171\063\322\150\373\223\234\252\073" + "\375\156\337\176\335\375\175\175\316\351\163\372\335\001\376\137" + "\376\157\013\317\367\200\231\157\074\321\033\107\342\066\265\274" + "\032\304\142\100\025\340\200\252\076\255\305\251\007\046\276\167" + "\123\366\174\316\347\274\021\320\365\315\377\131\243\026\133\240" + "\370\024\240\211\146\155\024\234\022\342\041\365\165\153\366\333" + "\037\174\365\174\314\353\234\022\320\171\307\356\166\057\121\272" + "\115\055\267\000\172\361\051\177\221\120\050\136\260\220\173\262" + "\343\331\107\360\257\067\027\317\325\034\317\011\001\135\337\174" + "\156\215\210\335\002\325\365\200\046\317\244\057\222\243\026\334" + "\136\016\270\155\374\357\326\276\175\266\346\130\351\377\154\165" + "\324\171\307\356\366\170\072\270\015\072\317\325\076\125\121\130" + "\100\237\042\260\365\370\276\265\217\343\176\006\147\243\333\063" + "\046\240\357\133\057\256\241\004\133\240\272\236\300\031\255\366" + "\251\212\052\216\053\371\343\300\267\077\036\272\353\252\343\147" + "\322\327\151\021\320\375\355\247\132\023\176\146\003\140\077\017" + "\340\275\263\066\324\232\217\252\363\032\213\244\326\127\064\155" + "\346\023\374\005\210\255\003\337\270\362\167\100\303\167\116\145" + "\234\371\064\356\377\307\227\057\065\320\317\053\364\063\200\146" + "\146\064\250\033\176\016\300\163\215\072\047\204\032\200\215\175" + "\220\157\213\332\173\375\174\141\373\300\135\353\116\171\053\075" + "\051\001\313\356\174\073\211\226\211\317\000\274\035\300\225\263" + "\066\234\153\205\347\271\372\165\322\250\011\047\173\246\132\244" + "\360\021\042\330\366\326\137\137\371\207\223\166\077\333\203\125" + "\337\171\145\245\306\370\005\052\066\132\240\175\326\036\232\202" + "\153\122\247\247\141\156\154\246\017\115\100\317\102\022\301\175" + "\020\335\072\061\072\364\320\320\135\037\231\154\336\246\126\356" + "\274\123\056\131\370\247\037\015\202\340\113\012\176\010\120\231" + "\361\015\215\212\052\110\011\173\152\264\363\372\373\371\152\101" + "\025\024\201\031\040\111\252\155\106\017\330\214\352\111\220\017" + "\051\374\255\007\376\152\365\276\372\366\000\160\237\232\325\043" + "\007\076\027\004\372\347\252\272\154\156\117\062\023\210\102\011" + "\165\104\150\015\251\332\330\076\042\344\144\256\212\150\000\314" + "\112\047\004\324\326\264\143\123\307\067\213\106\220\052\340\156" + "\361\344\236\275\013\126\354\304\046\006\274\346\273\107\122\271" + "\164\361\277\254\142\355\111\246\325\134\335\303\072\033\002\225" + "\112\165\104\104\303\167\124\071\067\003\234\001\276\122\035\176" + "\321\302\001\257\164\334\314\004\346\362\035\000\014\361\142\276" + "\244\233\275\351\164\171\003\104\326\316\324\365\332\051\104\143" + "\325\142\161\165\021\116\121\105\150\007\141\275\053\031\325\105" + "\323\141\055\071\015\343\124\046\116\326\150\201\373\023\025\000" + "\204\124\100\031\201\164\334\314\000\114\220\072\033\013\012\134" + "\331\226\346\146\317\346\362\271\130\147\006\226\315\115\224\012" + "\150\343\212\021\056\211\103\063\073\227\032\125\017\127\133\031" + "\076\123\350\154\126\132\351\233\341\103\206\320\010\072\040\041" + "\340\010\263\050\000\326\304\013\356\171\143\364\060\213\046\010" + "\024\245\354\264\357\275\062\071\370\350\373\212\135\217\304\333" + "\323\353\275\326\004\154\343\334\032\035\133\105\245\243\271\150" + "\265\035\305\251\204\123\124\002\254\022\124\351\347\144\316\060" + "\122\266\352\212\223\004\040\212\012\067\032\062\031\265\241\202" + "\214\350\153\240\240\176\070\201\302\317\025\264\060\066\265\203" + "\276\267\255\362\164\371\035\277\277\074\221\212\175\076\325\221" + "\371\164\254\043\225\126\343\315\272\305\105\043\250\052\005\265" + "\132\240\041\150\133\253\001\165\237\111\337\023\011\142\206\326" + "\040\322\133\205\132\065\276\125\257\244\152\202\032\002\052\115" + "\102\323\000\053\306\104\045\131\161\210\144\215\117\230\111\202" + "\322\367\121\032\235\312\025\306\362\017\026\312\205\255\207\376" + "\141\335\353\065\164\127\233\056\373\342\216\166\323\333\267\061" + "\323\335\266\045\331\226\276\310\264\246\140\055\102\027\037\331" + "\167\315\147\325\220\343\352\175\144\363\012\045\241\004\254\030" + "\361\143\102\077\106\250\231\111\152\165\046\252\342\007\326\053" + "\133\353\225\101\052\341\100\222\124\104\040\035\031\252\121\175" + "\004\262\006\060\054\040\242\360\047\362\050\216\117\276\072\225" + "\235\334\072\076\364\332\216\341\037\376\131\024\017\150\315\260" + "\265\123\000\103\270\262\354\057\037\131\227\356\352\333\222\131" + "\330\161\143\262\253\065\026\104\243\325\155\147\112\205\323\004" + "\033\201\017\333\020\276\147\304\217\223\101\154\276\161\000\051" + "\066\260\246\154\255\127\262\052\066\042\000\240\212\324\220\342" + "\140\150\344\064\011\100\202\000\205\154\256\060\065\074\376\350" + "\364\360\211\173\337\371\376\372\347\303\331\006\250\330\354\354" + "\004\110\170\021\200\001\140\172\076\361\365\236\226\213\076\272" + "\251\143\311\242\115\251\356\216\305\222\211\323\152\110\004\001" + "\130\007\334\361\141\105\350\307\105\312\161\302\232\371\007\100" + "\063\250\120\125\006\026\211\242\125\123\166\352\115\025\106\173" + "\223\033\126\204\032\344\362\310\017\117\034\032\077\072\260\075" + "\373\354\316\207\306\236\375\301\110\010\072\200\333\075\155\010" + "\074\272\146\020\020\135\021\011\246\356\112\247\023\027\334\372" + "\057\327\266\257\370\243\215\055\213\173\326\045\273\332\044\210" + "\034\025\174\217\054\047\204\176\234\352\264\342\314\200\067\320" + "\000\252\222\326\132\257\154\021\053\002\046\000\250\106\055\362" + "\043\223\345\334\300\300\123\331\003\057\335\177\174\373\127\237" + "\006\120\002\340\207\300\375\020\170\104\302\051\021\140\302\322" + "\253\041\300\003\020\013\313\170\373\373\067\137\330\273\356\346" + "\317\366\134\274\154\123\262\273\067\055\051\317\263\341\306\020" + "\156\235\147\225\000\240\152\357\042\324\140\252\344\347\007\217" + "\117\014\276\276\377\201\354\356\373\166\144\137\376\371\000\112" + "\050\002\050\206\240\153\257\132\015\250\045\001\336\134\343\315" + "\162\311\007\066\266\057\177\317\232\137\337\232\351\372\355\015" + "\012\057\030\034\272\252\070\246\037\207\355\370\023\223\354\150" + "\145\031\254\354\346\263\312\314\260\345\244\022\123\105\176\164" + "\102\071\376\214\277\000\273\112\335\231\347\105\057\017\076\064" + "\266\050\230\330\035\244\166\036\170\061\077\210\252\371\066\136" + "\263\202\154\004\334\250\376\036\000\263\140\011\122\067\377\105" + "\337\015\035\275\336\106\057\046\177\354\366\171\320\052\250\126" + "\251\001\070\121\134\154\006\363\327\047\112\055\037\217\045\026" + "\056\042\022\161\064\113\130\146\215\204\233\114\123\010\240\120" + "\104\161\350\210\046\246\177\126\352\115\075\121\112\307\116\004" + "\042\120\220\052\002\045\001\122\212\205\111\373\253\143\373\213" + "\367\357\374\336\360\363\000\312\250\327\202\146\146\060\053\001" + "\046\054\275\365\137\133\160\341\322\325\231\317\046\122\262\201" + "\104\267\252\072\007\017\113\125\300\206\340\155\240\124\005\255" + "\005\003\233\220\023\123\127\307\246\342\237\364\244\353\162\223" + "\350\154\201\137\023\077\315\000\254\015\367\000\074\050\012\331" + "\011\150\366\371\240\055\170\314\357\311\074\127\066\364\025\242" + "\112\122\111\027\162\211\100\105\250\024\227\216\011\241\066\320" + "\067\247\047\354\366\247\166\216\354\334\373\363\374\070\252\146" + "\160\212\004\364\043\366\325\273\226\136\027\157\341\355\024\134" + "\013\300\100\135\014\157\235\241\323\132\113\153\101\253\012\004" + "\241\153\126\245\006\024\205\122\255\022\000\047\112\053\314\160" + "\371\106\317\266\177\114\122\075\075\014\274\330\314\054\021\000" + "\110\025\000\054\225\220\037\074\246\336\370\056\273\060\361\204" + "\337\232\070\034\100\251\064\320\060\330\161\140\111\025\102\041" + "\021\011\122\361\017\141\004\255\000\247\202\262\076\074\066\144" + "\357\275\373\053\207\367\242\272\015\106\044\324\023\360\265\273" + "\373\073\123\013\222\233\101\334\116\332\245\100\065\161\121\005" + "\002\337\322\372\112\013\000\326\206\352\017\102\101\255\134\352" + "\056\127\057\121\275\157\323\034\314\177\310\344\323\237\221\130" + "\327\105\222\150\113\103\105\134\347\066\100\141\174\032\376\310" + "\076\315\024\166\004\075\251\147\002\143\012\056\171\020\250\220" + "\156\265\011\205\320\106\032\100\251\324\071\266\011\025\103\245" + "\010\104\102\200\014\127\333\362\205\300\307\266\275\257\116\077" + "\362\323\273\216\345\353\010\270\363\361\225\075\050\231\257\001" + "\272\111\025\251\312\352\324\146\156\141\031\004\226\066\120\224" + "\175\113\033\200\260\032\205\145\041\150\245\252\126\200\243\266" + "\164\211\045\307\213\357\345\170\351\275\142\115\057\240\012\143" + "\217\241\075\361\232\155\117\034\120\327\242\062\071\245\320\112" + "\250\356\044\303\025\247\222\260\024\050\101\245\241\032\017\060" + "\042\352\200\273\210\274\102\100\365\150\105\051\310\002\274\017" + "\261\340\007\167\175\354\340\040\277\375\330\145\375\005\026\037" + "\005\164\141\324\254\041\135\145\155\235\013\165\335\147\277\154" + "\131\052\006\316\376\055\242\225\027\327\266\242\005\264\156\072" + "\164\233\271\043\055\064\002\206\323\255\213\344\102\365\165\240" + "\005\052\200\302\300\012\034\001\221\006\030\217\352\171\106\115" + "\334\231\206\043\311\365\130\351\263\306\353\124\363\010\200\224" + "\154\251\314\133\274\222\370\067\030\303\205\265\326\120\311\060" + "\244\372\165\215\062\077\145\224\011\303\030\101\074\341\301\367" + "\025\345\222\217\162\061\160\221\277\002\124\302\122\001\013\212" + "\202\056\146\124\326\144\147\141\376\126\371\354\362\073\267\322" + "\356\106\252\311\234\320\245\276\064\100\054\146\020\113\010\050" + "\002\041\100\251\355\320\145\211\225\141\010\147\361\250\266\013" + "\145\101\312\310\047\275\303\007\307\336\350\137\336\206\170\112" + "\252\164\065\331\246\242\355\214\320\052\101\352\352\023\106\021" + "\113\044\240\151\313\142\061\100\251\020\300\372\012\261\204\065" + "\125\025\160\231\042\110\231\171\332\111\000\052\156\355\204\341" + "\024\302\173\022\060\061\101\042\151\020\213\233\220\230\360\230" + "\204\254\022\000\200\225\074\241\262\244\164\056\034\241\145\070" + "\011\312\304\221\103\331\303\346\205\307\162\107\226\134\156\107" + "\241\146\155\052\035\217\173\161\201\010\051\102\010\011\041\051" + "\044\304\040\254\003\051\102\043\004\205\116\302\122\214\040\346" + "\031\046\122\036\275\270\041\001\006\026\164\132\113\167\264\341" + "\066\155\032\222\036\011\343\226\026\040\101\211\000\271\322\010" + "\021\117\172\110\267\304\221\312\170\210\305\214\212\107\210\041" + "\104\004\142\010\032\201\021\206\237\001\021\120\014\041\024\210" + "\353\103\151\010\021\102\214\300\057\000\103\107\247\047\016\357" + "\037\376\247\037\176\145\350\236\212\076\136\177\007\332\273\122" + "\255\033\273\026\165\334\336\275\250\345\242\366\005\111\050\202" + "\212\222\126\102\333\320\323\023\002\347\361\335\075\200\106\373" + "\027\100\151\003\260\220\367\131\312\373\264\201\145\014\220\070" + "\041\246\306\346\302\175\111\213\012\133\006\255\030\152\042\345" + "\151\042\351\251\030\267\345\221\010\063\102\204\007\013\125\307" + "\310\212\253\145\325\201\126\117\207\024\060\030\033\316\143\344" + "\130\156\357\360\261\334\326\241\341\211\035\277\371\067\114\126" + "\300\325\150\041\001\230\365\177\323\262\156\101\157\146\113\157" + "\177\353\307\172\226\264\306\115\114\353\010\210\142\202\360\064" + "\330\201\255\354\276\052\041\061\022\266\245\020\342\131\065\050" + "\133\346\247\312\364\113\315\177\327\214\045\014\222\151\117\065" + "\346\331\042\064\120\322\202\250\333\005\024\352\266\105\161\365" + "\112\250\204\031\041\243\021\103\002\312\005\142\160\140\242\160" + "\174\140\342\321\221\023\223\333\166\175\067\377\074\352\363\201" + "\346\004\040\214\006\257\132\237\354\135\262\072\361\331\376\125" + "\235\033\373\056\150\135\322\272\040\116\265\266\272\053\270\300" + "\110\030\156\161\156\327\016\275\077\040\236\302\363\240\106\024" + "\165\356\047\010\024\345\122\000\033\270\045\062\206\210\305\005" + "\142\244\316\377\004\104\120\002\374\100\350\043\042\001\264\021" + "\120\326\152\000\302\070\000\242\243\043\105\234\070\062\161\350" + "\310\301\321\355\373\377\220\173\360\265\137\141\030\315\323\342" + "\071\103\341\152\056\220\101\374\272\315\251\353\226\135\334\261" + "\251\177\105\307\272\236\013\133\214\363\160\016\060\302\155\116" + "\055\104\124\215\261\032\363\024\136\145\043\102\123\277\072\253" + "\064\246\004\112\265\045\322\017\204\045\025\006\341\061\223\213" + "\031\304\035\224\250\057\172\342\160\316\077\162\140\364\167\357" + "\354\233\270\357\167\333\362\117\143\146\076\060\167\044\330\100" + "\200\300\045\102\121\112\034\003\020\173\337\007\274\245\027\257" + "\155\271\155\371\245\335\237\130\264\264\275\063\323\141\250\066" + "\020\011\064\356\005\210\123\353\217\274\346\003\174\066\002\052" + "\365\204\372\244\037\170\050\132\141\031\064\072\071\352\353\321" + "\267\306\206\016\274\074\362\310\336\047\247\166\036\176\311\077" + "\212\352\171\100\055\001\363\310\005\232\144\203\000\142\111\040" + "\321\337\022\317\144\022\332\042\111\323\172\365\072\263\171\361" + "\045\155\233\023\227\055\110\056\134\234\021\110\160\132\200\117" + "\046\063\064\042\060\030\174\067\027\344\137\032\235\170\145\337" + "\304\017\176\363\313\351\237\116\346\060\131\002\012\160\347\001" + "\145\234\101\066\130\347\007\042\002\322\100\142\111\173\042\265" + "\044\156\333\156\357\217\337\264\064\315\115\151\303\053\000\160" + "\064\015\034\270\320\303\324\232\156\164\255\352\100\262\205\320" + "\050\372\070\113\042\020\114\117\130\214\274\071\206\326\335\043" + "\130\165\044\100\153\001\240\242\064\352\333\137\277\070\356\337" + "\373\267\373\012\317\326\020\320\250\372\315\216\305\346\044\240" + "\162\042\324\006\170\137\177\137\352\075\357\357\214\175\261\335" + "\303\046\041\026\064\116\120\001\024\104\160\140\041\060\164\131" + "\033\222\227\165\242\173\161\006\112\377\214\200\323\172\030\034" + "\230\104\171\117\026\175\173\163\130\076\114\030\215\046\256\241" + "\312\272\262\154\361\372\211\222\156\273\373\255\334\366\135\203" + "\030\303\051\234\010\315\106\200\000\220\213\201\370\077\257\153" + "\373\104\107\234\137\216\011\076\242\015\336\074\232\202\363\052" + "\104\200\152\204\067\324\002\274\275\334\103\171\115\067\172\127" + "\265\043\236\122\314\370\205\151\066\320\040\212\123\300\340\376" + "\061\044\236\033\301\312\167\002\054\230\256\007\135\215\164\065" + "\074\002\252\073\150\230\314\133\074\160\170\052\270\173\313\356" + "\334\213\230\307\231\040\000\310\175\327\244\372\226\246\122\137" + "\216\121\277\014\240\177\046\150\124\100\127\313\352\024\152\313" + "\242\001\016\366\050\106\257\354\100\333\245\235\350\354\115\316" + "\252\025\124\017\303\107\363\230\176\071\213\256\075\343\130\071" + "\104\304\155\045\061\255\214\320\110\100\364\254\161\165\010\150" + "\240\170\256\244\374\217\237\034\315\336\377\235\067\060\075\047" + "\001\173\156\354\272\312\052\277\142\250\267\252\326\277\314\030" + "\001\165\024\022\321\001\150\025\160\375\032\064\373\174\264\115" + "\161\370\342\004\364\312\005\350\350\115\043\225\211\003\120\114" + "\347\312\030\073\061\005\157\167\026\313\016\226\320\233\253\202" + "\256\226\215\053\037\226\254\177\026\151\103\243\343\044\070\142" + "\301\173\212\026\377\276\366\227\303\373\353\010\330\173\123\327" + "\032\102\276\253\252\037\304\034\142\001\370\132\257\352\165\245" + "\242\146\215\146\156\201\321\175\041\246\070\336\152\221\113\270" + "\010\252\255\110\364\345\004\011\277\072\355\272\103\010\066\256" + "\172\265\254\325\012\201\302\020\063\300\327\021\101\130\005\237" + "\360\325\176\363\212\307\107\236\343\263\067\365\134\326\041\170" + "\126\125\123\163\201\157\004\342\053\121\126\242\046\061\154\132" + "\066\222\162\262\236\243\064\266\231\163\002\146\202\047\135\200" + "\142\346\371\202\030\051\245\202\265\037\365\212\126\156\024\243" + "\251\306\137\121\117\046\036\200\244\072\027\133\012\311\210\046" + "\246\132\235\250\236\144\105\032\246\125\375\313\106\320\132\167" + "\357\021\210\021\060\254\377\356\074\044\136\246\167\223\167\337" + "\221\322\236\057\255\110\027\073\044\110\234\116\334\146\000\044" + "\000\130\125\024\225\050\132\240\366\035\220\320\104\321\350\043" + "\352\245\306\146\147\321\000\300\235\023\044\010\304\253\277\206" + "\317\173\276\121\217\023\360\354\023\103\166\217\371\303\160\276" + "\120\144\354\325\216\114\142\125\332\063\075\151\103\032\126\316" + "\002\116\371\062\102\044\204\110\011\341\111\165\167\256\344\372" + "\247\170\111\223\317\161\041\062\006\310\030\042\156\334\130\363" + "\235\237\220\000\015\106\065\246\373\362\346\245\237\274\133\370" + "\326\337\277\170\374\161\302\275\336\332\011\240\153\303\362\266" + "\053\256\137\334\162\333\245\355\336\015\213\022\232\116\124\167" + "\213\323\022\137\201\174\000\024\354\314\135\141\116\107\025\136" + "\111\003\044\305\251\373\351\013\121\200\301\321\262\344\366\214" + "\225\177\266\353\160\356\201\307\016\217\357\005\220\005\060\026" + "\165\035\003\220\002\320\002\240\165\131\213\327\267\145\145\307" + "\372\265\075\311\133\126\244\315\212\116\117\121\071\010\074\015" + "\121\070\022\246\003\107\312\354\123\165\166\235\062\100\102\116" + "\137\301\135\147\202\154\040\170\053\257\257\077\063\124\174\350" + "\236\327\206\036\073\232\367\207\000\344\000\114\002\310\003\360" + "\033\307\210\114\072\015\240\025\100\333\226\225\055\127\137\327" + "\227\331\160\151\147\342\332\376\244\304\275\063\214\361\113\026" + "\310\133\240\024\204\347\115\160\216\054\056\104\132\200\330\134" + "\157\153\235\124\210\062\005\003\105\026\136\036\363\177\371\213" + "\167\047\036\270\377\340\330\013\000\046\340\200\117\303\145\212" + "\101\365\033\315\045\112\205\043\255\150\133\335\356\365\157\134" + "\336\172\313\325\013\063\237\136\331\352\055\356\210\361\214\264" + "\002\150\372\213\330\351\011\211\154\040\170\173\312\036\172\172" + "\160\172\347\177\037\034\331\371\306\230\177\014\016\370\044\134" + "\226\130\106\023\173\076\331\330\121\142\024\151\105\133\014\150" + "\377\302\212\314\207\077\274\070\263\341\322\316\344\065\375\231" + "\230\071\123\255\070\135\051\303\340\335\242\055\277\234\055\075" + "\371\353\143\123\017\376\350\315\321\147\000\214\303\255\366\024" + "\252\347\002\263\312\174\310\027\070\137\221\106\350\053\256\351" + "\066\053\076\325\337\272\341\232\336\314\047\127\266\047\273\333" + "\074\234\261\126\234\124\110\214\373\304\201\311\362\361\147\006" + "\247\036\176\360\255\334\216\027\262\305\303\250\256\166\036\156" + "\265\117\151\125\116\107\373\242\064\071\001\040\003\240\065\005" + "\054\370\322\362\344\365\327\366\267\335\272\272\053\375\376\376" + "\226\070\305\236\225\177\350\250\110\040\006\107\246\312\366\225" + "\154\361\367\277\075\226\173\360\077\337\314\375\246\354\126\173" + "\002\156\265\213\250\177\007\350\224\301\234\211\010\200\070\252" + "\132\321\166\303\102\163\311\315\027\264\154\130\333\327\366\361" + "\125\035\311\266\026\301\174\347\124\067\275\211\200\070\060\136" + "\310\076\163\074\367\350\303\357\114\075\370\344\110\351\000\352" + "\127\273\204\123\134\355\346\043\234\035\211\264\042\211\320\074" + "\172\074\164\177\156\171\362\346\217\364\167\334\262\272\053\175" + "\311\242\114\234\074\105\255\120\061\030\230\054\351\336\154\176" + "\317\257\006\306\037\332\172\150\372\347\023\145\144\121\265\355" + "\002\234\155\237\261\275\235\055\002\152\305\240\252\025\255\000" + "\332\076\335\027\273\342\306\013\132\156\133\333\327\172\375\105" + "\235\351\124\242\351\202\021\171\045\336\030\235\236\374\375\261" + "\211\237\355\032\230\176\140\327\211\322\076\324\157\141\145\324" + "\154\141\147\103\316\005\001\265\175\307\120\325\212\266\145\111" + "\364\335\276\042\163\313\007\226\264\257\357\317\304\227\145\142" + "\056\225\311\225\002\035\230\052\355\177\162\140\374\341\037\035" + "\232\332\171\254\200\041\124\325\074\072\343\073\047\336\365\134" + "\022\120\053\036\234\126\144\340\264\242\145\165\006\175\357\151" + "\217\055\121\013\335\227\053\037\171\163\012\203\160\200\153\267" + "\260\263\353\111\233\310\371\042\040\222\150\053\115\204\127\364" + "\033\202\017\324\275\342\166\336\002\213\363\115\100\064\146\355" + "\333\250\200\123\357\150\013\073\307\201\104\275\374\057\373\256" + "\012\113\267\065\007\137\000\000\000\000\111\105\116\104\256\102" + "\140\202\000\000\050\165\165\141\171\051\162\145\163\057\000\000" + "\006\000\000\000\151\143\157\156\163\057\000\000\002\000\000\000" + "\001\000\000\000\004\000\000\000\003\000\000\000" }; + +static GStaticResource static_resource = { gtk_resources_resource_data.data, sizeof (gtk_resources_resource_data.data) - 1 /* nul terminator */, NULL, NULL, NULL }; + +G_MODULE_EXPORT +GResource *gtk_resources_get_resource (void); +GResource *gtk_resources_get_resource (void) +{ + return g_static_resource_get_resource (&static_resource); +} +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_CONSTRUCTOR_H__ +#define __G_CONSTRUCTOR_H__ + +/* + If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and + destructors, in a usable way, including e.g. on library unload. If not you're on + your own. + + Some compilers need #pragma to handle this, which does not work with macros, + so the way you need to use this is (for constructors): + + #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA + #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor) + #endif + G_DEFINE_CONSTRUCTOR(my_constructor) + static void my_constructor(void) { + ... + } + +*/ + +#ifndef __GTK_DOC_IGNORE__ + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) + +#define G_HAS_CONSTRUCTORS 1 + +#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void); +#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void); + +#elif defined (_MSC_VER) && (_MSC_VER >= 1500) +/* Visual studio 2008 and later has _Pragma */ + +/* + * Only try to include gslist.h if not already included via glib.h, + * so that items using gconstructor.h outside of GLib (such as + * GResources) continue to build properly. + */ +#ifndef __G_LIB_H__ +#include "gslist.h" +#endif + +#include + +#define G_HAS_CONSTRUCTORS 1 + +/* We do some weird things to avoid the constructors being optimized + * away on VS2015 if WholeProgramOptimization is enabled. First we + * make a reference to the array from the wrapper to make sure its + * references. Then we use a pragma to make sure the wrapper function + * symbol is always included at the link stage. Also, the symbols + * need to be extern (but not dllexport), even though they are not + * really used from another object file. + */ + +/* We need to account for differences between the mangling of symbols + * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed + * with an underscore but symbols on x64/ARM/ARM64 are not. + */ +#ifdef _M_IX86 +#define G_MSVC_SYMBOL_PREFIX "_" +#else +#define G_MSVC_SYMBOL_PREFIX "" +#endif + +#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX) +#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX) + +#define G_MSVC_CTOR(_func,_sym_prefix) \ + static void _func(void); \ + extern int (* _array ## _func)(void); \ + int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \ + __pragma(comment(linker,"/include:" _sym_prefix # _func "_wrapper")) \ + __pragma(section(".CRT$XCU",read)) \ + __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _wrapper; + +#define G_MSVC_DTOR(_func,_sym_prefix) \ + static void _func(void); \ + extern int (* _array ## _func)(void); \ + int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \ + __pragma(comment(linker,"/include:" _sym_prefix # _func "_constructor")) \ + __pragma(section(".CRT$XCU",read)) \ + __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _constructor; + +#elif defined (_MSC_VER) + +#define G_HAS_CONSTRUCTORS 1 + +/* Pre Visual studio 2008 must use #pragma section */ +#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1 +#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1 + +#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \ + section(".CRT$XCU",read) +#define G_DEFINE_CONSTRUCTOR(_func) \ + static void _func(void); \ + static int _func ## _wrapper(void) { _func(); return 0; } \ + __declspec(allocate(".CRT$XCU")) static int (*p)(void) = _func ## _wrapper; + +#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \ + section(".CRT$XCU",read) +#define G_DEFINE_DESTRUCTOR(_func) \ + static void _func(void); \ + static int _func ## _constructor(void) { atexit (_func); return 0; } \ + __declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _constructor; + +#elif defined(__SUNPRO_C) + +/* This is not tested, but i believe it should work, based on: + * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c + */ + +#define G_HAS_CONSTRUCTORS 1 + +#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1 +#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1 + +#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \ + init(_func) +#define G_DEFINE_CONSTRUCTOR(_func) \ + static void _func(void); + +#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \ + fini(_func) +#define G_DEFINE_DESTRUCTOR(_func) \ + static void _func(void); + +#else + +/* constructors not supported for this compiler */ + +#endif + +#endif /* __GTK_DOC_IGNORE__ */ +#endif /* __G_CONSTRUCTOR_H__ */ + +#ifdef G_HAS_CONSTRUCTORS + +#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA +#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(gtk_resourcesresource_constructor) +#endif +G_DEFINE_CONSTRUCTOR(gtk_resourcesresource_constructor) +#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA +#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(gtk_resourcesresource_destructor) +#endif +G_DEFINE_DESTRUCTOR(gtk_resourcesresource_destructor) + +#else +#warning "Constructor not supported on this compiler, linking in resources will not work" +#endif + +static void gtk_resourcesresource_constructor (void) +{ + g_static_resource_init (&static_resource); +} + +static void gtk_resourcesresource_destructor (void) +{ + g_static_resource_fini (&static_resource); +} diff --git a/win-linux/gtk_resources.h b/win-linux/gtk_resources.h new file mode 100644 index 000000000..0ca37fd9c --- /dev/null +++ b/win-linux/gtk_resources.h @@ -0,0 +1,7 @@ +#ifndef __RESOURCE_gtk_resources_H__ +#define __RESOURCE_gtk_resources_H__ + +#include + +extern GResource *gtk_resources_get_resource (void); +#endif diff --git a/win-linux/gtk_resources.xml b/win-linux/gtk_resources.xml new file mode 100644 index 000000000..97799f6d8 --- /dev/null +++ b/win-linux/gtk_resources.xml @@ -0,0 +1,9 @@ + + + + res/icons/app-icon_64.png + res/icons/app-icon_96.png + res/icons/app-icon_128.png + res/icons/app-icon_256.png + + diff --git a/win-linux/langs/be.qm b/win-linux/langs/be.qm index 1a68b226d..6be478ff3 100644 Binary files a/win-linux/langs/be.qm and b/win-linux/langs/be.qm differ diff --git a/win-linux/langs/be.ts b/win-linux/langs/be.ts index 7b32e93bb..357e68fbd 100644 --- a/win-linux/langs/be.ts +++ b/win-linux/langs/be.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Рэжым дакладчыка @@ -21,18 +21,18 @@ Усе вокны рэдактара будуць зачыненыя. Вы хочаце працягнуць? - - + + Document%1.docx Дакумент%1.docx - + Book%1.xlsx Кніга%1.xlsx - + Presentation%1.pptx Прэзентацыя%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Адкрываецца... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Абраць сертыфікат - + select certificate file... абярыце файл сертыфіката... - + Certifacate password: Пароль сертыфіката: - + select key file... абярыце файл ключа… - + Key password: Пароль ключа: - - - - + + + + Open Document Адкрыць дакумент - + Enter certificate path Увядзіце шлях да сертыфіката - + Certificate is not supported Сертыфікат не падтрымліваецца - + Enter certificate password Увядзіце пароль сертыфіката - + Wrong certificate password.<br>Please enter again Няправільны пароль сертыфіката.<br>Калі ласка, увядзіце яшчэ раз - + Enter valid private key Увядзіце прыдатны прыватны ключ - + Key is not supported Ключ не падтрымліваецца - + Enter key password Увядзіце пароль ключа @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Скасаваць @@ -144,22 +144,22 @@ CEditorWindow - + Open main window Адкрыць галоўнае акно - + Document must be saved to continue.<br>Save the document? Каб працягнуць, дакумент трэба захаваць.<br>Захаваць дакумент? - + Print Document Друкаваць дакумент - + Document must be saved firstly. Спачатку трэба захаваць дакумент. @@ -169,7 +169,7 @@ %1 быў зменены.<br>Хочаце захаваць змены? - + Some data will lost.<br>Continue? Калі вы працягнеце захоўваць у гэтым фармаце, усе функцыі, акрамя тэксту, будуць страчаны.<br>Вы ўпэўнены, што хочаце працягнуць? @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Усе файлы (*.*) - DOCX Document (*.docx) - Дакумент Office Open XML (*.docx) + Дакумент Office Open XML (*.docx) - Document template (*.dotx) - Шаблон дакумента Word Open XML (*.dotx) + Шаблон дакумента Word Open XML (*.dotx) - + DOC Document (*.doc) Дакумент Word 97-2003 (*.doc) - + ODT Document (*.odt) Тэкставы файл OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Шаблон дакумента OpenDocument (*.ott) + Шаблон дакумента OpenDocument (*.ott) - + RTF File (*.rtf) Багаты тэкставы дакумент (*.rtf) - + TXT File (*.txt) Просты тэкст (*.txt) - + HTML File (*.html) Файл HTML (*.html) - + MHT File (*.mht) Файл архіва вэб-старонак (*.mht) - + EPUB File (*.epub) Электронная публікацыя (*.epub) - + FB2 File (*.fb2) Файл FictionBook (*.fb2) - + MOBI File (*.mobi) Электронная кніга mobipocket (*.mobi) - + OFORM Document (*.oform) Запаўняльная анлайн-форма ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Шаблон формы ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Прэзентацыя Office Open XML (*.pptx) - + PPT File (*.ppt) Прэзентацыя PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Шаблон прэзентацыі PowerPoint Open XML (*.potx) + Шаблон прэзентацыі PowerPoint Open XML (*.potx) - + ODP File (*.odp) Прэзентацыя OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Шаблон прэзентацыі OpenDocument (*.otp) + Шаблон прэзентацыі OpenDocument (*.otp) - + PPSX File (*.ppsx) Слайд-шоу Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Электронная табліца Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Шаблон электроннай табліцы Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Шаблон электроннай табліцы Excel Open XML (*.xltx) - + XLS File (*.xls) Электронная табліца Excel 97-2003 (*.xls) - + ODS File (*.ods) Электронная табліца OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Шаблон электроннай табліцы OpenDocument (*.ots) + Шаблон электроннай табліцы OpenDocument (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Значэнні, падзеленыя коскамі (*.csv) - + PDF File (*.pdf) Пераносны дакумент (*.pdf) - + PDFA File (*.pdf) Пераносны дакумент /A (*.pdf) - + DJVU File (*.djvu) Лічбавы дакумент (*.djvu) - + XPS File (*.xps) Дакумент OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) Выява PNG (*.png) - + Save As Захаваць як - + %1 already exists.<br>Do you want to replace it? %1 ужо існуе.<br>Хочаце замяніць? - + Word Document Дакумент Word - + Excel Workbook Табліца Excel - + PowerPoint Presentation Прэзентацыя Powerpoint - + %1 File (*.%2) %1 Файл (*.%2) - - - + + + Text documents Тэкставыя дакументы - - - + + + Spreadsheets Табліцы - - - + + + Presentations Прэзентацыі - + Web Page Вэб-старонка - + Text files Тэкставыя файлы - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Адкрыць дакумент - - + + All Images Усе выявы - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Файл убудовы (*.plugin) - + Video file Відэафайл - + Audio file Аўдыяфайл - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Фармат файла не падтрымліваецца - + %1 doesn't exists!<br>Remove file from the list? %1 недаступны. Яго можна перайменаваць, перамясціць або выдаліць.<br>Хочаце выдаліць файл са спісу? - + Document must be saved firstly. Спачатку трэба захаваць дакумент. - + Document must be saved to continue.<br>Save the document? Каб працягнуць, дакумент трэба захаваць.<br>Захаваць дакумент? - + There are no printers available - + Print Document Друкаваць дакумент - + Sign Up Зарэгістравацца - + %1 is modified.<br>Do you want to keep changes? %1 быў зменены.<br>Захаваць змены? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Друкаванне дакумента: старонка %1 з %2 - + Document is preparing Рыхтаванне дакумента - + &Cancel &Скасаваць - + Printing... Друкаванне... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Скасаваць + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 недаступны. Яго можна перайменаваць, перамясціць або выдаліць.<br>Хочаце выдаліць файл са спісу? - + File %1 cannot be opened or doesn't exists. Файл %1 не існуе або яго немагчыма адкрыць. > @@ -605,135 +797,129 @@ Усе файлы, якія падтрымліваюцца(*.txt *.csv)> - - + + All files (*.*) Усе файлы (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Скасаваць - + Yes Так - + No Не - + OK Добра - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &Добра diff --git a/win-linux/langs/bg.qm b/win-linux/langs/bg.qm index 5516732bd..498e5fbe0 100644 Binary files a/win-linux/langs/bg.qm and b/win-linux/langs/bg.qm differ diff --git a/win-linux/langs/bg.ts b/win-linux/langs/bg.ts index 0d3d679d0..18977b83b 100644 --- a/win-linux/langs/bg.ts +++ b/win-linux/langs/bg.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Изглед на водещия @@ -21,18 +21,18 @@ Всички редакторски прозорци ще бъдат затворени. Искате ли да продължите? - - + + Document%1.docx Документ%1.docx - + Book%1.xlsx Книга%1.xlsx - + Presentation%1.pptx Презентация%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Отваряне… @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Изберете сертификат - + select certificate file... изберете файл на сертификата… - + Certifacate password: Парола за сертификат: - + select key file... изберете ключов файл… - + Key password: Ключова парола: - - - - + + + + Open Document Отвори документ - + Enter certificate path Въведете път на сертификата - + Certificate is not supported Сертификатът не се поддържа - + Enter certificate password Въведете парола за сертификат - + Wrong certificate password.<br>Please enter again Грешна парола за сертификат.<br>Моля, въведете още веднъж - + Enter valid private key Въведете валиден личен ключ - + Key is not supported Ключът не се поддържа - + Enter key password Въведете ключова парола @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Отказ @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Отвори главен прозорец - + Document must be saved to continue.<br>Save the document? Документът трябва да бъде запазен, за да продължите.<br>Запазвате ли документа? - + Print Document Принтирай документ - + Document must be saved firstly. Документът първо трябва да бъде запазен. @@ -185,7 +185,7 @@ %1 бе модифициран.<br>Искате ли да запазите промените? - + Some data will lost.<br>Continue? Ако продължите да запазите в този формат, всички характеристики, освен текста, ще бъдат загубени.<br>Сигурни ли сте, че искате да продължите? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Няма налични принтери @@ -201,283 +201,319 @@ CFileDialogWrapper - + All files (*.*) Всички файлове (*.*) - DOCX Document (*.docx) - Office Open XML Документ (*.docx) + Office Open XML Документ (*.docx) - Document template (*.dotx) - Word Open XML Шаблон за документ (*.dotx) + Word Open XML Шаблон за документ (*.dotx) - + DOC Document (*.doc) Word 97-2003 Документ (*.doc) - + ODT Document (*.odt) OpenDocument Текстов файл (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Шаблон за документ (*.ott) + OpenDocument Шаблон за документ (*.ott) - + RTF File (*.rtf) Документ с богат текст (*.rtf) - + TXT File (*.txt) Обикновен текстов файл (*.txt) - + HTML File (*.html) Езиков файл за маркиране на HyperText (*.html) - + MHT File (*.mht) Архивен файл на уеб страница (*.mht) - + EPUB File (*.epub) Файл с електронна публикация (*.epub) - + FB2 File (*.fb2) Файл FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Mobipocket Файл (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Онлайн формуляр за попълване (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Шаблон на формуляр (*.docxf) - + PPTX File (*.pptx) Office Open XML Презентация (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Презентация (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Шаблон за презентация (*.potx) + PowerPoint Open XML Шаблон за презентация (*.potx) - + ODP File (*.odp) OpenDocument Презентация (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Шаблон за презентация (*.otp) + OpenDocument Шаблон за презентация (*.otp) - + PPSX File (*.ppsx) Office Open XML слайдшоу (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Макро-активиран Презентационен Файл (*.pptm) - + XLSX File (*.xlsx) Office Open XML Таблица (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Шаблон за таблица (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML Шаблон за таблица (*.xltx) - + XLS File (*.xls) Excel 97-2003 Таблица (*.xls) - + ODS File (*.ods) OpenDocument Електронна таблица (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Шаблон за таблица (*.ots) + OpenDocument Шаблон за таблица (*.ots) - + + DOCX Document + DOCX документ + + + + OpenDocument Document template + OpenDocument Шаблон за Документ + + + + OpenDocument Presentation Template + OpenDocument Шаблон за Презентация + + + + Macro-enabled spreadsheet template + Макро-активиран Шаблон за Таблица + + + + OpenDocument Spreadsheet Template + OpenDocument Шаблон за Таблица + + + CSV File (*.csv) Стойности, разделени със запетая (*.csv) - + PDF File (*.pdf) Преносим документ (*.pdf) - + PDFA File (*.pdf) Преносим документ /A (*.pdf) - + DJVU File (*.djvu) Дигитален документ (*.djvu) - + XPS File (*.xps) OpenXPS Документ (*.xps) - + + SVG Image (*.svg) + SVG изображение (*.svg) + + + JPG Image (*.jpg *.jpeg) JPG изображение (*.jpg *.jpeg) - + PNG Image (*.png) PNG изображение (*.png) - + Save As Запази като - + %1 already exists.<br>Do you want to replace it? %1 вече съществува.<br>Искате ли да го замените? - + Word Document Документ на Word - + Excel Workbook Таблица на Excel - + PowerPoint Presentation Презентация на PowerPoint - + %1 File (*.%2) %1 Файл (*.%2) - - - + + + Text documents Текстов документ - - - + + + Spreadsheets Таблици - - - + + + Presentations Презентации - + Web Page Уеб страница - + Text files Текстови файлове - - - + + + All supported files Всички поддържани файлове - + + + Spreadsheet template + Шаблон за таблица + + + + + Presentation template + Шаблон за презентация + + + + + Document template + Шаблон за документ + + + Open Document Отвори документ - - + + All Images Всички изображения - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Плъгин файл (*.plugin) - + Video file Видео файл - + Audio file Аудио файл - + Select Folder Изберете папка @@ -485,43 +521,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Отворени са повече от един документ.<br>Затваряне на прозореца въпреки това? + + + + Don't ask again. + Не питай повторно. + + + + File format not supported. Форматът на файла не се поддържа. - + %1 doesn't exists!<br>Remove file from the list? %1 не е наличен. Може да е преименуван, преместен или изтрит.<br>Искате ли да премахнете файла от списъка? - + Document must be saved firstly. Документът първо трябва да бъде запазен. - + Document must be saved to continue.<br>Save the document? Документът трябва да бъде запазен, за да продължите.<br>Запазвате ли документа? - + There are no printers available Няма налични принтери - + Print Document Принтирай документ - + Sign Up Създай портал - + %1 is modified.<br>Do you want to keep changes? %1 бе модифициран.<br>Искате ли да запазите промените? @@ -564,22 +610,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Принтиране на документ: страница %1 от %2 - + Document is preparing Подготвяне на документ - + &Cancel &Отказ - + Printing... Принтиране… @@ -587,25 +633,183 @@ CUpdateManager - + + Check for updates + Проверка за актуализации + + + + Unable to check update: URL not defined. + Неуспешна проверка на актуализация: URL адресът не е дефиниран. + + + + To finish updating, restart app + За да завършите актуализацията, рестартирайте приложението + + + + Restart + Рестартирай + + + + Checking for updates... + Проверяваме за актуализации… + + + + Updates are not allowed! + Актуализациите не са позволени! + + + This folder configuration does not allow for updates! The folder name should be: + Конфигурацията на тази папка не позволява актуализации! Името на папката трябва да бъде: + + + + An error occurred while check updates: Update Service not found! + Появи се грешка при проверка на актуализациите: Услугата за актуализиране не е намерена! + + + + Downloading new version %1 (%2%) + Изтегляне на нова версия %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Появи се грешка при проверка на актуализациите: Услугата за актуализиране не е намерена! + + + + Cancel + Отказ + + + + An error occurred while loading updates: package Url is empty! + Появи се грешка при проверка на актуализациите: URL адресът на пакета е празен! + + + + Update package error: md5 sum does not match the original. + Грешка в пакета за актуализиране: md5 сумата не съвпада с оригинала. + + + + Preparing update... + Подготвяне на актуализация… + + + + An error occurred while unzip updates: Update Service not found! + Появи се грешка при разархивирането на актуализациите: Услугата за актуализиране не е намерена! + + + + Update is available (version %1) + Налична е актуализация (версия %1) + + + + Download update + Изтеглете актуализация + + + + Current version is up to date + Настоящата версия е актуална + + + + An error occured while unpacking the archive - - + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Последна проверка, извършена %1 + + + + Error opening JSON file. + + + + + Update is available + Налична е актуализация + + + + + Current version + Настояща версия + + + + + Update version + Актуализирай версия + + + + Would you like to download update now? + Бихте ли желали да изтеглите актуализация сега? + + + + Update is ready to install + Актуализацията е готова за инсталиране + + + + Would you like to restart app now? + Бихте ли желали да рестартирате приложението сега? + + A new version of %1 is available! - Налична е нова версия на %1! + Налична е нова версия на %1! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 вече е достъпен (имате %3). Искате ли да го изтеглите сега? + %1 %2 вече е достъпен (имате %3). Искате ли да го изтеглите сега? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 вече е изтеглен (имате %3). Искате ли да го инсталирате сега? + %1 %2 вече е изтеглен (имате %3). Искате ли да го инсталирате сега? @@ -616,7 +820,7 @@ %1 не е наличен. Може да е преименуван, преместен или изтрит.<br>Искате ли да премахнете файла от списъка? - + File %1 cannot be opened or doesn't exists. Файл %1 не може да се отвори или не съществува. @@ -625,8 +829,8 @@ Всички поддържани файлове (*.txt *.csv) - - + + All files (*.*) Всички файлове (*.*) @@ -635,141 +839,134 @@ Всички поддържани файлове - + XML File (*.xml) - + XML Файл (*.xml) - - + + Access to file '%1' is denied! - + Достъпът до файл '%1' е отказан! - + Read only Само за четене - + + Skip this version Пропусни тази версия - + + Remind me later Напомни ми по-късно - + + Install update Инсталирайте актуализация - Install on Next Start - Инсталирайте при Следващо стартиране + Инсталирайте при Следващо стартиране - + + + Install later + Инсталирай по-късно + + + + Save and Restart Now Запазете и Инсталирайте сега - + + Save and Install Now Инсталирайте - + + Download update Изтеглете актуализация - + + Software Update Актуализация на софтуера - + + Release notes Пуснете бележки - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Появи се грешка при старта на инсталиране на актуализациите! - + An error occurred while start replacing files: Update Service not found! - + Появи се грешка при старта на замяна на файловете: Услугата за актуализиране не е намерена! - + Cancel - Отказ + Отказ - + Yes - Да + Да - + No - Не + Не - + OK - ОК + ОК - + Skip - Пропусни + Пропусни - + Buy Now - + Купи Сега - + Activate - + Активирай - + Continue - + Продължи An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Появи се грешка при отварянето на портал:<br>%1 &OK diff --git a/win-linux/langs/ca.qm b/win-linux/langs/ca.qm index 7ceb493cf..198319041 100644 Binary files a/win-linux/langs/ca.qm and b/win-linux/langs/ca.qm differ diff --git a/win-linux/langs/ca.ts b/win-linux/langs/ca.ts index 838e35176..ed24eb206 100644 --- a/win-linux/langs/ca.ts +++ b/win-linux/langs/ca.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vista del presentador @@ -21,18 +21,18 @@ Totes les finestres de l'editor es tancaran. Vols continuar? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Book%1.xlsx - + Presentation%1.pptx Presentation%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Obrint... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Selecciona el certificat - + select certificate file... selecciona fitxer del certificat... - + Certifacate password: Contrasenya del certificat: - + select key file... selecciona fitxer clau... - + Key password: Contrasenya de la clau: - - - - + + + + Open Document - Obre el document + Obre el document - + Enter certificate path Introduïu la ruta del certificat - + Certificate is not supported No s'admet el certificat - + Enter certificate password Introduïu la contrasenya del certificat - + Wrong certificate password.<br>Please enter again Contrasenya incorrecta del certificat.<br>Si us plau, introduïu de nou - + Enter valid private key Introduïu una clau privada vàlida - + Key is not supported La clau no és compatible - + Enter key password Introduïu la contrasenya de la clau @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Cancel·lar @@ -149,27 +149,27 @@ %1 ha estat modificat.<br>Voleu desar els canvis? - + Some data will lost.<br>Continue? Si continueu guardant en aquest format, es perdran totes les funcions, excepte el text.<br>Estàs segur que vols continuar? - + Open main window Obre la finstra principal - + Document must be saved to continue.<br>Save the document? El document s'ha de desar per a continuar.<br>Desar el document? - + Print Document Imprimir el document - + Document must be saved firstly. El document s'ha de desar abans. @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + No hi ha cap impressora disponible CFileDialogWrapper - + All files (*.*) Tots els arxius (*.*) - DOCX Document (*.docx) - Document Office Open XML (*.docx) + Document Office Open XML (*.docx) - Document template (*.dotx) - Plantilla de document Word Open XML (*.dotx) + Plantilla de document Word Open XML (*.dotx) - + DOC Document (*.doc) Document Word 97-2003 (*.doc) - + ODT Document (*.odt) Fitxer de text OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Plantilla de document OpenDocument (*.ott) + Plantilla de document OpenDocument (*.ott) - + RTF File (*.rtf) Document de text enriquit (*.rtf) - + TXT File (*.txt) Text pla (*.txt) - + HTML File (*.html) Fitxer HTML (*.html) - + MHT File (*.mht) Fitxer MHT (*.mht) - + EPUB File (*.epub) Publicació electronica (*.epub) - + FB2 File (*.fb2) Fitxer FictionBook (*.fb2) - + MOBI File (*.mobi) Llibre electrònic de butxaca (*.mobi) - + OFORM Document (*.oform) Formulari d’emplenament en línia d’ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Plantilla de formulari ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Presentació Office Open XML (*.pptx) - + PPT File (*.ppt) Presentació PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Plantilla de presentació PowerPoint Open XML (*.potx) + Plantilla de presentació PowerPoint Open XML (*.potx) - + ODP File (*.odp) Presentació OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Plantilla de presentació OpenDocument (*.otp) + Plantilla de presentació OpenDocument (*.otp) - + PPSX File (*.ppsx) Presentació de diapositives Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Fitxer de presentació macroactiva (*.pptm) - + XLSX File (*.xlsx) Full de càlcul Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Plantilla de full de càlcul Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Plantilla de full de càlcul Excel Open XML (*.xltx) - + XLS File (*.xls) Full de càlcul Excel 97-2003 (*.xls) - + ODS File (*.ods) Full de càlcul OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Plantilla de full de càlcul OpenDocument (*.ots) + Plantilla de full de càlcul OpenDocument (*.ots) - + + DOCX Document + Document DOCX + + + + OpenDocument Document template + Plantilla de document OpenDocument + + + + OpenDocument Presentation Template + Plantilla de presentació OpenDocument + + + + Macro-enabled spreadsheet template + Plantilla de full de càlcul amb macros + + + + OpenDocument Spreadsheet Template + Plantilla de full de càlcul OpenDocument + + + CSV File (*.csv) Valors separats per comes (*.csv) - + PDF File (*.pdf) Document portàtil (*.pdf) - + PDFA File (*.pdf) Document portàtil /A (*.pdf) - + DJVU File (*.djvu) Document digital (*.djvu) - + XPS File (*.xps) Document OpenXPS (*.xps) - + + SVG Image (*.svg) + Imatge SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) - + Imatge JPG (*.jpg *.jpeg) - + PNG Image (*.png) Imatge PNG (*.png) - + Save As Guardar com - + %1 already exists.<br>Do you want to replace it? Ja existeix %1.<br>Voleu substituir-lo? - + Word Document Document de Word - + Excel Workbook Full de càlcul Excel - + PowerPoint Presentation Presentació PowerPoint - + %1 File (*.%2) Arxius %1 (*.%2) - - - + + + Text documents Documents de text - - - + + + Spreadsheets Fulls de càlcul - - - + + + Presentations Presentacions - + Web Page Pàgina web - + Text files Arxius de text - - - + + + All supported files - + Tots els fitxers admesos - + + + Spreadsheet template + Plantilla de full de càlcul + + + + + Presentation template + Plantilla de presentació + + + + + Document template + Plantilla de document + + + Open Document Obre el document - - + + All Images Totes les imatges - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Fitxer de complements (*.plugin) - + Video file Arxiu de vídeo - + Audio file Arxiu d’àudio - + Select Folder - + Seleccionar una carpeta CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Hi ha més d'un document obert.<br>Voleu tancar la finestra de totes maneres? + + + + Don't ask again. + No tornar a preguntar. + + + + File format not supported. - El format de fitxer no és compatible. + El format de fitxer no és compatible. - + %1 doesn't exists!<br>Remove file from the list? - %1 No està disponible. Es pot canviar el nom, moure-lo o suprimir-lo.<br>Voleu eliminar el fitxer de la llista? + %1 No està disponible. Es pot canviar el nom, moure-lo o suprimir-lo.<br>Voleu eliminar el fitxer de la llista? - + Document must be saved firstly. - El document s'ha de desar abans. + El document s'ha de desar abans. - + Document must be saved to continue.<br>Save the document? - El document s'ha de desar per a continuar.<br>Desar el document? + El document s'ha de desar per a continuar.<br>Desar el document? - + There are no printers available - + No hi ha cap impressora disponible - + Print Document - Imprimir el document + Imprimir el document - + Sign Up - Crear portal + Crear portal - + %1 is modified.<br>Do you want to keep changes? - %1 ha estat modificat.<br>Voleu desar els canvis? + %1 ha estat modificat.<br>Voleu desar els canvis? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Imprimint el document: pàgina %1 of %2 - + Document is preparing Preparant el document - + &Cancel &Cancel·lar - + Printing... Imprimint... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Comprovar si hi ha actualitzacions + + + + Unable to check update: URL not defined. + No s'ha pogut comprovar l'actualització: l'URL no està definida. + + + + To finish updating, restart app + Per finalitzar l'actualització, reinicia l'aplicació + + + + Restart + Reiniciar + + + + Checking for updates... + S'estan comprovant les actualitzacions... + + + + Updates are not allowed! + No es permeten actualitzacions! + + + This folder configuration does not allow for updates! The folder name should be: + Aquesta configuració de carpeta no permet actualitzacions! El nom de la carpeta hauria de ser: + + + + An error occurred while check updates: Update Service not found! + S'ha produït un error en comprovar les actualitzacions: no s'ha trobat el servei d'actualització! + + + + Downloading new version %1 (%2%) + S'està baixant la versió nova %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + S'ha produït un error en carregar les actualitzacions: no s'ha trobat el servei d'actualització! + + + + Cancel + Cancel·lar + + + + An error occurred while loading updates: package Url is empty! + S'ha produït un error en carregar les actualitzacions: l'URL del paquet està buit! + + + + Update package error: md5 sum does not match the original. + Error en actualitzar el paquet: la suma md5 no coincideix amb l'original. + + + + Preparing update... + S'està preparant l'actualització... + + + + An error occurred while unzip updates: Update Service not found! + S'ha produït un error en descomprimir les actualitzacions: no s'ha trobat el servei d'actualització! + + + + Update is available (version %1) + Hi ha una actualització disponible (versió %1) + + + + Download update + Baixar l'actualització + + + + Current version is up to date + La versió actual està actualitzada + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: network error! + + + A service error has occurred! + + + + + Last check performed %1 + Última comprovació realitzada %1 + + + + Error opening JSON file. + + + + + Update is available + Hi ha una actualització disponible + + + + + Current version + Versió actual + + + + + Update version + Actualitzar la versió + + + + Would you like to download update now? + Voleu baixar l'actualització ara? + + + + Update is ready to install + L'actualització està preparada per instal·lar + + + + Would you like to restart app now? + Voleu reiniciar l'aplicació ara? + QObject @@ -596,152 +788,141 @@ %1 No està disponible. Es pot canviar el nom, moure-lo o suprimir-lo.<br>Voleu eliminar el fitxer de la llista? - + File %1 cannot be opened or doesn't exists. El fitxer %1 no es pot obrir o no existeix. - - + + All files (*.*) Tots els arxius (*.*) - + XML File (*.xml) - + Fitxer XML (*.xml) - - + + Access to file '%1' is denied! - + S'ha denegat l'accés al fitxer '%1'! - + Read only - + Només lectura - + + Skip this version - + Ometre aquesta versió - + + Remind me later - + Recorda'm-ho més tard - + + Install update - + Instal·lar l'actualització - - Install on Next Start - + + + Install later + Instal·lar més tard - + + Save and Restart Now - + Desar i reiniciar ara - + + Save and Install Now - + Desar i actualitzar ara - + + Download update - + Baixar l'actualització - + + Software Update - + Actualitzar el programari - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Notes de publicació - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + S'ha produït un error en iniciar la instal·lació d'actualitzacions! - + An error occurred while start replacing files: Update Service not found! - + S'ha produït un error en iniciar la substitució dels fitxers: no s'ha trobat el servei d'actualització! - + Cancel - Cancel·lar + Cancel·lar - + Yes - + - + No - No + No - + OK - D'accord + D'accord - + Skip - + Ometre - + Buy Now - + Comprar ara - + Activate - + Activar - + Continue - + Continuar An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + S'ha produït un error en obrir el portal:<br>%1 &OK diff --git a/win-linux/langs/cs.qm b/win-linux/langs/cs.qm index e21490107..20753552b 100644 Binary files a/win-linux/langs/cs.qm and b/win-linux/langs/cs.qm differ diff --git a/win-linux/langs/cs.ts b/win-linux/langs/cs.ts index 89bb37b64..91c14599a 100644 --- a/win-linux/langs/cs.ts +++ b/win-linux/langs/cs.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Náhled prezentace @@ -21,18 +21,18 @@ Všechna okna editoru budou zavřena. Chceš pokračovat? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Sešit%1.xlsx - + Presentation%1.pptx Prezentace%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Otevírám... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Vyberte certifikát - + select certificate file... vyberte složku certifikátu... - + Certifacate password: Heslo certifikátu: - + select key file... vyberte klíčový soubor... - + Key password: Klíčové heslo: - - - - + + + + Open Document Otevřít dokument - + Enter certificate path Zadejte cestu certifikátu - + Certificate is not supported Certifikát není podporován - + Enter certificate password Zadejte heslo certifikátu - + Wrong certificate password.<br>Please enter again Chybné heslo certifikátu.<br>Zadejte prosím znovu - + Enter valid private key Zadejte platný soukromý klíč - + Key is not supported Klíč není podporován - + Enter key password Zadejte klíčové heslo @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Storno @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Otevřít hlavní okno - + Document must be saved to continue.<br>Save the document? Než budete pokračovat, musíte dokument uložit.<br>Chcete dokument uložit? - + Print Document Vytisknout dokument - + Document must be saved firstly. Dokument musíte nejprve uložit. @@ -185,7 +185,7 @@ %1 byl upraven.<br>Chcete uložit tyto změny? - + Some data will lost.<br>Continue? Pokud budete pokračovat v ukládání v tomto formátu, vše kromě textu bude ztraceno.<br>Opravdu chcete pokračovat? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Nejsou k dispozici žádné tiskárny @@ -201,283 +201,319 @@ CFileDialogWrapper - + All files (*.*) Všechny soubory (*.*) - DOCX Document (*.docx) - Dokument Office Open XML (*.docx) + Dokument Office Open XML (*.docx) - Document template (*.dotx) - Šablona dokumentu Word Open XML (*.dotx) + Šablona dokumentu Word Open XML (*.dotx) - + DOC Document (*.doc) Dokument Word 97-2003 (*.doc) - + ODT Document (*.odt) Textový soubor OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Šablona dokumentu OpenDocument (*.ott) + Šablona dokumentu OpenDocument (*.ott) - + RTF File (*.rtf) Soubor ve formátu Rich Text (*.rtf) - + TXT File (*.txt) Textový soubor (*.txt) - + HTML File (*.html) Soubor hypertextového značkovacího jazyka (*.html) - + MHT File (*.mht) Archiv webových stránek (*.mht) - + EPUB File (*.epub) Soubor elektronické publikace (*.epub) - + FB2 File (*.fb2) Soubor FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Soubor Mobipocket (*.mobi) - + OFORM Document (*.oform) Vyplnitelný online formulář ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Šablona formuláře ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Prezentace Office Open XML (*.pptx) - + PPT File (*.ppt) Prezentace PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Šablona prezentace PowerPoint Open XML (*.potx) + Šablona prezentace PowerPoint Open XML (*.potx) - + ODP File (*.odp) Prezentace OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Šablona prezentace OpenDocument (*.otp) + Šablona prezentace OpenDocument (*.otp) - + PPSX File (*.ppsx) Office Open XML Slide Show (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Tabulkový procesor Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Šablona sešitu Excel Open XML (*.xltx) + Šablona sešitu Excel Open XML (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Tabulka Excel 97-2003 (*.xls) - + ODS File (*.ods) Tabulkový procesor OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Šablona tabulkového procesoru OpenDocument (*.ots) + Šablona tabulkového procesoru OpenDocument (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Hodnoty oddělené čárkou (*.csv) - + PDF File (*.pdf) Přenosný dokument (*.pdf) - + PDFA File (*.pdf) Přenosný dokument /A (*.pdf) - + DJVU File (*.djvu) Digitální dokument (*.djvu) - + XPS File (*.xps) Dokument OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) Obrázek JPG (*.jpg *.jpeg) - + PNG Image (*.png) Obrázek PNG (*.png) - + Save As Uložit jako - + %1 already exists.<br>Do you want to replace it? %1 již existuje.<br>Přejete si ho přepsat? - + Word Document Word dokument - + Excel Workbook Tabulka Excel - + PowerPoint Presentation PowerPoint prezentace - + %1 File (*.%2) %1 soubor (*.%2) - - - + + + Text documents Textové dokumenty - - - + + + Spreadsheets Tabulky - - - + + + Presentations Prezentace - + Web Page Webová stránka - + Text files Textové soubory - - - + + + All supported files Všechny podporované soubory - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Otevřít dokument - - + + All Images Všechny obrázky - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Soubor pluginu (*.plugin) - + Video file Videosoubor - + Audio file Zvukový soubor - + Select Folder Vybrat složku @@ -485,43 +521,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Formát souboru není podporován. - + %1 doesn't exists!<br>Remove file from the list? %1 není dostupný. Možná byl přejmenován, přesunut nebo smazán.<br>Chcete odstranit soubor ze seznamu? - + Document must be saved firstly. Dokument musíte nejprve uložit. - + Document must be saved to continue.<br>Save the document? Než budete pokračovat, musíte dokument uložit.<br>Chcete dokument uložit? - + There are no printers available Nejsou k dispozici žádné tiskárny - + Print Document Vytisknout dokument - + Sign Up Vytvořit kanceláře cloud - + %1 is modified.<br>Do you want to keep changes? %1 byl upraven.<br>Chcete uložit tyto změny? @@ -564,22 +610,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Tisk dokumentu: strana %1 z %2 - + Document is preparing Připravuji dokument - + &Cancel &Storno - + Printing... Tisk... @@ -587,25 +633,183 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - + + An error occurred while check updates: Update Service not found! + + + + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Storno + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + Stáhnout aktualizaci + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + + + A new version of %1 is available! - K dispozici je nová verze %1! + K dispozici je nová verze %1! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 je nyní k dispozici (máte %3). Chcete si ji stáhnout nyní? + %1 %2 je nyní k dispozici (máte %3). Chcete si ji stáhnout nyní? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - Nástroj %1 %2 je nyní stažen (máte %3). Chcete jej nyní nainstalovat? + Nástroj %1 %2 je nyní stažen (máte %3). Chcete jej nyní nainstalovat? @@ -616,7 +820,7 @@ %1 není dostupný. Možná byl přejmenován, přesunut nebo smazán.<br>Chcete odstranit soubor ze seznamu? - + File %1 cannot be opened or doesn't exists. Soubor %1 nelze otevřít nebo neexistuje. @@ -625,8 +829,8 @@ Všechny podporované soubory (*.txt *.csv) - - + + All files (*.*) Všechny soubory (*.*) @@ -635,129 +839,127 @@ Všechny podporované soubory - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only Pouze pro čtení - + + Skip this version Přeskočit tuto verzi - + + Remind me later Připomeňte mi to později - + + Install update Nainstalovat aktualizaci - Install on Next Start - Nainstalovat při dalším spuštění + Nainstalovat při dalším spuštění - + + + Install later + + + + + Save and Restart Now Uložit a restartovat nyní - + + Save and Install Now Nainstalovat - + + Download update Stáhnout aktualizaci - + + Software Update Aktualizace softwaru - + + Release notes Poznámky k vydání - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Storno - + Yes Ano - + No Ne - + OK OK - + Skip Přeskočit - + Buy Now - + Activate - + Continue @@ -766,11 +968,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/da.qm b/win-linux/langs/da.qm index c62473e2f..527094fb0 100644 Binary files a/win-linux/langs/da.qm and b/win-linux/langs/da.qm differ diff --git a/win-linux/langs/da.ts b/win-linux/langs/da.ts index 86f1b7898..736c7a393 100644 --- a/win-linux/langs/da.ts +++ b/win-linux/langs/da.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Præsentationsvisning @@ -21,18 +21,18 @@ Alle editorvinduerne lukkes. Vil du fortsætte? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Bog%1.xlsx - + Presentation%1.pptx Præsentation%1.pptx @@ -52,8 +52,8 @@ CAscTabWidget - - + + Document Åbner... @@ -77,70 +77,70 @@ CDialogOpenSsl - + Select certificate Vælg certifikat - + select certificate file... vælg certifikatsfil... - + Certifacate password: Certifikatsdagangskode: - + select key file... vælg nøglefil... - + Key password: Nøgleadgangskode: - - - - + + + + Open Document Åben Dokument - + Enter certificate path Indtast certifikat vej - + Certificate is not supported Certifikat er ikke understøttet - + Enter certificate password Indtast Certifikatsadgangskode - + Wrong certificate password.<br>Please enter again Forkert Certifikatsadgangskode.<br>Prøv at indtaste igen - + Enter valid private key Indtast en gyldig privatkode - + Key is not supported Nøgle er ikke understøttet - + Enter key password Indtast nøgleadgangskode @@ -148,7 +148,7 @@ CDownloadWidget - + Cancel Annuller @@ -161,27 +161,27 @@ %1 er blevet modificeret.<br>Vil du gemme ændringerne? - + Some data will lost.<br>Continue? Hvis du fortsætter med at gemme i dette format vil alle funktioner undtagen teksten blive væk.<br>Er du sikker på du vil fortsætte? - + Open main window Åbn hovedvindue - + Document must be saved to continue.<br>Save the document? Dokumentet skal gemmes for at fortsætte.<br>Gem dokumentet? - + Print Document Udskriv dokument - + Document must be saved firstly. Dokumentet skal gemmes først. @@ -189,7 +189,7 @@ CEditorWindowPrivate - + There are no printers available Der er ingen printere tilgængelige @@ -197,283 +197,319 @@ CFileDialogWrapper - + All files (*.*) Alle filer (*.*) - DOCX Document (*.docx) - Office Open XML-dokument (*.docx) + Office Open XML-dokument (*.docx) - Document template (*.dotx) - Word Open XML Dokumentskabelon (*.dotx) + Word Open XML Dokumentskabelon (*.dotx) - + DOC Document (*.doc) Word 97-2003-dokument (*.doc) - + ODT Document (*.odt) OpenDocument Tekstfil (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Dokumentskabelon (*.ott) + OpenDocument Dokumentskabelon (*.ott) - + RTF File (*.rtf) Rich Text Format-fil (*.rtf) - + TXT File (*.txt) Almindelig tekst (*.txt) - + HTML File (*.html) HyperText Markup Language File (*.html) - + MHT File (*.mht) Web Page Archive File (*.mht) - + EPUB File (*.epub) Electronic Publication File (*.epub) - + FB2 File (*.fb2) FictionBook 2 File (*.fb2) - + MOBI File (*.mobi) Mobipocket e-bog (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE udfyldbar onlineformular (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE formularskabelon (*.docxf) - + PPTX File (*.pptx) Office Open XML-præsentation (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003-præsentation (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Præsentationsskabelon (*.potx) + PowerPoint Open XML Præsentationsskabelon (*.potx) - + ODP File (*.odp) OpenDocument Præsentation (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Præsentationsskabelon (*.otp) + OpenDocument Præsentationsskabelon (*.otp) - + PPSX File (*.ppsx) Office Open XML-diasshow (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML-regneark (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Regnearksskabelon (*.xltx) + Excel Open XML Regnearksskabelon (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Excel 97-2003-regneark (*.xls) - + ODS File (*.ods) OpenDocument Regneark (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Regnearksskabelon (*.ots) + OpenDocument Regnearksskabelon (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Kommaseparerede værdier (*.csv) - + PDF File (*.pdf) Portable Document (*.pdf) - + PDFA File (*.pdf) Portable Document /A (*.pdf) - + DJVU File (*.djvu) Digitalt dokument (*.djvu) - + XPS File (*.xps) OpenXPS-dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) JPG-billede (*.jpg *.jpeg) - + PNG Image (*.png) PNG-billede (*.png) - + Save As Gem Som - + %1 already exists.<br>Do you want to replace it? %1 eksisterer allerede.<br>Vil du erstatte den? - + Word Document Word Dokument - + Excel Workbook Excel-regneark - + PowerPoint Presentation PowerPoint Præsentation - + %1 File (*.%2) %1 Fil (*.%2) - - - + + + Text documents Tekstdokumenter - - - + + + Spreadsheets Regneark - - - + + + Presentations Præsentationer - + Web Page Hjemmeside - + Text files Tekstfiler - - - + + + All supported files Alle understøttede filer - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Åben Dokument - - + + All Images All Billeder - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin fil (*.plugin) - + Video file Videofil - + Audio file Lydfil - + Select Folder Vælg mappe @@ -481,43 +517,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Filformat er ikke understøttet. - + %1 doesn't exists!<br>Remove file from the list? %1 er ikke tilgængeligt. Det er måske omdøbt, flyttet eller slettet.<br>Vil du fjerne filen fra listen? - + Document must be saved firstly. Dokumentet skal gemmes først. - + Document must be saved to continue.<br>Save the document? Dokument skal gemmes for at fortsætte. <br>Gem dokumentet? - + There are no printers available Der er ingen printere tilgængelige - + Print Document Udskriv dokument - + Sign Up Opret portal - + %1 is modified.<br>Do you want to keep changes? %1 er blevet ændret.<br>Vil du gemme ændringerne? @@ -560,22 +606,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Udskriver dokument: page %1 af %2 - + Document is preparing Forbereder dokument - + &Cancel &Annuller - + Printing... Udskriver... @@ -583,25 +629,183 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - + + An error occurred while check updates: Update Service not found! + + + + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Annuller + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + Download opdatering + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + + + A new version of %1 is available! - En ny version af %1 er tilgængelig! + En ny version af %1 er tilgængelig! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 er nu tilgængelig (du har %3). Ønsker du at downloade den nu? + %1 %2 er nu tilgængelig (du har %3). Ønsker du at downloade den nu? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 er nu downloadet (du har %3). Ønsker du at installere den nu? + %1 %2 er nu downloadet (du har %3). Ønsker du at installere den nu? @@ -612,7 +816,7 @@ %1 er ikke tilgængeligt. Det er måske omdøbt, flyttet eller slettet.<br>Vil du fjerne filen fra listen? - + File %1 cannot be opened or doesn't exists. Fil %1 kan ikke åbnes eller eksisterer ikke. @@ -621,8 +825,8 @@ Alle understøttede filer (*.txt *.csv) - - + + All files (*.*) Alle filer (*.*) @@ -631,129 +835,127 @@ Alle understøttede filer - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only Kun læsning - + + Skip this version Spring denne version over - + + Remind me later Påmind mig senere - + + Install update Installer opdatering - Install on Next Start - Installer ved næste opstart + Installer ved næste opstart - + + + Install later + + + + + Save and Restart Now Gem og genstart nu - + + Save and Install Now Gem og installer nu - + + Download update Download opdatering - + + Software Update Softwareopdatering - + + Release notes Udgivelsesnoter - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Annuller - + Yes Ja - + No Nej - + OK OK - + Skip Spring over - + Buy Now - + Activate - + Continue @@ -762,11 +964,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/de.qm b/win-linux/langs/de.qm index 88c7e305e..9c0d3eb57 100644 Binary files a/win-linux/langs/de.qm and b/win-linux/langs/de.qm differ diff --git a/win-linux/langs/de.ts b/win-linux/langs/de.ts index 10470470d..58f85d8e1 100644 --- a/win-linux/langs/de.ts +++ b/win-linux/langs/de.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Referentenansicht @@ -21,18 +21,18 @@ Alle Editor-Fenster werden geschlossen. Möchten Sie fortfahren? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Buch%1.xlsx - + Presentation%1.pptx Präsentation%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Öffnung... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Wählen Sie das Zertifikat aus - + select certificate file... zertifikatsdateie auswählen... - + Certifacate password: Kennwort für das Zertifikat: - + select key file... schlüsseldatei auswählen... - + Key password: Kennwort für den Schlüssel: - - - - + + + + Open Document Dokument öffnen - + Enter certificate path Geben Sie den Zertifikatspfad ein - + Certificate is not supported Zertifikat wird nicht unterstützt - + Enter certificate password Geben Sie das Zertifikatkennwort ein - + Wrong certificate password.<br>Please enter again Falsches Zertifikats-Kennwort.<br>Bitte noch einmal eingeben - + Enter valid private key Geben Sie einen gültigen privaten Schlüssel ein - + Key is not supported Schlüssel wird nicht unterstützt - + Enter key password Geben Sie Kennwort für den Schlüssel ein @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Abbrechen @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Hauptfenster öffnen - + Document must be saved to continue.<br>Save the document? Das Dokument muss gespeichert werden, um fortzusetzen.<br>Möchten Sie das Dokument speichern? - + Print Document Dokument drucken - + Document must be saved firstly. Das Dokument muss zuerst gespeichert werden. @@ -185,7 +185,7 @@ %1 wurde geändert.<br>Möchten Sie diese Änderungen speichern? - + Some data will lost.<br>Continue? Wenn Sie mit dem Speichern in diesem Format fortsetzen, werden alle Objekte außer Text verloren gehen.<br>Möchten Sie wirklich fortsetzen? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Keine Drucker vorhanden @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Alle Dateien (*.*) - DOCX Document (*.docx) - Office Open XML-Dokument (*.docx) + Office Open XML-Dokument (*.docx) - Document template (*.dotx) - Word Open XML-Dokumentvorlage (*.dotx) + Word Open XML-Dokumentvorlage (*.dotx) - + DOC Document (*.doc) Word 97-2003-Dokument (*.doc) - + ODT Document (*.odt) OpenDocument-Textdatei (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Dokumentvorlage (*.ott) + OpenDocument Dokumentvorlage (*.ott) - + RTF File (*.rtf) Rich-Text-Format-Datei (*.rtf) - + TXT File (*.txt) Textdatei (*.txt) - + HTML File (*.html) HyperText Markup Language-Datei (*.html) - + MHT File (*.mht) Webseiten-Archiv (*.mht) - + EPUB File (*.epub) Elektronische Publikation (*.epub) - + FB2 File (*.fb2) FictionBook-Datei (*.fb2) - + MOBI File (*.mobi) Mobipocket-Datei (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE-Form für Online-Ausfüllung (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE-Formularvorlage (*.docxf) - + PPTX File (*.pptx) Office Open XML-Präsentation (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003-Präsentation (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML-Präsentationsvorlage (*.potx) + PowerPoint Open XML-Präsentationsvorlage (*.potx) - + ODP File (*.odp) OpenDocument-Präsentation (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Präsentationsvorlage (*.otp) + OpenDocument Präsentationsvorlage (*.otp) - + PPSX File (*.ppsx) Office Open XML-Slideshow (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Präsentation mit aktivierten Makros (*.pptm) - + XLSX File (*.xlsx) Office Open XML-Tabellenkalkulation (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML-Tabellenvorlage (*.xltx) + Excel Open XML-Tabellenvorlage (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Vorlage der Tabellenkalkulation mit aktivierten Makros (*.xltm) + Vorlage der Tabellenkalkulation mit aktivierten Makros (*.xltm) - + XLS File (*.xls) Excel 97-2003-Tabellenkalkulation (*.xls) - + ODS File (*.ods) OpenDocument-Tabellenkalkulation (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Tabellenvorlage (*.ots) + OpenDocument Tabellenvorlage (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Kommagetrennte Werte (*.csv) - + PDF File (*.pdf) Portables Dokumentenformat (*.pdf) - + PDFA File (*.pdf) Portables Dokumentenformat /A (*.pdf) - + DJVU File (*.djvu) Digitales Dokument (*.djvu) - + XPS File (*.xps) OpenXPS-Dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) JPG-Bild (*.jpg *.jpeg) - + PNG Image (*.png) PNG-Bild (*.png) - + Save As Speichern unter - + %1 already exists.<br>Do you want to replace it? %1 ist bereits vorhanden.<br>Wollen Sie es ersetzen? - + Word Document Word Dokument - + Excel Workbook Excel-Tabellenkalkulation - + PowerPoint Presentation PowerPoint Präsentation - + %1 File (*.%2) %1 Datei (*.%2) - - - + + + Text documents Textdokumente - - - + + + Spreadsheets Tabellenkalkulationen - - - + + + Presentations Präsentationen - + Web Page Webseite - + Text files Textdateien - - - + + + All supported files Alle unterstützten Dateien - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Dokument öffnen - - + + All Images Alle Bilder - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin-Datei (* .plugin) - + Video file Videodatei - + Audio file Audiodatei - + Select Folder Ordner wählen @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Dateiformat wird nicht unterstützt. - + %1 doesn't exists!<br>Remove file from the list? %1 ist nicht verfügbar. Es wurde vermutlich umbenannt, gelöscht oder verschoben.<br>Wollen Sie die Datei aus der Liste entfernen? - + Document must be saved firstly. Das Dokument muss zuerst gespeichert werden. - + Document must be saved to continue.<br>Save the document? Das Dokument muss gespeichert werden, um fortzusetzen.<br>Möchten Sie das Dokument speichern? - + There are no printers available Keine Drucker vorhanden - + Print Document Dokument drucken - + Sign Up Cloud-Büro erstellen - + %1 is modified.<br>Do you want to keep changes? %1 wurde geändert.<br>Möchten Sie diese Änderungen speichern? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Der Druck des Dokuments: Seite %1 von %2 - + Document is preparing Vorbereitung des Dokuments - + &Cancel &Abbrechen - + Printing... Drucken… @@ -587,25 +637,183 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - + + An error occurred while check updates: Update Service not found! + + + + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Abbrechen + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + Update herunterladen + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + + + A new version of %1 is available! - Die neue Version von %1 ist verfügbar! + Die neue Version von %1 ist verfügbar! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 ist jetzt verfügbar (Sie haben %3). Möchten Sie die App jetzt herunterladen? + %1 %2 ist jetzt verfügbar (Sie haben %3). Möchten Sie die App jetzt herunterladen? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 ist jetzt heruntergeladen (Sie haben %3). Möchten Sie die App jetzt installieren? + %1 %2 ist jetzt heruntergeladen (Sie haben %3). Möchten Sie die App jetzt installieren? @@ -616,7 +824,7 @@ %1 ist nicht verfügbar. Es wurde vermutlich umbenannt, gelöscht oder verschoben.<br>Wollen Sie die Datei aus der Liste entfernen? - + File %1 cannot be opened or doesn't exists. Datei %1 kann nicht geöffnet werden oder existiert nicht. @@ -625,8 +833,8 @@ Alle unterstützten Dateien (*.txt *.csv) - - + + All files (*.*) Alle Dateien (*.*) @@ -635,129 +843,127 @@ Alle unterstützten Dateien - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only Schreibgeschützt - + + Skip this version Diese Version auslassen - + + Remind me later Später - + + Install update Update installieren - Install on Next Start - Beim nächsten Start installieren + Beim nächsten Start installieren - + + + Install later + + + + + Save and Restart Now Jetzt speichern und neu starten - + + Save and Install Now Installieren - + + Download update Update herunterladen - + + Software Update Update der Software - + + Release notes Hinweise zur Veröffentlichung - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Abbrechen - + Yes Ja - + No Nein - + OK OK - + Skip Auslassen - + Buy Now - + Activate - + Continue @@ -766,11 +972,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/el_GR.qm b/win-linux/langs/el_GR.qm index 76af772b1..82b7d500f 100644 Binary files a/win-linux/langs/el_GR.qm and b/win-linux/langs/el_GR.qm differ diff --git a/win-linux/langs/el_GR.ts b/win-linux/langs/el_GR.ts index 8e850d488..27de60a16 100644 --- a/win-linux/langs/el_GR.ts +++ b/win-linux/langs/el_GR.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Προβολή παρουσιαστή @@ -21,18 +21,18 @@ Όλα τα παράθυρα του προγράμματος επεξεργασίας θα κλείσουν. Θέλετε να συνεχίσετε; - - + + Document%1.docx Έγγραφο%1.docx - + Book%1.xlsx Βιβλίο%1.xlsx - + Presentation%1.pptx Παρουσίαση%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Άνοιγμα... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Επιλογή πιστοποιητικού - + select certificate file... επιλέξτε αρχείο πιστοποιητικού... - + Certifacate password: Κωδικός πρόσβασης πιστοποιητικού: - + select key file... επιλέξτε αρχείο κλειδιού... - + Key password: Κωδικός πρόσβασης κλειδιού: - - - - + + + + Open Document - Άνοιγμα εγγράφου + Άνοιγμα εγγράφου - + Enter certificate path Εισαγωγή διαδρομής πιστοποιητικού - + Certificate is not supported Το πιστοποιητικό δεν υποστηρίζεται - + Enter certificate password Εισαγωγή κωδικού πρόσβασης πιστοποιητικού - + Wrong certificate password.<br>Please enter again Λάθος κωδικός πρόσβασης πιστοποιητικού.<br>Παρακαλούμε εισαγάγετέ τον ξανά - + Enter valid private key Εισαγάγετε έγκυρο ιδιωτικό κλειδί - + Key is not supported Το κλειδί δεν υποστηρίζεται - + Enter key password Εισαγωγή κωδικού πρόσβασης κλειδιού @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Ακύρωση @@ -144,22 +144,22 @@ CEditorWindow - + Open main window Άνοιγμα κύριου παραθύρου - + Document must be saved to continue.<br>Save the document? Το έγγραφο πρέπει να αποθηκευτεί για να συνεχίσετε.<br>Αποθήκευση εγγράφου; - + Print Document Εκτύπωση εγγράφου - + Document must be saved firstly. Το έγγραφο πρέπει να αποθηκευτεί πρώτα. @@ -169,7 +169,7 @@ Το %1 έχει τροποποιηθεί.<br>Θέλετε να αποθηκεύσετε τις αλλαγές; - + Some data will lost.<br>Continue? Αν συνεχίσετε την αποθήκευση σε αυτή τη μορφή, όλες οι δυνατότητες, εκτός του κειμένου, θα χαθούν.<br>Θέλετε να συνεχίσετε; @@ -177,337 +177,384 @@ CEditorWindowPrivate - + There are no printers available - + Δεν υπάρχουν διαθέσιμοι εκτυπωτές CFileDialogWrapper - + All files (*.*) Όλα τα αρχεία (*.*) - DOCX Document (*.docx) - Έγγραφο Office με ανοιχτή μορφή XML (*.docx) + Έγγραφο Office με ανοιχτή μορφή XML (*.docx) - Document template (*.dotx) - Πρότυπο εγγράφου Word με ανοιχτή μορφή XML (*.dotx) + Πρότυπο εγγράφου Word με ανοιχτή μορφή XML (*.dotx) - + DOC Document (*.doc) Έγγραφο Word 97-2003 (*.doc) - + ODT Document (*.odt) Αρχείο κειμένου OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Πρότυπο εγγράφου OpenDocument (*.ott) + Πρότυπο εγγράφου OpenDocument (*.ott) - + RTF File (*.rtf) Αρχείο μορφής εμπλουτισμένου κειμένου (*.rtf) - + TXT File (*.txt) Αρχείο απλού κειμένου (*.txt) - + HTML File (*.html) Αρχείο γλώσσας σήμανσης υπερκειμένου (*.html) - + MHT File (*.mht) Αρχείο αρχειοθήκης ιστοσελίδας (*.mht) - + EPUB File (*.epub) Αρχείο EPUB (*.epub) - + FB2 File (*.fb2) Αρχείο FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Ηλεκτρονικό βιβλίο Mobipocket (*.mobi) - + OFORM Document (*.oform) Διαδικτυακή Φόρμα ONLYOFFICE με δυνατότητα συμπλήρωσης (*.oform) - + DOCXF Document (*.docxf) Πρότυπο φόρμας εγγράφου ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Παρουσίαση Office με ανοιχτή μορφή XML (*.pptx) - + PPT File (*.ppt) Παρουσίαση PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Πρότυπο παρουσίασης PowerPoint με ανοιχτή μορφή XML (*.potx) + Πρότυπο παρουσίασης PowerPoint με ανοιχτή μορφή XML (*.potx) - + ODP File (*.odp) Παρουσίαση OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Πρότυπο παρουσίασης OpenDocument (*.otp) + Πρότυπο παρουσίασης OpenDocument (*.otp) - + PPSX File (*.ppsx) Προβολή παρουσίασης Office με ανοιχτή μορφή XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Αρχείο παρουσίασης με δυνατότητα μακροεντολών (*.pptm) - + XLSX File (*.xlsx) Υπολογιστικό φύλλο Office με ανοιχτή μορφή XML (*.xlsx) - Spreadsheet template (*.xltx) - Πρότυπο υπολογιστικού φύλλου Excel με ανοιχτή μορφή XML (*.xltx) + Πρότυπο υπολογιστικού φύλλου Excel με ανοιχτή μορφή XML (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Υπολογιστικό φύλλο Excel 97-2003 (*.xls) - + ODS File (*.ods) Υπολογιστικό φύλλο OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Πρότυπο υπολογιστικού φύλλου OpenDocument (*.ots) + Πρότυπο υπολογιστικού φύλλου OpenDocument (*.ots) - + + DOCX Document + Έγγραφο DOCX + + + + OpenDocument Document template + Πρότυπο παρουσίασης OpenDocument + Πρότυπο εγγράφου OpenDocument + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + Πρότυπο λογιστικού φύλλου με δυνατότητα χρήσης μακροεντολών + + + + OpenDocument Spreadsheet Template + Πρότυπο υπολογιστικού φύλλου OpenDocument + + + CSV File (*.csv) Τιμές διαχωρισμένες με κόμμα (*.csv) - + PDF File (*.pdf) Φορητό έγγραφο (*.pdf) - + PDFA File (*.pdf) Φορητό έγγραφο /A (*.pdf) - + DJVU File (*.djvu) Ψηφιακό έγγραφο (*.djvu) - + XPS File (*.xps) Έγγραφο OpenXPS (*.xps) - + + SVG Image (*.svg) + Εικόνα SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) - + Εικόνα JPG (*.jpg *.jpeg) - + PNG Image (*.png) Εικόνα PNG (*.png) - + Save As Αποθήκευση ως - + %1 already exists.<br>Do you want to replace it? Το %1 υπάρχει ήδη.<br>Θέλετε να το αντικαταστήσετε; - + Word Document Έγγραφο Word - + Excel Workbook Υπολογιστικό φύλλο Excel - + PowerPoint Presentation Παρουσίαση PowerPoint - + %1 File (*.%2) Αρχείο %1 (*.%2) - - - + + + Text documents Έγγραφα κειμένου - - - + + + Spreadsheets Υπολογιστικά φύλλα - - - + + + Presentations Παρουσιάσεις - + Web Page Ιστοσελίδα - + Text files Αρχεία κειμένου - - - + + + All supported files - + Όλα τα υποστηριζόμενα αρχεία + + + + + Spreadsheet template + Πρότυπο υπολογιστικού φύλλου - + + + Presentation template + Πρότυπο παρουσίασης + + + + + Document template + Πρότυπο εγγράφου + + + Open Document Άνοιγμα εγγράφου - - + + All Images Όλες οι εικόνες - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Αρχείο προσθήκης (*.plugin) - + Video file Αρχείο βίντεο - + Audio file Αρχείου ήχου - + Select Folder - + Επιλογή φακέλου CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Περισσότερα από ένα έγγραφα είναι ανοιχτά.<br>Κλείσιμο του παραθύρου ούτως ή άλλως; + + + + Don't ask again. + Να μην ξαναγίνει ερώτηση. + + + + File format not supported. - Η μορφή αρχείου δεν υποστηρίζεται. + Η μορφή αρχείου δεν υποστηρίζεται. - + %1 doesn't exists!<br>Remove file from the list? - Το %1 δεν είναι διαθέσιμο. Μπορεί να έχει μετονομαστεί, μετακινηθεί ή διαγραφεί.<br>Θέλετε να αφαιρέσετε το αρχείο από τη λίστα; + Το %1 δεν είναι διαθέσιμο. Μπορεί να έχει μετονομαστεί, μετακινηθεί ή διαγραφεί.<br>Θέλετε να αφαιρέσετε το αρχείο από τη λίστα; - + Document must be saved firstly. - Το έγγραφο πρέπει να αποθηκευτεί πρώτα. + Το έγγραφο πρέπει να αποθηκευτεί πρώτα. - + Document must be saved to continue.<br>Save the document? - Το έγγραφο πρέπει να αποθηκευτεί για να συνεχίσετε.<br>Αποθήκευση εγγράφου; + Το έγγραφο πρέπει να αποθηκευτεί για να συνεχίσετε.<br>Αποθήκευση εγγράφου; - + There are no printers available - + Δεν υπάρχουν διαθέσιμοι εκτυπωτές - + Print Document - Εκτύπωση εγγράφου + Εκτύπωση εγγράφου - + Sign Up - Δημιουργία πύλης + Δημιουργία πύλης - + %1 is modified.<br>Do you want to keep changes? - Το %1 έχει τροποποιηθεί.<br>Θέλετε να αποθηκεύσετε τις αλλαγές; + Το %1 έχει τροποποιηθεί.<br>Θέλετε να αποθηκεύσετε τις αλλαγές; @@ -544,22 +591,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Εκτύπωση εγγράφου: σελίδα %1 από %2 - + Document is preparing Προετοιμασία εγγράφου - + &Cancel &Ακύρωση - + Printing... Εκτύπωση... @@ -567,26 +614,173 @@ CUpdateManager - + + Check for updates + Έλεγχος για ενημερώσεις + + + + Unable to check update: URL not defined. + Δεν είναι δυνατός ο έλεγχος της ενημέρωσης: Δεν έχει οριστεί URL. + + + + To finish updating, restart app + Επανεκκίνηση + Για να ολοκληρώσετε την ενημέρωση, επανεκκινήστε την εφαρμογή + + + + Restart + + + + + Checking for updates... + Γίνεται έλεγχος για ενημερώσεις... + + + + Updates are not allowed! + Οι ενημερώσεις δεν επιτρέπονται! + + + This folder configuration does not allow for updates! The folder name should be: + Αυτή η διαμόρφωση φακέλου δεν επιτρέπει ενημερώσεις! Το όνομα του φακέλου θα πρέπει να είναι: + + + + An error occurred while check updates: Update Service not found! + Προέκυψε σφάλμα κατά τον έλεγχο των ενημερώσεων: Η υπηρεσία ενημέρωσης δεν βρέθηκε! + + + + Downloading new version %1 (%2%) + Λήψη νέας έκδοσης %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Εμφανίστηκε σφάλμα κατά τη φόρτωση ενημερώσεων: Η υπηρεσία ενημέρωσης δεν βρέθηκε! + + + + Cancel + Ακύρωση + + + + An error occurred while loading updates: package Url is empty! + Εμφανίστηκε σφάλμα κατά τη φόρτωση ενημερώσεων: Η Url του πακέτου είναι κενή! + + + + Update package error: md5 sum does not match the original. + Σφάλμα πακέτου ενημέρωσης: Το άθροισμα md5 δεν ταιριάζει με το αρχικό. + + + + Preparing update... + Προετοιμασία ενημέρωσης... + + + + An error occurred while unzip updates: Update Service not found! + Εμφανίστηκε σφάλμα κατά την αποσυμπίεση των ενημερώσεων: Η υπηρεσία ενημερώσεων δεν βρέθηκε! + + + + Update is available (version %1) + Η ενημέρωση είναι διαθέσιμη (έκδοση %1) + + + + Download update + Λήψη ενημέρωσης + + + + Current version is up to date + Η τρέχουσα έκδοση είναι ενημερωμένη + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Έγινε ο τελευταίος έλεγχος %1 + + + + Error opening JSON file. + + + + + Update is available + Η ενημέρωση είναι διαθέσιμη + + + + + Current version + Τρέχουσα έκδοση + + + + + Update version + Έκδοση ενημέρωσης + + + + Would you like to download update now? + Θα θέλατε να κατεβάσετε την ενημέρωση τώρα; + + + + Update is ready to install + Η ενημέρωση είναι έτοιμη για εγκατάσταση + + + + Would you like to restart app now? + Θα θέλατε να κάνετε επανεκκίνηση της εφαρμογής τώρα; + QObject @@ -596,7 +790,7 @@ Το %1 δεν είναι διαθέσιμο. Μπορεί να έχει μετονομαστεί, μετακινηθεί ή διαγραφεί.<br>Θέλετε να αφαιρέσετε το αρχείο από τη λίστα; - + File %1 cannot be opened or doesn't exists. Το αρχείο %1 δεν μπορεί να ανοιχτεί ή δεν υπάρχει. @@ -605,147 +799,136 @@ Όλα τα υποστηριζόμενα αρχεία (*.txt *.csv) - - + + All files (*.*) Όλα τα αρχεία (*.*) - + XML File (*.xml) - + Αρχείο XML (*.xml) - - + + Access to file '%1' is denied! - + Η πρόσβαση στο αρχείο '%1' δεν επιτρέπεται! - + Read only - + Μόνο για ανάγνωση - + + Skip this version - + Παράλειψη αυτής της έκδοσης - + + Remind me later - + Υπενθύμιση αργότερα - + + Install update - + Εγκατάσταση ενημέρωσης - - Install on Next Start - + + + Install later + Εγκατάσταση αργότερα - + + Save and Restart Now - + Αποθήκευση και επανεκκίνηση τώρα - + + Save and Install Now Εγκατάσταση - + + Download update - + Λήψη ενημέρωσης - + + Software Update - + Ενημέρωση λογισμικού - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Σημειώσεις έκδοσης - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Εμφανίστηκε σφάλμα κατά την έναρξη εγκατάστασης ενημερώσεων! - + An error occurred while start replacing files: Update Service not found! - + Εμφανίστηκε σφάλμα κατά την έναρξη αντικατάστασης αρχείων: Η υπηρεσία ενημερώσεων δεν βρέθηκε! - + Cancel - Ακύρωση + Ακύρωση - + Yes - Ναι + Ναι - + No - Όχι + Όχι - + OK - Εντάξει + Εντάξει - + Skip - + Παράλειψη - + Buy Now - + Αγορά τώρα - + Activate - + Ενεργοποίηση - + Continue - + Συνέχεια An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Εμφανίστηκε σφάλμα κατά το άνοιγμα της πύλης:<br>%1 &OK diff --git a/win-linux/langs/en.qm b/win-linux/langs/en.qm index 5208042bb..ca4e19159 100644 Binary files a/win-linux/langs/en.qm and b/win-linux/langs/en.qm differ diff --git a/win-linux/langs/en.ts b/win-linux/langs/en.ts index 813c50621..8082350d3 100644 --- a/win-linux/langs/en.ts +++ b/win-linux/langs/en.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View @@ -17,18 +17,18 @@ All the editor windows will be closed. Do you want to continue? - - + + Document%1.docx - + Book%1.xlsx - + Presentation%1.pptx @@ -36,8 +36,8 @@ CAscTabWidget - - + + Document Opening... @@ -61,70 +61,70 @@ CDialogOpenSsl - + Select certificate - + select certificate file... - + Certifacate password: Certificate password: - + select key file... - + Key password: - - - - + + + + Open Document - + Enter certificate path - + Certificate is not supported - + Enter certificate password - + Wrong certificate password.<br>Please enter again Wrong certificate password.<br>Please enter once again - + Enter valid private key - + Key is not supported - + Enter key password @@ -132,7 +132,7 @@ CDownloadWidget - + Cancel @@ -140,22 +140,22 @@ CEditorWindow - + Open main window - + Document must be saved to continue.<br>Save the document? The document must be saved to continue.<br>Save the document? - + Print Document Print document - + Document must be saved firstly. The document must be saved first. @@ -165,7 +165,7 @@ %1 has been modified.<br>Do you want to save the changes? - + Some data will lost.<br>Continue? If you continue saving in this format all features except the text will be lost.<br>Are you sure you want to continue? @@ -173,7 +173,7 @@ CEditorWindowPrivate - + There are no printers available @@ -181,283 +181,315 @@ CFileDialogWrapper - + All files (*.*) - DOCX Document (*.docx) - Office Open XML Document (*.docx) + Office Open XML Document (*.docx) - Document template (*.dotx) - Word Open XML Document Template (*.dotx) + Word Open XML Document Template (*.dotx) - + DOC Document (*.doc) Word 97-2003 Document (*.doc) - + ODT Document (*.odt) OpenDocument Text File (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Document Template (*.ott) + OpenDocument Document Template (*.ott) - + RTF File (*.rtf) Rich Text Format File (*.rtf) - + TXT File (*.txt) Plain Text File (*.txt) - + HTML File (*.html) HyperText Markup Language File (*.html) - + MHT File (*.mht) Web Page Archive File (*.mht) - + EPUB File (*.epub) Electronic Publication File (*.epub) - + FB2 File (*.fb2) FictionBook 2 File (*.fb2) - + MOBI File (*.mobi) Mobipocket File (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Fillable Online Form (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Form Template (*.docxf) - + PPTX File (*.pptx) Office Open XML Presentation (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Presentation (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Presentation Template (*.potx) + PowerPoint Open XML Presentation Template (*.potx) - + ODP File (*.odp) OpenDocument Presentation (*.odp) - - OpenDocument Presentation Template (*.otp) - - - - + PPSX File (*.ppsx) Office Open XML Slide Show (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Macro-enabled Presentation (*.pptm) - + XLSX File (*.xlsx) Office Open XML Spreadsheet (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Spreadsheet Template (*.xltx) + Excel Open XML Spreadsheet Template (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Macro-enabled Spreadsheet Template (*.xltm) + Macro-enabled Spreadsheet Template (*.xltm) - + XLS File (*.xls) Excel 97-2003 Spreadsheet (*.xls) - + ODS File (*.ods) OpenDocument Spreadsheet (*.ods) - - OpenDocument Spreadsheet Template (*.ots) + + DOCX Document - + + OpenDocument Document template + OpenDocument Document Template + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + Macro-enabled Spreadsheet Template + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Comma Separated Values (*.csv) - + PDF File (*.pdf) Portable Document (*.pdf) - + PDFA File (*.pdf) Portable Document /A (*.pdf) - + DJVU File (*.djvu) Digital Document (*.djvu) - + XPS File (*.xps) OpenXPS Document (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) - + Save As - + %1 already exists.<br>Do you want to replace it? - + Word Document - + Excel Workbook Excel Spreadsheet - + PowerPoint Presentation - + %1 File (*.%2) - - - + + + Text documents - - - + + + Spreadsheets - - - + + + Presentations - + Web Page - + Text files - - - + + + All supported files - + + + Spreadsheet template + Spreadsheet Template + + + + + Presentation template + Presentation Template + + + + + Document template + Document Template + + + Open Document - - + + All Images - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) - + Video file - + Audio file - + Select Folder @@ -465,43 +497,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. File format is not supported - + %1 doesn't exists!<br>Remove file from the list? %1 is not available. It might be renamed, moved or deleted.<br>Do you want to remove the file from the list? - + Document must be saved firstly. The document must be saved first. - + Document must be saved to continue.<br>Save the document? The document must be saved to continue.<br>Save the document? - + There are no printers available - + Print Document Print document - + Sign Up Create portal - + %1 is modified.<br>Do you want to keep changes? %1 has been modified.<br>Do you want to save the changes? @@ -517,22 +559,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Printing document: page %1 of %2 - + Document is preparing Preparing document - + &Cancel - + Printing... @@ -540,25 +582,171 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - + - - - A new version of %1 is available! - + + An error occurred while check updates: Update Service not found! + - - %1 %2 is now available (you have %3). Would you like to download it now? - + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + + + + + An error occurred while loading updates: package Url is empty! + An error occurred while loading updates: package URL is empty! + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + - - %1 %2 is now downloaded (you have %3). Would you like to install it now? - + + Current version is up to date + + + + + An error occured while unpacking the archive + An error occurred while unpacking the archive + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + @@ -569,152 +757,145 @@ %1 is not available. It might be renamed, moved or deleted.<br>Do you want to remove the file from the list? - + File %1 cannot be opened or doesn't exists. File %1 cannot be opened or doesn't exist. - - + + All files (*.*) - + XML File (*.xml) - + - - + + Access to file '%1' is denied! - + - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Install - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start installing updates! - + An error occurred while start replacing files: Update Service not found! - + - + Cancel - + - + Yes - + - + No - + - + OK - + - + Skip - + - + Buy Now - + - + Activate - + - + Continue - + An error occurred while opening the portal:<br>%1 - + - App can't working correctly under admin rights. - + App can't work correctly under admin rights. diff --git a/win-linux/langs/es.qm b/win-linux/langs/es.qm index 729ee3995..80513a400 100644 Binary files a/win-linux/langs/es.qm and b/win-linux/langs/es.qm differ diff --git a/win-linux/langs/es.ts b/win-linux/langs/es.ts index 230d3ac23..3fa2bb594 100644 --- a/win-linux/langs/es.ts +++ b/win-linux/langs/es.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vista del presentador @@ -21,18 +21,18 @@ Todas las ventanas del editor estarán cerradas. ¿Quiere continuar? - - + + Document%1.docx Documento%1.docx - + Book%1.xlsx Libro%1.xlsx - + Presentation%1.pptx Presentación%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Abriendo... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Seleccionar certificado - + select certificate file... seleccionar archivo de certificado... - + Certifacate password: Contraseña del certificado: - + select key file... seleccionar archivo de clave... - + Key password: Clave de contraseña: - - - - + + + + Open Document Abrir documento - + Enter certificate path Introduzca la ruta del certificado - + Certificate is not supported No se admite el certificado - + Enter certificate password Introduzca la contraseña del certificado - + Wrong certificate password.<br>Please enter again Contraseña de certificado incorrecta.<br>Por favor, introdúzcala de nuevo - + Enter valid private key Introduzca una clave privada válida - + Key is not supported No se admite la clave - + Enter key password Introduzca la contraseña de la clave @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Cancelar @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Abrir la ventana principal - + Document must be saved to continue.<br>Save the document? El documento debe guardarse para continuar.<br>¿Guardar el documento? - + Print Document Imprimir documento - + Document must be saved firstly. Primero debe guardar el documento. @@ -185,7 +185,7 @@ %1 ha sido modificado.<br>¿Quiere guardar los cambios? - + Some data will lost.<br>Continue? Si sigue guardando en este formato, todas las características, a excepción del texto, se perderán.<br>¿Está seguro de que quiere continuar? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available No hay impresoras disponibles @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Todos los archivos (*.*) - DOCX Document (*.docx) - Documento Office Open XML (*.docx) + Documento Office Open XML (*.docx) - Document template (*.dotx) - Plantilla de documento Word Open XML (*.dotx) + Plantilla de documento Word Open XML (*.dotx) - + DOC Document (*.doc) Documento Word 97-2003 (*.doc) - + ODT Document (*.odt) Archivo de texto de OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Plantilla de documento OpenDocument (*.ott) + Plantilla de documento OpenDocument (*.ott) - + RTF File (*.rtf) Archivo de formato de texto enriquecido (*.rtf) - + TXT File (*.txt) Archivo de texto sin formato (*.txt) - + HTML File (*.html) Archivo de lenguaje de marcado de hipertexto (*.html) - + MHT File (*.mht) Archivo de página web (*.mht) - + EPUB File (*.epub) Archivo de publicación electrónica (*.epub) - + FB2 File (*.fb2) Archivo FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Archivo Mobipocket (*.mobi) - + OFORM Document (*.oform) Formulario rellenable online ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Plantilla de formulario ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Presentación Office Open XML (*.pptx) - + PPT File (*.ppt) Presentación PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Plantilla de presentación PowerPoint Open XML (*.potx) + Plantilla de presentación PowerPoint Open XML (*.potx) - + ODP File (*.odp) Presentación de OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Plantilla de presentación OpenDocument (*.otp) + Plantilla de presentación OpenDocument (*.otp) - + PPSX File (*.ppsx) Presentación con diapositivas Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Presentación compatible con macros (*.pptm) - + XLSX File (*.xlsx) Hoja de cálculo Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Plantilla de hoja de cálculo Excel Open XML (*.xltx) + Plantilla de hoja de cálculo Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Plantilla de hoja de cálculo compatible con macros (*.xltm) + Plantilla de hoja de cálculo compatible con macros (*.xltm) - + XLS File (*.xls) Hoja de cálculo Excel 97-2003 (*.xls) - + ODS File (*.ods) Hoja de cálculo de OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Plantilla de hoja de cálculo OpenDocument (*.ots) + Plantilla de hoja de cálculo OpenDocument (*.ots) - + + DOCX Document + Documento DOCX + + + + OpenDocument Document template + Plantilla de documento OpenDocument + + + + OpenDocument Presentation Template + Plantilla de presentación OpenDocument + + + + Macro-enabled spreadsheet template + Plantilla de hoja de cálculo compatible con macros + + + + OpenDocument Spreadsheet Template + Plantilla de hoja de cálculo OpenDocument + + + CSV File (*.csv) Valores separados por comas (*.csv) - + PDF File (*.pdf) Documento portátil (*.pdf) - + PDFA File (*.pdf) Documento portátil /A (*.pdf) - + DJVU File (*.djvu) Documento digital (*.djvu) - + XPS File (*.xps) Documento OpenXPS (*.xps) - + + SVG Image (*.svg) + Imagen SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Imagen JPG (*.jpg *.jpeg) - + PNG Image (*.png) Imagen PNG (*.png) - + Save As Guardar como - + %1 already exists.<br>Do you want to replace it? %1 ya existe.<br>¿Desea reemplazarlo? - + Word Document Documento de Word - + Excel Workbook Hoja de cálculo de Excel - + PowerPoint Presentation Presentación de PowerPoint - + %1 File (*.%2) %1 Archivo (*.%2) - - - + + + Text documents Documentos de texto - - - + + + Spreadsheets Hojas de cálculo - - - + + + Presentations Presentaciones - + Web Page Página web - + Text files Archivos de texto - - - + + + All supported files Todos los archivos compatibles - + + + Spreadsheet template + Plantilla de hoja de cálculo + + + + + Presentation template + Plantilla de presentación + + + + + Document template + Plantilla de documento + + + Open Document Abrir documento - - + + All Images Todas las imágenes - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Archivo de plugin (*.plugin) - + Video file Archivo de vídeo - + Audio file Archivo de audio - + Select Folder Seleccionar carpeta @@ -524,43 +564,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Hay más de un documento abierto. ¿Cerrar la ventana de todos modos? + + + + Don't ask again. + No volver a preguntar. + + + + File format not supported. El formato del archivo no es compatible. - + %1 doesn't exists!<br>Remove file from the list? %1 no está disponible. Es posible que haya sido renombrado, transferido o eliminado.<br>¿Desea eliminar el archivo de la lista? - + Document must be saved firstly. Primero debe guardar el documento. - + Document must be saved to continue.<br>Save the document? El documento debe guardarse para continuar.<br>¿Guardar el documento? - + There are no printers available No hay impresoras disponibles - + Print Document Imprimir documento - + Sign Up Crear cuenta en la nube - + %1 is modified.<br>Do you want to keep changes? %1 ha sido modificado.<br>¿Quiere guardar los cambios? @@ -603,22 +653,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Imprimiendo documento: página %1 de %2 - + Document is preparing Preparando documento - + &Cancel &Cancelar - + Printing... Imprimiendo... @@ -626,25 +676,191 @@ CUpdateManager - + Last check performed + Se ha realizado la última comprobación + + + + Check for updates + Comprobando las actualizaciones + + + + Unable to check update: URL not defined. + No se ha podido comprobar la actualización: la URL no está definida. + + + + To finish updating, restart app + Para terminar la actualización, reinicie la aplicación + + + + Restart + Reiniciar + + + + Checking for updates... + Comprobando las actualizaciones... + + + + Updates are not allowed! + ¡Las actualizaciones no están permitidas! + + + This folder configuration does not allow for updates! The folder name should be: - + Esta configuración de carpeta no permite actualizaciones. El nombre de la carpeta debe ser: + + + + An error occurred while check updates: Update Service not found! + Se ha producido un error al comprobar las actualizaciones: ¡No se ha encontrado el servicio de actualización! + + + + Downloading new version %1 (%2%) + Descargando la nueva versión %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Se ha producido un error al cargar las actualizaciones: ¡No se ha encontrado el servicio de actualización! + + + Downloading new version %1 (0%) + Descargando la nueva versión %1 (0%) + + + + Cancel + Cancelar + + + + An error occurred while loading updates: package Url is empty! + Se ha producido un error al cargar las actualizaciones: ¡La Url del paquete está vacía! + + + + Update package error: md5 sum does not match the original. + Error al actualizar el paquete: la suma md5 no coincide con la original. + + + + Preparing update... + Preparando la actualización... + + + + An error occurred while unzip updates: Update Service not found! + Se ha producido un error al descomprimir las actualizaciones: ¡No se ha encontrado el servicio de actualización! + + + + Update is available (version %1) + La actualización está disponible (versión %1) + + + + Download update + Descargar actualización + + + + Current version is up to date + La versión actual está actualizada + + + + An error occured while unpacking the archive + Se ha producido un error al descomprimir el archivo + + + + Update download failed: out of memory! + Error al descargar la actualización: ¡no hay memoria! + + + + Update download failed: server connection error! + Error al descargar la actualización: ¡error de conexión con el servidor! + + + + Update download failed: wrong URL! + Error al descargar la actualización: ¡URL incorrecta! + + + + Update download failed: unable to create file! + Error al descargar la actualización: ¡no se ha podido crear el archivo! + + + + Update download failed: network error! + Error al descargar la actualización: ¡error de red! + + + + A service error has occurred! + ¡Se ha producido un error de servicio! + + + + Last check performed %1 + Última comprobación realizada %1 + + + + Error opening JSON file. + Error al abrir el archivo JSON. + + + + Update is available + La actualización está disponible + + + + + Current version + Versión actual + + + + + Update version + Versión de actualización + + + + Would you like to download update now? + ¿Desea descargar la actualización ahora? + + + + Update is ready to install + La actualización está lista para instalarse + + + + Would you like to restart app now? + ¿Desea reiniciar la aplicación ahora? - - A new version of %1 is available! - ¡Una nueva versión de %1 está disponible! + ¡Una nueva versión de %1 está disponible! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 ya está disponible (usted tiene %3). ¿Desea descargarlo ahora? + %1 %2 ya está disponible (usted tiene %3). ¿Desea descargarlo ahora? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 ya está descargado (usted tiene %3). ¿Desea instalarlo ahora? + %1 %2 ya está descargado (usted tiene %3). ¿Desea instalarlo ahora? @@ -655,7 +871,7 @@ %1 no está disponible. Es posible que haya sido renombrado, transferido o eliminado.<br>¿Desea eliminar el archivo de la lista? - + File %1 cannot be opened or doesn't exists. El archivo %1 no se puede abrir o no existe. @@ -664,8 +880,8 @@ Todos los archivos compatibles (*.txt *.csv) - - + + All files (*.*) Todos los archivos (*.*) @@ -674,141 +890,150 @@ Todos los archivos compatibles - + XML File (*.xml) - + Archivo XML (*.xml) - - + + Access to file '%1' is denied! - + ¡El acceso al archivo '%1' está denegado! - + Read only Solo lectura - + + Skip this version Omitir esta versión - + + Remind me later Avisarme más tarde - + + Install update Instalar actualización - Install on Next Start - Instalar la próxima vez que inicie el programa + Instalar la próxima vez que inicie el programa - + + + Install later + Instalar más tarde + + + + Save and Restart Now Guardar y reiniciar ahora - + + Save and Install Now Instalar - + + Download update Descargar actualización - + + Software Update Actualización de software - + + Release notes Notas de la versión - An error occurred while check updates: Update Service not found! - + Se ha producido un error al comprobar las actualizaciones: ¡No se ha encontrado el servicio de actualización! - An error occurred while loading updates: Update Service not found! - + Se ha producido un error al cargar las actualizaciones: ¡No se ha encontrado el servicio de actualización! - An error occurred while unzip updates: Update Service not found! - + Se ha producido un error al extraer las actualizaciones: ¡No se ha encontrado el servicio de actualización! - + An error occurred while start install updates! - + Se ha producido un error al iniciar la instalación de actualizaciones. - + An error occurred while start replacing files: Update Service not found! - + Se ha producido un error al iniciar la sustitución de archivos: ¡No se ha encontrado el servicio de actualización! - + Cancel - Cancelar + Cancelar - + Yes - + - + No - No + No - + OK - Aceptar + Aceptar - + Skip - Omitir + Omitir - + Buy Now - + Comprar ahora - + Activate - + Activar - + Continue - + Continuar An error occurred while opening the portal:<br>%1 - + Se ha producido un error al abrir el portal: <br>%1 - App can't working correctly under admin rights. - + La app no puede funcionar correctamente con los derechos de administrador. &OK diff --git a/win-linux/langs/et.qm b/win-linux/langs/et.qm index 091945c49..7772b1872 100644 Binary files a/win-linux/langs/et.qm and b/win-linux/langs/et.qm differ diff --git a/win-linux/langs/et.ts b/win-linux/langs/et.ts index af8f12eb1..1b56f7796 100644 --- a/win-linux/langs/et.ts +++ b/win-linux/langs/et.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Esitaja vaade @@ -21,18 +21,18 @@ Kõik redigeerija aknad suletakse. Kas sa soovid jätkata? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Raamat%1.xlsx - + Presentation%1.pptx Esitlus%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Avamine... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Vali sertifikaat - + select certificate file... vali sertifikaadi fail... - + Certifacate password: Sertifikaadi salasõna: - + select key file... vali võtmefail... - + Key password: Võtme salasõna: - - - - + + + + Open Document Ava dokument - + Enter certificate path Sisesta sertifitseerimise tee - + Certificate is not supported Sertifikaati ei toetata - + Enter certificate password Sisesta sertifikaadi salasõna - + Wrong certificate password.<br>Please enter again Vale sertifikaadi salasõna.<br> Palun sisesta uuesti - + Enter valid private key Sisesta kehtiv privaatvõti - + Key is not supported Võtit ei toetata - + Enter key password Sisesta võtme salasõna @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Tühista @@ -149,27 +149,27 @@ %1 on muudetud.<br>Kas sa tahad muudatused salvestada? - + Some data will lost.<br>Continue? Kui sa jätkad selles formaadis salvestamist, siis kõik peale teksti kaob ära.<br> Oled kindel, et tahad jätkata? - + Open main window Ava peamine aken - + Document must be saved to continue.<br>Save the document? Dokument tuleb salvestada, et jätkata.<br>Salvestasid dokumendi? - + Print Document Prindi dokument - + Document must be saved firstly. Dokument tuleb enne salvestada. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Kõik failid (*.*) - DOCX Document (*.docx) - Office avatud XML dokument (*.docx) + Office avatud XML dokument (*.docx) - Document template (*.dotx) - Word Open XML dokument šabloon (*.dotx) + Word Open XML dokument šabloon (*.dotx) - + DOC Document (*.doc) Word 97-2003 dokument (*.doc) - + ODT Document (*.odt) OpenDocument teksti fail (*.odt) - OpenDocument Document template (*.ott) - OpenDocument dokumendi šabloon (*.ott) + OpenDocument dokumendi šabloon (*.ott) - + RTF File (*.rtf) Rikkaliku Teksti Dokument (*.rtf) - + TXT File (*.txt) Tavaline Tekst (*.txt) - + HTML File (*.html) HTML Fail (*.html) - + MHT File (*.mht) MHT Fail (*.mht) - + EPUB File (*.epub) EPUB Fail (*.epub) - + FB2 File (*.fb2) FB2 Fail (*.fb2) - + MOBI File (*.mobi) Mobipocket e-raamat (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE täidetav veebivorm (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE dokumendi vormi mall (*.docxf) - + PPTX File (*.pptx) Office avatud XML esitlus (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 esitlus (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML esitluse šabloon (*.potx) + PowerPoint Open XML esitluse šabloon (*.potx) - + ODP File (*.odp) OpenDocument esitlus (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument esitluse šabloon(*.otp) + OpenDocument esitluse šabloon(*.otp) - + PPSX File (*.ppsx) Office Open XML pildiesitlus (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office avatud XML arvutustabel (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML arvutustabeli šabloon (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML arvutustabeli šabloon (*.xltx) - + XLS File (*.xls) Excel 97-2003 arvutustabel (*.xls) - + ODS File (*.ods) OpenDocument arvutustabel (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument arvutustabeli šabloon (*.ots) + OpenDocument arvutustabeli šabloon (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Komaga eraldatud väärtused (*.csv) - + PDF File (*.pdf) Porditav document (*.pdf) - + PDFA File (*.pdf) Porditav document /A (*.pdf) - + DJVU File (*.djvu) Digitaalne dokument (*.djvu) - + XPS File (*.xps) OpenXPS dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG-pilt (*.png) - + Save As Salvesta kui - + %1 already exists.<br>Do you want to replace it? %1 juba eksisteerib.<br> Kas sa soovid selle asendada? - + Word Document Word Dokument - + Excel Workbook Excel Arvutusleht - + PowerPoint Presentation PowerPoint Esitlus - + %1 File (*.%2) %1 Fail (*.%2) - - - + + + Text documents Text dokumendid - - - + + + Spreadsheets Arvutustabelid - - - + + + Presentations Esitlused - + Web Page Veebilehekülg - + Text files Veebilehekülg - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Ava dokument - - + + All Images Kõik pildid - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin fail (*.plugin) - + Video file Video fail - + Audio file Audio fail - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Faili formaati ei toetata. - + %1 doesn't exists!<br>Remove file from the list? %1 ei ole saadaval. Ta võib olla uue nimega, muudetud või kustutatud.<br> Kas sa soovid faili listist eemaldada? - + Document must be saved firstly. Dokument tuleb enne salvestada. - + Document must be saved to continue.<br>Save the document? Dokument tuleb salvestada, et jätkata.<br>Salvestasid dokumendi? - + There are no printers available - + Print Document Prindi dokument - + Sign Up Loo portaal - + %1 is modified.<br>Do you want to keep changes? %1 on muudetud.<br>Kas sa tahad muutused salvestada? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Dokumendi printimine: Lehekülg %1 osa %2 - + Document is preparing Dokumendi ettevalmistamine - + &Cancel &Tühista - + Printing... Printimine... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Tühista + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 ei ole saadaval. Ta võib olla uue nimega, muudetud või kustutatud.<br> Kas sa soovid faili listist eemaldada? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Kõik failid (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Tühista - + Yes Jah - + No Ei - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/fi.qm b/win-linux/langs/fi.qm index 7cb5e7a0e..62357187d 100644 Binary files a/win-linux/langs/fi.qm and b/win-linux/langs/fi.qm differ diff --git a/win-linux/langs/fi.ts b/win-linux/langs/fi.ts index b79d9ac87..0ea8071ec 100644 --- a/win-linux/langs/fi.ts +++ b/win-linux/langs/fi.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Esittäjän näkymä @@ -21,18 +21,18 @@ Kaikki muokkaus-ikkunat suljetaan. Haluatko jatkaa? - - + + Document%1.docx Dokumentti%1.docx - + Book%1.xlsx Työkirja%1.xlsx - + Presentation%1.pptx Esitys%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Avataan... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Valitse sertifikaatti - + select certificate file... valitaan sertifikaatti-tiedostoa... - + Certifacate password: Sertifikaatin salasana: - + select key file... valitse avain-tiedosto... - + Key password: Avaimen salasana: - - - - + + + + Open Document Avoin Dokumentti - + Enter certificate path Syötä sertifkaatin polku - + Certificate is not supported Sertifikaattia ei tueta - + Enter certificate password Syötä sertifikaatin salasana - + Wrong certificate password.<br>Please enter again Väärä sertifikaatin salasana.<br>Syötä uudelleen - + Enter valid private key Syötä voimassa oleva henkilökohtainen avain - + Key is not supported Avainta ei tueta - + Enter key password Syötä avaimen salasana @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Peruuta @@ -149,27 +149,27 @@ %1 on muokattu.<br>Haluatko tallentaa muutokset? - + Some data will lost.<br>Continue? Jos jatkat tallennusta tässä muodossa, kaikki muut ominaisuudet paitsi teksti menetetään. <br>Oletko varma, että haluat jatkaa? - + Open main window Avaa pääikkuna - + Document must be saved to continue.<br>Save the document? Dokumentti on tallennettava ennen jatkamista.<br>Tallennetaanko dokumentti? - + Print Document Tulosta dokumentti - + Document must be saved firstly. Dokumentti tulee tallentaa ensin. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Kaikki tiedostot (*.*) - DOCX Document (*.docx) - Officen avoin XML-asiakirja (*.docx) + Officen avoin XML-asiakirja (*.docx) - Document template (*.dotx) - Word Open XML-asiakirjamalli (*.dotx) + Word Open XML-asiakirjamalli (*.dotx) - + DOC Document (*.doc) Word 97–2003-asiakirja (*.doc) - + ODT Document (*.odt) OpenDocument dokumentti (*.odt) - OpenDocument Document template (*.ott) - OpenDocument-asiakirjamalli (*.ott) + OpenDocument-asiakirjamalli (*.ott) - + RTF File (*.rtf) RTF-muotoinen tiedosto (*.rtf) - + TXT File (*.txt) Pelkkä Teksti (*.txt) - + HTML File (*.html) HyperText-merkintäkielitiedosto (*.html) - + MHT File (*.mht) Verkkosivun arkistotiedosto (*.mht) - + EPUB File (*.epub) Sähköinen julkaisutiedosto (*.epub) - + FB2 File (*.fb2) FictionBook 2 tiedosto (*.fb2) - + MOBI File (*.mobi) Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE täytettävä online-lomake (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE-asiakirjalomakemalli (*.docxf) - + PPTX File (*.pptx) Officen avoin XML-esitys (*.pptx) - + PPT File (*.ppt) PowerPoint 97–2003-esitys (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML-esityksenmalli (*.potx) + PowerPoint Open XML-esityksenmalli (*.potx) - + ODP File (*.odp) OpenDocument esitys (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument-esitysmalli (*.otp) + OpenDocument-esitysmalli (*.otp) - + PPSX File (*.ppsx) Officen avoin XML-diaesitys (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Officen avoin XML-asiakirja (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML-laskentataulukkomalli (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML-laskentataulukkomalli (*.xltx) - + XLS File (*.xls) Excel 97–2003-laskentataulukko (*.xls) - + ODS File (*.ods) OpenDocument laskentataulukko (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument-laskentataulukkomalli (*.ots) + OpenDocument-laskentataulukkomalli (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Pilkulla erotetut arvot (*.csv) - + PDF File (*.pdf) Kannettava asiakirja (*.pdf) - + PDFA File (*.pdf) Kannettava asiakirja /A (*.pdf) - + DJVU File (*.djvu) Digitaalinen asiakirja (*.djvu) - + XPS File (*.xps) OpenXPS-asiakirja (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG-kuva (*.png) - + Save As Tallenna Nimellä - + %1 already exists.<br>Do you want to replace it? %1 on jo olemassa.<br>Haluatko korvata sen? - + Word Document Word Dokumentti - + Excel Workbook Excel Laskentataulukko - + PowerPoint Presentation PowerPoint Esitys - + %1 File (*.%2) %1 Tiedosto (*.%2) - - - + + + Text documents Text dokumentit - - - + + + Spreadsheets Laskentataulukot - - - + + + Presentations Esitykset - + Web Page Verkkosivu - + Text files Tekstitiedostot - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Avoin Dokumentti - - + + All Images Kaikki kuvat - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Liitännäistiedosto (*.plugin) - + Video file Videotiedosto - + Audio file Audiotiedosto - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Tiedoston tyyppi ei ole tuettu. - + %1 doesn't exists!<br>Remove file from the list? %1 ei ole saatavilla. Se voi olla nimetty uudelleen, siirretty tai poistettu.<br>Haluatko poistaa tiedoston listalta? - + Document must be saved firstly. Dokumentti tulee tallentaa ensin. - + Document must be saved to continue.<br>Save the document? Dokumentti on tallennettava ennen jatkamista.<br>Tallennetaanko dokumentti? - + There are no printers available - + Print Document Tulosta dokumentti - + Sign Up Luo portaali - + %1 is modified.<br>Do you want to keep changes? %1 on muokattu.<br>Haluatko tallentaa muutokset? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Tulostetaan dokumenttia: sivu %1 / %2 - + Document is preparing Valmistellaan dokumnettia - + &Cancel &Peruuta - + Printing... Tulostetaan... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Peruuta + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 ei ole saatavilla. Se voi olla nimetty uudelleen, siirretty tai poistettu.<br>Haluatko poistaa tiedoston listalta? - + File %1 cannot be opened or doesn't exists. Tiedostoa %1 ei voi avata, tai sitä ei ole. @@ -605,135 +797,129 @@ Kaikki tuetut tiedostot (*.txt *.csv) - - + + All files (*.*) Kaikki tiedostot (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Peruuta - + Yes Kyllä - + No Ei - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/fr.qm b/win-linux/langs/fr.qm index 20b985e32..4c0378500 100644 Binary files a/win-linux/langs/fr.qm and b/win-linux/langs/fr.qm differ diff --git a/win-linux/langs/fr.ts b/win-linux/langs/fr.ts index bf7613270..8ebbb6fbf 100644 --- a/win-linux/langs/fr.ts +++ b/win-linux/langs/fr.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Mode présentateur @@ -21,18 +21,18 @@ Toutes les fenêtres de l'éditeur seront fermées. Voulez-vous continuer ? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Livre%1.xlsx - + Presentation%1.pptx Diaporama%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Ouverture... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Sélectionnez le certificat - + select certificate file... sélectionnez le fichier de certificat... - + Certifacate password: Mot de passe du certificat: - + select key file... sélectionnez le fichier de clé... - + Key password: Mot de passe clé: - - - - + + + + Open Document Ouvrir le document - + Enter certificate path Entrez le chemin du certificat - + Certificate is not supported Le certificat n'est pas pris en charge - + Enter certificate password Entrez le mot de passe du certificat - + Wrong certificate password.<br>Please enter again Mot de passe de certificat incorrect.<br>Veuillez l’entrer à nouveau - + Enter valid private key Entrez une clé privée valide - + Key is not supported La clé n'est pas supportée - + Enter key password Entrez le mot de passe clé @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Annuler @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Ouvrir la fenêtre principale - + Document must be saved to continue.<br>Save the document? Le document doit être enregistré pour continuer.<br>Enregistrer le document ? - + Print Document Imprimer document - + Document must be saved firstly. Le document doit d’abord être enregistré. @@ -185,7 +185,7 @@ %1 a été modifié.<br>Voulez-vous enregistrer les changements ? - + Some data will lost.<br>Continue? Si vous continuez à enregistrer dans ce format toutes les fonctions sauf le texte seront perdues.<br>Êtes-vous sûr de vouloir continuer ? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Il n'y a pas d'imprimantes disponibles @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Tous les fichiers (*.*) - DOCX Document (*.docx) - Document Office Open XML (*.docx) + Document Office Open XML (*.docx) - Document template (*.dotx) - Modèle de document Word Open XML (*.dotx) + Modèle de document Word Open XML (*.dotx) - + DOC Document (*.doc) Document Word 97-2003 (*.doc) - + ODT Document (*.odt) Fichier texte OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Modèle de document OpenDocument (*.ott) + Modèle de document OpenDocument (*.ott) - + RTF File (*.rtf) Fichier au format de texte enrichi (*.rtf) - + TXT File (*.txt) Fichier texte brut (*.txt) - + HTML File (*.html) Fichier HyperText Markup Language (*.html) - + MHT File (*.mht) Fichier d'archives de pages Web (*.mht) - + EPUB File (*.epub) Fichier de publication électronique (*.epub) - + FB2 File (*.fb2) Fichier FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Livre électronique Mobipocket (*.mobi) - + OFORM Document (*.oform) Formulaire ONLYOFFICE en ligne remplissable (*.oform) - + DOCXF Document (*.docxf) Modèle de formulaire ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Présentation Office Open XML (*.pptx) - + PPT File (*.ppt) Présentation PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Modèle de présentation PowerPoint Open XML (*.potx) + Modèle de présentation PowerPoint Open XML (*.potx) - + ODP File (*.odp) Présentation OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Modèle de présentation OpenDocument (*.otp) + Modèle de présentation OpenDocument (*.otp) - + PPSX File (*.ppsx) Diaporama Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Présentation avec les macros activées (*.pptm) - + XLSX File (*.xlsx) Classeur Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Modèle de classeur Excel Open XML (*.xltx) + Modèle de classeur Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Modèle de feuille de calcul avec les macros activées (*.xltm) + Modèle de feuille de calcul avec les macros activées (*.xltm) - + XLS File (*.xls) Classeur Excel 97-2003 (*.xls) - + ODS File (*.ods) Classeur OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Modèle de classeur OpenDocument (*.ots) + Modèle de classeur OpenDocument (*.ots) - + + DOCX Document + Document DOCX + + + + OpenDocument Document template + Modèle de document OpenDocument + + + + OpenDocument Presentation Template + Modèle de présentation OpenDocument + + + + Macro-enabled spreadsheet template + Modèle de feuille de calcul avec les macros activées + + + + OpenDocument Spreadsheet Template + Modèle de feuille de calcul OpenDocument + + + CSV File (*.csv) Valeurs séparées par des virgules (*.csv) - + PDF File (*.pdf) Document portable (*.pdf) - + PDFA File (*.pdf) Document portable /A (*.pdf) - + DJVU File (*.djvu) Document numérique (*.djvu) - + XPS File (*.xps) Document OpenXPS (*.xps) - + + SVG Image (*.svg) + Image SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Image JPG (*.jpg *.jpeg) - + PNG Image (*.png) Image PNG (*.png) - + Save As Enregistrer sous - + %1 already exists.<br>Do you want to replace it? %1 existe déjà.<br>Voulez-vous le remplacer ? - + Word Document Document Word - + Excel Workbook Feuille de calcul Excel - + PowerPoint Presentation Présentation PowerPoint - + %1 File (*.%2) %1 Fichier (*.%2) - - - + + + Text documents Documents texte - - - + + + Spreadsheets Feuilles de calcul - - - + + + Presentations Présentations - + Web Page Page web - + Text files Fichiers texte - - - + + + All supported files Tous les fichiers pris en charge - + + + Spreadsheet template + Modèle de feuille de calcul + + + + + Presentation template + Modèle de présentation + + + + + Document template + Modèle de document texte + + + Open Document Ouvrir le document - - + + All Images Toutes les images - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Fichier plugin (* .plugin) - + Video file Fichier vidéo - + Audio file Fichier audio - + Select Folder Sélectionner dossier @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Plus d'un document est ouvert.<br>Fermer de toute façon la fenêtre ? + + + + Don't ask again. + Ne plus demander. + + + + File format not supported. Format de fichier non pris en charge. - + %1 doesn't exists!<br>Remove file from the list? %1 n’est pas disponible. Il peut être renomé, supprimé ou déplacé.<br>Voulez-vous supprimer le fichier de la liste ? - + Document must be saved firstly. Le document doit d’abord être enregistré. - + Document must be saved to continue.<br>Save the document? Le document doit être enregistré pour continuer.<br>Enregistrer le document ? - + There are no printers available Il n'y a pas d'imprimantes disponibles - + Print Document Imprimer document - + Sign Up Créer bureau de cloud - + %1 is modified.<br>Do you want to keep changes? %1 a été modifié.<br>Voulez-vous enregistrer les changements ? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Impression du document: page %1 sur %2 - + Document is preparing Préparation du document - + &Cancel &Annuler - + Printing... Impression... @@ -587,25 +637,183 @@ CUpdateManager - + + Check for updates + Vérification des mises à jour + + + + Unable to check update: URL not defined. + Impossible de vérifier la mise à jour : URL non définie. + + + + To finish updating, restart app + Pour terminer la mise à jour, redémarrez l'application + + + + Restart + Redémarrer + + + + Checking for updates... + Vérification des mises à jour... + + + + Updates are not allowed! + Les mises à jour ne sont pas autorisées ! + + + This folder configuration does not allow for updates! The folder name should be: - + Cette configuration de dossier ne permet pas les mises à jour ! Le nom du dossier doit être : + + + + An error occurred while check updates: Update Service not found! + Une erreur s'est produite lors de la vérification des mises à jour : Service de mise à jour introuvable ! + + + + Downloading new version %1 (%2%) + Téléchargement de la nouvelle version %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Une erreur s'est produite lors du chargement des mises à jour : Service de mise à jour introuvable ! + + + + Cancel + Annuler + + + + An error occurred while loading updates: package Url is empty! + Une erreur s'est produite lors du chargement des mises à jour : l'URL du paquet est vide ! + + + + Update package error: md5 sum does not match the original. + Erreur de mise à jour du paquet : la somme md5 ne correspond pas à l'original. + + + + Preparing update... + Préparation de la mise à jour... + + + + An error occurred while unzip updates: Update Service not found! + Une erreur s'est produite lors de la décompression des mises à jour : Service de mise à jour introuvable ! + + + + Update is available (version %1) + La mise à jour est disponible (version %1) + + + + Download update + Télécharger la mise à jour + + + + Current version is up to date + La version actuelle est à jour + + + + An error occured while unpacking the archive + Une erreur s'est produite lors de la décompression de l'archive + + + + Update download failed: out of memory! + Le téléchargement de la mise à jour a échoué : manque de mémoire ! + + + + Update download failed: server connection error! + Le téléchargement de la mise à jour a échoué : erreur de connexion au serveur ! + + + + Update download failed: wrong URL! + Le téléchargement de la mise à jour a échoué : URL incorrecte ! + + + + Update download failed: unable to create file! + Le téléchargement de la mise à jour a échoué : impossible de créer un fichier ! + + + + Update download failed: network error! + Le téléchargement de la mise à jour a échoué : erreur de connexion au réseau ! + + + + A service error has occurred! + Une erreur de service s'est produite ! + + + + Last check performed %1 + Dernière vérification effectuée %1 + + + + Error opening JSON file. + Erreur d'ouverture du fichier JSON. + + + + Update is available + La mise à jour est disponible + + + + + Current version + Version actuelle + + + + + Update version + Version actualisée + + + + Would you like to download update now? + Souhaitez-vous télécharger la mise à jour maintenant ? + + + + Update is ready to install + La mise à jour est prête à être installée + + + + Would you like to restart app now? + Souhaitez-vous redémarrer l'application maintenant ? - - A new version of %1 is available! - La nouvelle version de %1 est disponible ! + La nouvelle version de %1 est disponible ! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 est disponible (vous avez %3). Voulez-vous le télécharger maintenant ? + %1 %2 est disponible (vous avez %3). Voulez-vous le télécharger maintenant ? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 est téléchargé (vous avez %3). Voulez-vous l'installer maintenant ? + %1 %2 est téléchargé (vous avez %3). Voulez-vous l'installer maintenant ? @@ -616,7 +824,7 @@ %1 n’est pas disponible. Il peut être renomé, supprimé ou déplacé.<br>Voulez-vous supprimer le fichier de la liste ? - + File %1 cannot be opened or doesn't exists. Le fichier %1 ne peut pas être ouvert ou n'existe pas. @@ -625,8 +833,8 @@ Tous les fichiers pris en charge (*.txt *.csv) - - + + All files (*.*) Tous les fichiers (*.*) @@ -635,141 +843,150 @@ Tous les fichiers pris en charge - + XML File (*.xml) - + Fichier XML (*.xml) - - + + Access to file '%1' is denied! - + L'accès au fichier '%1' est refusé ! - + Read only Lecture seule - + + Skip this version Ignorer cette version - + + Remind me later Me rappeler plus tard - + + Install update Installer la mise à jour - Install on Next Start - Installer au prochain démarrage + Installer au prochain démarrage - + + + Install later + Installer ultérieurement + + + + Save and Restart Now Enregistrer et redémarrer maintenant - + + Save and Install Now Installer - + + Download update Télécharger la mise à jour - + + Software Update Mise à jour de l'application - + + Release notes Notes de mise à jour - An error occurred while check updates: Update Service not found! - + Une erreur s'est produite lors de la vérification des mises à jour : Service de mise à jour introuvable ! - An error occurred while loading updates: Update Service not found! - + Une erreur s'est produite lors du chargement des mises à jour : Service de mise à jour introuvable ! - An error occurred while unzip updates: Update Service not found! - + Une erreur s'est produite lors de la décompression des mises à jour : Service de mise à jour introuvable ! - + An error occurred while start install updates! - + Une erreur s'est produite lors de l'installation des mises à jour ! - + An error occurred while start replacing files: Update Service not found! - + Une erreur s'est produite lors du lancement du remplacement des fichiers : Service de mise à jour introuvable ! - + Cancel - Annuler + Annuler - + Yes - Oui + Oui - + No - Non + Non - + OK - OK + OK - + Skip - Ignorer + Ignorer - + Buy Now - + Acheter maintenant - + Activate - + Activer - + Continue - + Continuer An error occurred while opening the portal:<br>%1 - + Une erreur s'est produite lors de l'ouverture du portail : <br>%1 - App can't working correctly under admin rights. - + L'application ne peut pas fonctionner correctement avec des droits d'administrateur. &OK diff --git a/win-linux/langs/ga.qm b/win-linux/langs/ga.qm index b17c00e4e..d9a037e65 100644 Binary files a/win-linux/langs/ga.qm and b/win-linux/langs/ga.qm differ diff --git a/win-linux/langs/ga.ts b/win-linux/langs/ga.ts index fd9e35e64..57e2c6093 100644 --- a/win-linux/langs/ga.ts +++ b/win-linux/langs/ga.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Amharc an Láithreora @@ -21,18 +21,18 @@ Dúnfar na fuinneoga eagarthóra go léir. Ar mhaith leat leanúint ar aghaidh? - - + + Document%1.docx Doiciméad%1.docx - + Book%1.xlsx Book%1.xlsx - + Presentation%1.pptx Cur i láthair%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Ag oscailt... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Roghnaigh deimhniú - + select certificate file... roghnaigh comhad teastais... - + Certifacate password: Pasfhocal teastais: - + select key file... roghnaigh eochairchomhad... - + Key password: Príomhfhocal faire: - - - - + + + + Open Document Oscail doiciméad - + Enter certificate path Iontráil cosán an teastais - + Certificate is not supported Ní thacaítear leis an teastas - + Enter certificate password Iontráil pasfhocal teastais - + Wrong certificate password.<br>Please enter again Pasfhocal mícheart teastas.<br>Cuir isteach arís é - + Enter valid private key Iontráil eochair phríobháideach bhailí - + Key is not supported Ní thacaítear le heochair - + Enter key password Iontráil eochairfhocal @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Cealaigh @@ -149,27 +149,27 @@ Mionathraíodh %1.<br>Ar mhaith leat na hathruithe a shábháil? - + Some data will lost.<br>Continue? Má leanann tú ar aghaidh ag sábháil san fhormáid seo caillfear gach gné seachas an téacs.<br> An bhfuil tú cinnte gur mhaith leat leanúint ar aghaidh? - + Open main window Oscail an phríomhfhuinneog - + Document must be saved to continue.<br>Save the document? Caithfear an doiciméad a shábháil chun leanúint ar aghaidh.<br>Sábháil an doiciméad? - + Print Document Doiciméad a phriontáil - + Document must be saved firstly. Caithfear an doiciméad a shábháil ar dtús. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,177 +185,165 @@ CFileDialogWrapper - + All files (*.*) Gach comhad (*.*) - DOCX Document (*.docx) - Doiciméad Office Open XML (*.docx) + Doiciméad Office Open XML (*.docx) - Document template (*.dotx) - Teimpléad doiciméad Word Open XML (*.dotx) + Teimpléad doiciméad Word Open XML (*.dotx) - + DOC Document (*.doc) Doiciméad Word 97-2003 (*.doc) - + ODT Document (*.odt) Comhad Téacs OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Teimpléad doiciméad OpenDocument (*.ott) + Teimpléad doiciméad OpenDocument (*.ott) - + RTF File (*.rtf) Doiciméad méith-théacs (*.rtf) - + TXT File (*.txt) Téacs Plain (*.txt) - + HTML File (*.html) Comhad HTML (*.html) - + MHT File (*.mht) Comhad MHT (*.mht) - + EPUB File (*.epub) Comhad EPUB (*.epub) - + FB2 File (*.fb2) Comhad FB2 (*.fb2) - + MOBI File (*.mobi) Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) - + DOCXF Document (*.docxf) - + PPTX File (*.pptx) Cur i láthair PowerPoint Open XML (*.pptx) - + PPT File (*.ppt) Cur i láthair PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Teimpléad cur i láthair PowerPoint Open XML (*.potx) + Teimpléad cur i láthair PowerPoint Open XML (*.potx) - + ODP File (*.odp) Láithreoireacht OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Teimpléad cur i láthair OpenDocument (*.otp) + Teimpléad cur i láthair OpenDocument (*.otp) - + PPSX File (*.ppsx) Taispeántas sleamhnán Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Scarbhileog Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Teimpléad scarbhileog Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Teimpléad scarbhileog Excel Open XML (*.xltx) - + XLS File (*.xls) Scarbhileog Excel 97-2003 (*.xls) - + ODS File (*.ods) Scarbhileog OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Teimpléad scarbhileog OpenDocument (*.ots) + Teimpléad scarbhileog OpenDocument (*.ots) - + CSV File (*.csv) Luachanna Scartha le Coma (*.csv) - + PDF File (*.pdf) Comhad PDF (*.pdf) - + PDFA File (*.pdf) Comhad PDFA (*.pdf) - + DJVU File (*.djvu) Comhad DjVu (*.djvu) - + XPS File (*.xps) OpenXPS Cáipéis (*.xps) - + JPG Image (*.jpg *.jpeg) - + Select Folder @@ -364,108 +352,156 @@ Íomha JPG (*.jpg *.jpeg) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + + SVG Image (*.svg) + + + + PNG Image (*.png) Íomha PNG (*.png) - + Save As Sábháil mar - + %1 already exists.<br>Do you want to replace it? %1 ann cheana.<br>Ar mhaith leat ceann eile a chur ina ionad? - + Word Document Doiciméad Word - + Excel Workbook Comhad scarbhileoige Excel - + PowerPoint Presentation Cur i Láthair PowerPoint - + %1 File (*.%2) Comhad %1 (*.%2) - - - + + + Text documents Doiciméid téacs - - - + + + Spreadsheets Scarbhileoga - - - + + + Presentations Cur i láthair - + Web Page Leathanach gréasáin - + Text files Comhaid téacs - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Oscail doiciméad - - + + All Images Gach íomhá - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Comhad plugin (*.plugin) - + Video file Comhad físe - + Audio file Comhad fuaime @@ -473,43 +509,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Ní thacaítear le formáid comhaid. - + %1 doesn't exists!<br>Remove file from the list? Níl %1 ar fáil.D’fhéadfaí é a athainmniú, a bhogadh nó a scriosadh.<br>Ar mhaith leat an comhad a bhaint den liosta? - + Document must be saved firstly. Caithfear an doiciméad a shábháil ar dtús. - + Document must be saved to continue.<br>Save the document? Caithfear an doiciméad a shábháil chun leanúint ar aghaidh.<br>Sábháil an doiciméad? - + There are no printers available - + Print Document Doiciméad a phriontáil - + Sign Up Cruthaigh tairseach - + %1 is modified.<br>Do you want to keep changes? Mionathraíodh %1.<br>Ar mhaith leat na hathruithe a shábháil? @@ -548,22 +594,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Doiciméad priontála; leathanach %1 de %2 - + Document is preparing Doiciméad a ullmhú - + &Cancel &Cealaigh - + Printing... Priontáil... @@ -571,24 +617,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Cealaigh + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -600,140 +792,134 @@ Níl %1 ar fáil.D’fhéadfaí é a athainmniú, a bhogadh nó a scriosadh.<br>Ar mhaith leat an comhad a bhaint den liosta? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Gach comhad (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Suiteáil é - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Cealaigh - + Yes - + No Níl - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/gl.qm b/win-linux/langs/gl.qm index 3f3c051e3..8503481ff 100644 Binary files a/win-linux/langs/gl.qm and b/win-linux/langs/gl.qm differ diff --git a/win-linux/langs/gl.ts b/win-linux/langs/gl.ts index 151e25324..747217117 100644 --- a/win-linux/langs/gl.ts +++ b/win-linux/langs/gl.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vista do presentador @@ -21,18 +21,18 @@ Pecharanse todas as xanelas do editor. Queres continuar? - - + + Document%1.docx Documento%1.docx - + Book%1.xlsx Libro%1.xlsx - + Presentation%1.pptx Presentación%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Abrindo... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Seleccionar certificado - + select certificate file... seleccionar ficheiro do certificado... - + Certifacate password: Contrasinal do certificado: - + select key file... seleccionar o ficheiro da clave... - + Key password: Contrasinal da clave: - - - - + + + + Open Document Abrir documento - + Enter certificate path Inserir ruta do certificado - + Certificate is not supported Este certificado non está soportado - + Enter certificate password Inserir contrasinal do certificado - + Wrong certificate password.<br>Please enter again Contrasinal do certificado incorrecto.<br>Insira unha vez máis - + Enter valid private key Inserir unha clave privada válida - + Key is not supported A clave non está soportada - + Enter key password Inserir o contrasinal da clave @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Cancelar @@ -144,22 +144,22 @@ CEditorWindow - + Open main window Abrir xanela principal - + Document must be saved to continue.<br>Save the document? O documento ten que gardarse para poder continuar.<br>Gardar o documento? - + Print Document Imprimir documento - + Document must be saved firstly. O documento débese gardar primeiro. @@ -169,7 +169,7 @@ Modificouse %1.<br>Queres gardar os cambios? - + Some data will lost.<br>Continue? Se continúas gardando neste formato todas as características excepto o texto, perderanse.<br>Ten a certeza de querer continuar? @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Todos os ficheiros (*.*) - DOCX Document (*.docx) - Documento Office Open XML (*.docx) + Documento Office Open XML (*.docx) - Document template (*.dotx) - Modelo do documento Word Open XML (*.dotx) + Modelo do documento Word Open XML (*.dotx) - + DOC Document (*.doc) Documento Word 97-2003 (*.doc) - + ODT Document (*.odt) Ficheiro de texto OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Modelo do documento de OpenDocument (*.ott) + Modelo do documento de OpenDocument (*.ott) - + RTF File (*.rtf) Ficheiro con formato de texto enriquecido (*.rtf) - + TXT File (*.txt) Texto plano (*.txt) - + HTML File (*.html) Ficheiro HTML (*.html) - + MHT File (*.mht) Ficheiro MHT (*.mht) - + EPUB File (*.epub) Publicación electronica (*.epub) - + FB2 File (*.fb2) Ficheiro de libros de ficción (*.fb2) - + MOBI File (*.mobi) Libro electrónico Mobipocket (*.mobi) - + OFORM Document (*.oform) Formulario en liña encheble ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Modelo de Formulario (*.docxf) - + PPTX File (*.pptx) Presentación do Office Open XML (*.pptx) - + PPT File (*.ppt) Presentación de Powerpoint 97-2003 (*.ppt) - Presentation template (*.potx) - Modelo de presentación PowerPoint Open XML (*.potx) + Modelo de presentación PowerPoint Open XML (*.potx) - + ODP File (*.odp) Presentación de OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Modelo de presentación de OpenDocument (*.otp) + Modelo de presentación de OpenDocument (*.otp) - + PPSX File (*.ppsx) Presentación de diapositivas de Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Folla de cálcula Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Modelo de folla de cálculo Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Modelo de folla de cálculo Excel Open XML (*.xltx) - + XLS File (*.xls) Folla de cálculo Excel 97-2003 (*.xls) - + ODS File (*.ods) Folla de cálculo de OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Modelo de folla de cálculo OpenDocument (*.ots) + Modelo de folla de cálculo OpenDocument (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Valores separados por comas (*.csv) - + PDF File (*.pdf) Documento portátil (*.pdf) - + PDFA File (*.pdf) Documento portátil /A (*.pdf) - + DJVU File (*.djvu) Documento dixital (*.djvu) - + XPS File (*.xps) Documento OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) Imaxe PNG (*.png) - + Save As Gardar como - + %1 already exists.<br>Do you want to replace it? %1 xa existe.<br>Queres substituílo? - + Word Document Documento Word - + Excel Workbook Folla de cálculo Excel - + PowerPoint Presentation Presentación de PowerPoint - + %1 File (*.%2) Ficheiro %1 (*.%2) - - - + + + Text documents Documentos de texto - - - + + + Spreadsheets Follas de cálculo - - - + + + Presentations Presentacións - + Web Page Páxina web - + Text files Ficheiros de texto - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Abrir documento - - + + All Images Todas as imaxes - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Ficheiro do complemento (*.plugin) - + Video file Ficheiro de vídeo - + Audio file Todas as imaxes - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. O formato ficheiro non está soportado. - + %1 doesn't exists!<br>Remove file from the list? %1 non está dispoñible. Puido ser renomeado, movio ou eliminado.<br>Quere eliminar o ficheiro da lista? - + Document must be saved firstly. O documento débese gardar primeiro. - + Document must be saved to continue.<br>Save the document? O documento ten que gardarse para poder continuar.<br>Gardar o documento? - + There are no printers available - + Print Document Imprimir documento - + Sign Up Crear portal - + %1 is modified.<br>Do you want to keep changes? Modificouse %1<br>Queres gardar os cambios? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Imprimindo documento: páxina %1 de %2 - + Document is preparing Preparando o documento - + &Cancel &Cancelar - + Printing... Imprimindo... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Cancelar + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 non está dispoñible. Puido ser renomeado, movio ou eliminado.<br>Quere eliminar o ficheiro da lista? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Todos os ficheiros (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Cancelar - + Yes Si - + No Non - + OK Vale - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &Vale diff --git a/win-linux/langs/hi.qm b/win-linux/langs/hi.qm index 237e1e048..eaed29f44 100644 Binary files a/win-linux/langs/hi.qm and b/win-linux/langs/hi.qm differ diff --git a/win-linux/langs/hi.ts b/win-linux/langs/hi.ts index 77fb99631..e7bd20cf3 100644 --- a/win-linux/langs/hi.ts +++ b/win-linux/langs/hi.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View प्रस्तुतकर्ता दृश्य @@ -21,18 +21,18 @@ सभी संपादन विंडो बंद हो जाएँगी। क्या आप जारी रखना चाहते हैं? - - + + Document%1.docx दस्तावेज़%1.डॉक्स - + Book%1.xlsx बुक%1.एक्सएलएसएक्स - + Presentation%1.pptx प्रस्तुति%1.पीपीटीएक्स @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document खुल रहा है... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate सर्टिफिकेट को चुनें - + select certificate file... सर्टिफिकेट फ़ाइल को चुनें... - + Certifacate password: सर्टिफिकेट का पासवर्ड: - + select key file... कुंजी फ़ाइल को चुनें... - + Key password: कुंजी का पासवर्ड: - - - - + + + + Open Document दस्तावेज़ खोलें - + Enter certificate path सर्टिफिकेट मार्ग दर्ज करें - + Certificate is not supported सर्टिफिकेट समर्थित नहीं है - + Enter certificate password सर्टिफिकेट का पासवर्ड दर्ज करें - + Wrong certificate password.<br>Please enter again गलत सर्टिफिकेट पासवर्ड।<br>कृपया एक बार फिर दर्ज करें - + Enter valid private key वैध निजी कुंजी दर्ज करें - + Key is not supported कुंजी समर्थित नहीं है - + Enter key password कुंजी का पासवर्ड दर्ज करें @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel रद्द करें @@ -149,27 +149,27 @@ %1 को संशोधित कर लिया गया है।<br>क्या आप बदलावों को सहेजना चाहते हैं? - + Some data will lost.<br>Continue? यदि आप इसी प्रारूप में सहेजना जारी रखेंगे तो टेक्स्ट के आलावा सभी विशेषताएँ लुप्त हो जाएँगी।<br>क्या आप सुनिश्चित तौर पर जारी रखना चाहते हैं? - + Open main window मुख्य विंडो खोलें - + Document must be saved to continue.<br>Save the document? जारी रखने के लिए दस्तावेज़ को सहेजना आवश्यक है।<br>दस्तावेज़ को सहेजें? - + Print Document दस्तावेज़ को प्रिंट करें - + Document must be saved firstly. दस्तावेज़ को पहले सहेजना आवश्यक है। @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) सभी फ़ाइलें (*.*) - DOCX Document (*.docx) - ऑफिस ओपन एक्सएमएल दस्तावेज़ (*.docx) + ऑफिस ओपन एक्सएमएल दस्तावेज़ (*.docx) - Document template (*.dotx) - दस्तावेज़ टेम्पलेट (*.dotx) + दस्तावेज़ टेम्पलेट (*.dotx) - + DOC Document (*.doc) वर्ड 97-2003 दस्तावेज़ (*.doc) - + ODT Document (*.odt) ओपनदस्तावेज़ टेक्स्ट दस्तावेज़ (*.odt) - OpenDocument Document template (*.ott) - ओपनडॉक्यूमेंट दस्तावेज़ टेम्पलेट (*.ott) + ओपनडॉक्यूमेंट दस्तावेज़ टेम्पलेट (*.ott) - + RTF File (*.rtf) रिच टेक्स्ट फॉर्मेट फ़ाइल (*.rtf) - + TXT File (*.txt) सादा टेक्स्ट (*.txt) - + HTML File (*.html) एचटीएमएल फ़ाइल (*.html) - + MHT File (*.mht) एमएचटी फ़ाइल (*.mht) - + EPUB File (*.epub) ईपब फ़ाइल (*.epub) - + FB2 File (*.fb2) एफबी2 फ़ाइल (*.fb2) - + MOBI File (*.mobi) मोबीपॉकेट ई-बुक (*.mobi) - + OFORM Document (*.oform) ओनलीऑफिस भरने योग्य ऑनलाइन फॉर्म (*.oform) - + DOCXF Document (*.docxf) ओनलीऑफिस दस्तावेज़ फॉर्म टेम्पलेट (*.docxf) - + PPTX File (*.pptx) ऑफिस ओपन एक्सएमएल प्रस्तुति (*.pptx) - + PPT File (*.ppt) पावरपॉइंट 97-2003 प्रस्तुति (*.ppt) - Presentation template (*.potx) - प्रस्तुति टेम्पलेट (*.potx) + प्रस्तुति टेम्पलेट (*.potx) - + ODP File (*.odp) ओपनदस्तावेज़ प्रस्तुति (*.odp) - OpenDocument Presentation Template (*.otp) - ओपनडॉक्यूमेंट प्रस्तुति टेम्पलेट (*.otp) + ओपनडॉक्यूमेंट प्रस्तुति टेम्पलेट (*.otp) - + PPSX File (*.ppsx) ऑफिस ओपन एक्सएमएल स्लाइड शो (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) ऑफिस ओपन एक्सएमएल स्प्रेडशीट (*.xlsx) - Spreadsheet template (*.xltx) - स्प्रेडशीट टेम्पलेट (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + स्प्रेडशीट टेम्पलेट (*.xltx) - + XLS File (*.xls) एक्सेल 97-2003 स्प्रेडशीट (*.xls) - + ODS File (*.ods) ओपनदस्तावेज़ स्प्रेडशीट (*.ods) - OpenDocument Spreadsheet Template (*.ots) - ओपनडॉक्यूमेंट स्प्रेडशीट टेम्पलेट (*.ots) + ओपनडॉक्यूमेंट स्प्रेडशीट टेम्पलेट (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) अल्पविराम से विभाजित मान (*.csv) - + PDF File (*.pdf) पीडीएफ फ़ाइल (*.pdf) - + PDFA File (*.pdf) पीडीएफ/ए फ़ाइल (*.pdf) - + DJVU File (*.djvu) डिजिटल दस्तावेज़ (*.djvu) - + XPS File (*.xps) OpenXPS दस्तावेज़(*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) - + Save As इस रूप में सहेजें - + %1 already exists.<br>Do you want to replace it? %1 पहले से मौजूद है।<br>क्या आप इसे प्रतिस्थापित करना चाहते हैं? - + Word Document वर्ड दस्तावेज़ - + Excel Workbook एक्सेल स्प्रेडशीट - + PowerPoint Presentation पावरपॉइंट प्रस्तुति - + %1 File (*.%2) %1 फ़ाइल (*.%2) - - - + + + Text documents टेक्स्ट दस्तावेज़ - - - + + + Spreadsheets स्प्रेडशीटों - - - + + + Presentations प्रस्तुतियाँ - + Web Page वेब पेज - + Text files टेक्स्ट फ़ाइलें - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document दस्तावेज़ खोलें - - + + All Images सभी छवियाँ - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) जेपीइजी (*.jpeg *.jpg);;पीएनजी (*.png);;जिफ़ (*.gif);;बीएमपी (*.bmp) - - + + Plugin file (*.plugin) प्लगइन फ़ाइल (*.plugin) - + Video file वीडियो फ़ाइल - + Audio file ऑडियो फ़ाइल - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. फ़ाइल प्रारूप समर्थित नहीं है। - + %1 doesn't exists!<br>Remove file from the list? %1 यह उपलब्ध नहीं है। शायद इसका नाम बदला गया है, इसे कहीं और डाला गया है या इसे डिलीट कर दिया गया है।<br>क्या आप सूची से यह फ़ाइल को हटाना चाहते हैं? - + Document must be saved firstly. दस्तावेज़ को पहले सहेजना आवश्यक है। - + Document must be saved to continue.<br>Save the document? जारी रखने के लिए दस्तावेज़ को सहेजना आवश्यक है।<br>दस्तावेज़ को सहेजें? - + There are no printers available - + Print Document दस्तावेज़ को प्रिंट करें - + Sign Up पोर्टल बनाएँ - + %1 is modified.<br>Do you want to keep changes? %1 को संशोधित कर लिया गया है। <br>क्या आप बदलावों को सहेजना चाहते हैं? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 दस्तावेज़ प्रिंट हो रहा है: पेज %2 में से %1 - + Document is preparing दस्तावेज़ को तैयार कर रहे हैं - + &Cancel &रद्द करें - + Printing... प्रिंट हो रहा है... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + रद्द करें + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 यह उपलब्ध नहीं है। शायद इसका नाम बदला गया है, इसे कहीं और डाला गया है या इसे डिलीट कर दिया गया है।<br>क्या आप सूची से यह फ़ाइल को हटाना चाहते हैं? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) सभी फ़ाइलें (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel रद्द करें - + Yes हाँ - + No नहीं - + OK ठीक है - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &ठीक है diff --git a/win-linux/langs/hr.qm b/win-linux/langs/hr.qm index 9cf83798a..5ab14d33f 100644 Binary files a/win-linux/langs/hr.qm and b/win-linux/langs/hr.qm differ diff --git a/win-linux/langs/hr.ts b/win-linux/langs/hr.ts index 8685868cc..2fb7c3465 100644 --- a/win-linux/langs/hr.ts +++ b/win-linux/langs/hr.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Prikaz prezentatora @@ -21,18 +21,18 @@ Svi prozori uređivača bit će zatvoreni. Želite li nastaviti? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Knjiga%1.xlsx - + Presentation%1.pptx Prezentacija%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Otvaranje... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Odaberite potvrdu - + select certificate file... odaberite datoteku potvrde... - + Certifacate password: Lozinka potvrde: - + select key file... odaberite datoteku ključa... - + Key password: Lozinka ključa: - - - - + + + + Open Document Otvori dokument - + Enter certificate path Unesite put potvrđivanja - + Certificate is not supported Potvrda nije podržana - + Enter certificate password Unesite lozinku potvrde - + Wrong certificate password.<br>Please enter again Pogrešna lozinka potvrde.<br>Molimo unesite je još jednom - + Enter valid private key Unesite važeći privatni ključ - + Key is not supported Ključ nije podržan - + Enter key password Unesite lozinku ključa @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Odustani @@ -149,27 +149,27 @@ %1 je izmijenjen.<br>Želite li spremiti promjene? - + Some data will lost.<br>Continue? Ako nastavite spremanje u ovom formatu, izgubiti će se sve značajke osim teksta.<br>Jeste li sigurni da želite nastaviti? - + Open main window Otvori glavni prozor - + Document must be saved to continue.<br>Save the document? Dokument se mora spremiti za nastavak.<br>Želite li spremiti dokument? - + Print Document Ispis dokumenta - + Document must be saved firstly. Dokument se najprije mora spremiti. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Sve datoteke (*.*) - DOCX Document (*.docx) - Office Open XML Dokument (*.docx) + Office Open XML Dokument (*.docx) - Document template (*.dotx) - Word Open XML Predložak dokumenta (*.dotx) + Word Open XML Predložak dokumenta (*.dotx) - + DOC Document (*.doc) Word 97-2003 Dokument (*.doc) - + ODT Document (*.odt) OpenDocument Tekstni file (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Predložak dokumenta (*.ott) + OpenDocument Predložak dokumenta (*.ott) - + RTF File (*.rtf) Format obogaćenog teksta (*.rtf) - + TXT File (*.txt) Običan tekst (*.txt) - + HTML File (*.html) HTML datoteka (*.html) - + MHT File (*.mht) MHT datoteka (*.mht) - + EPUB File (*.epub) EPUB datoteka (*.epub) - + FB2 File (*.fb2) FB2 datoteka (*.fb2) - + MOBI File (*.mobi) Mobipocket e-knjiga (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Ispunjivi online obrazac (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Predložak obrasca (*.docxf) - + PPTX File (*.pptx) Office Open XML Prezentacija (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Prezentacija (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Predložak prezentacije (*.potx) + PowerPoint Open XML Predložak prezentacije (*.potx) - + ODP File (*.odp) OpenDocument Prezentacija (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Predložak prezentacije (*.otp) + OpenDocument Predložak prezentacije (*.otp) - + PPSX File (*.ppsx) Office Open XML Projekcija (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML Proračunska tablica (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Predložak tablice (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML Predložak tablice (*.xltx) - + XLS File (*.xls) Excel 97-2003 Proračunska tablica (*.xls) - + ODS File (*.ods) OpenDocument Proračunska tablica (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Predložak tablice (*.ots) + OpenDocument Predložak tablice (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Vrijednosti odvojene zarezima (*.csv) - + PDF File (*.pdf) Prijenosni format dokumenta (*.pdf) - + PDFA File (*.pdf) Prijenosni format dokumenta /A (*.pdf) - + DJVU File (*.djvu) Digitalni document (*.djvu) - + XPS File (*.xps) OpenXPS Dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG slika (*.png) - + Save As Spremi kao - + %1 already exists.<br>Do you want to replace it? %1 već postoji.<br>Želite li ga zamijeniti? - + Word Document Word dokument - + Excel Workbook Excel tablica - + PowerPoint Presentation PowerPoint prezentacija - + %1 File (*.%2) %1 datoteka (*.%2) - - - + + + Text documents Tekstualni dokumenti - - - + + + Spreadsheets Tablice - - - + + + Presentations Prezentacije - + Web Page Web stranica - + Text files Tekstualne datoteke - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Otvori dokument - - + + All Images Sve slike - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin datoteka (*.plugin) - + Video file Video datoteka - + Audio file Audio datoteka - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Format datoteke nije podržan. - + %1 doesn't exists!<br>Remove file from the list? %1 nije dostupna. Možda je preimenovana, premještena ili izbrisana.<br>Želite li ukloniti datoteku s popisa? - + Document must be saved firstly. Dokument se najprije mora spremiti. - + Document must be saved to continue.<br>Save the document? Dokument se mora spremiti za nastavak.<br>Želite li spremiti dokument? - + There are no printers available - + Print Document Ispis dokumenta - + Sign Up Stvorite portal - + %1 is modified.<br>Do you want to keep changes? %1 je izmijenjen.<br>Želite li spremiti promjene? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Ispisivanje dokumenta: stranica %1 od %2 - + Document is preparing Pripremanje dokumenta - + &Cancel &Odustani - + Printing... Ispisivanje... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Odustani + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 nije dostupna. Možda je preimenovana, premještena ili izbrisana.<br>Želite li ukloniti datoteku s popisa? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Sve datoteke (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Odustani - + Yes Da - + No Ne - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/hu.qm b/win-linux/langs/hu.qm index 2c26376c5..7e23b7f0b 100644 Binary files a/win-linux/langs/hu.qm and b/win-linux/langs/hu.qm differ diff --git a/win-linux/langs/hu.ts b/win-linux/langs/hu.ts index 7bdf4b66d..541a0f309 100644 --- a/win-linux/langs/hu.ts +++ b/win-linux/langs/hu.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Előadói nézet @@ -21,18 +21,18 @@ Minden szerkesztőablak bezárásra kerül. Folytatja a műveletet? - - + + Document%1.docx Dokumentum%1.docx - + Book%1.xlsx Munkafüzet%1.xlsx - + Presentation%1.pptx Bemutató%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Megnyitás... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Tanúsítvány kiválasztása - + select certificate file... tanúsítványfájl kiválasztása... - + Certifacate password: Tanúsítvány jelszava: - + select key file... kulcsfájl kiválasztása... - + Key password: Kulcsjelszó: - - - - + + + + Open Document Dokumentum megnyitása - + Enter certificate path Tanúsítvány elérési útjának megadása - + Certificate is not supported A tanúsítvány nem támogatott - + Enter certificate password Tanúsítvány jelszavának megadása - + Wrong certificate password.<br>Please enter again Nem megfelelő tanúsítványjelszó.<br>Kérjük, adja meg újra a jelszót - + Enter valid private key Érvényes titkos kulcs megadása - + Key is not supported A kulcs nem támogatott - + Enter key password Kulcsjelszó megadása @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Mégse @@ -149,27 +149,27 @@ %1 módosítva lett.<br>Menti a módosításokat? - + Some data will lost.<br>Continue? Amennyiben ebben a formátumban szeretné menteni, a szövegen kívül minden funkciót elveszít.<br>Biztos, hogy folytatja? - + Open main window Főablak megnyitása - + Document must be saved to continue.<br>Save the document? A folytatáshoz mentenie kell a dokumentumot.<br>Menti a dokumentumot? - + Print Document Dokumentum nyomtatása - + Document must be saved firstly. Előbb mentenie kell a dokumentumot. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Minden fájltípus (*.*) - DOCX Document (*.docx) - Office nyílt XML formátumú dokumentum (*.docx) + Office nyílt XML formátumú dokumentum (*.docx) - Document template (*.dotx) - Word Open XML Dokumentumsablon (*.dotx) + Word Open XML Dokumentumsablon (*.dotx) - + DOC Document (*.doc) Word 97-2003-as dokumentum (*.doc) - + ODT Document (*.odt) OpenDocument szöveges fájl (*.odt) - OpenDocument Document template (*.ott) - OpenDocument dokumentumsablon (*.ott) + OpenDocument dokumentumsablon (*.ott) - + RTF File (*.rtf) Rich Text formátumú fájl (*.rtf) - + TXT File (*.txt) Egyszerű szöveg (*.txt) - + HTML File (*.html) HTML fájl (*.html) - + MHT File (*.mht) MHT fájl (*.mht) - + EPUB File (*.epub) EPUB fájl (*.epub) - + FB2 File (*.fb2) FB2 fájl (*.fb2) - + MOBI File (*.mobi) Mobipocket e-könyv (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE kitölthető online sablon (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE formátum-sablon (*.docxf) - + PPTX File (*.pptx) Office Open XML prezentáció (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003-as prezentáció (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML prezentáció sablon (*.potx) + PowerPoint Open XML prezentáció sablon (*.potx) - + ODP File (*.odp) OpenDocument prezentáció (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument bemutatósablon (*.otp) + OpenDocument bemutatósablon (*.otp) - + PPSX File (*.ppsx) Office Open XML diavetítés (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML számolótábla (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML számolótábla-sablon (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML számolótábla-sablon (*.xltx) - + XLS File (*.xls) Excel 97-2003 számolótábla (*.xls) - + ODS File (*.ods) OpenDocument számolótábla (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument számolótábla-sablon (*.ots) + OpenDocument számolótábla-sablon (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Vesszővel elválasztott értékek (*.csv) - + PDF File (*.pdf) PDF-fájlformátum (*.pdf) - + PDFA File (*.pdf) PDF-fájlformátum /A (*.pdf) - + DJVU File (*.djvu) Digitális dokumentum (*.djvu) - + XPS File (*.xps) Open XPS-dokumentumformátum (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG kép (*.png) - + Save As Mentés másként - + %1 already exists.<br>Do you want to replace it? %1 már létezik.<br>Lecseréli? - + Word Document Word dokumentum - + Excel Workbook Excel számolótábla - + PowerPoint Presentation PowerPoint bemutató - + %1 File (*.%2) %1 fájl (*.%2) - - - + + + Text documents Szöveges dokumentumok - - - + + + Spreadsheets Számolótáblák - - - + + + Presentations Bemutatók - + Web Page Weboldal - + Text files Szövegfájlok - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Dokumentum megnyitása - - + + All Images Összes kép - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Pluginfájl (*.plugin) - + Video file Videofájl - + Audio file Audiofájl - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. A fájlformátum nem támogatott. - + %1 doesn't exists!<br>Remove file from the list? %1 nem elérhető. Lehet, hogy átnevezésre, áthelyezésre vagy törlésre került.<br>Eltávolítja a fájlt a listáról? - + Document must be saved firstly. Előbb mentenie kell a dokumentumot. - + Document must be saved to continue.<br>Save the document? A folytatáshoz mentenie kell a dokumentumot.<br>Menti a dokumentumot? - + There are no printers available - + Print Document Dokumentum nyomtatása - + Sign Up Portál létrehozása - + %1 is modified.<br>Do you want to keep changes? %1 módosítva lett.<br>Menti a módosításokat? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Dokumentum nyomtatása: %1/%2 oldal - + Document is preparing Dokumentum előkészítése - + &Cancel &Mégse - + Printing... Nyomtatás... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Mégse + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 nem elérhető. Lehet, hogy átnevezésre, áthelyezésre vagy törlésre került.<br>Eltávolítja a fájlt a listáról? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Minden fájltípus (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Telepítés - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Mégse - + Yes Igen - + No Nem - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/hy.qm b/win-linux/langs/hy.qm index e2052b15c..bea4f8fc1 100644 Binary files a/win-linux/langs/hy.qm and b/win-linux/langs/hy.qm differ diff --git a/win-linux/langs/hy.ts b/win-linux/langs/hy.ts index f775c3b97..00527a865 100644 --- a/win-linux/langs/hy.ts +++ b/win-linux/langs/hy.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Ներկայացնողի դիտում @@ -21,18 +21,18 @@ Խմբագրիչի բոլոր պատուհանները կփակվեն։ Ցանկանու՞մ եք շարունակել։ - - + + Document%1.docx Փաստաթուղթ%1.docx - + Book%1.xlsx Գիրք%1.xlsx - + Presentation%1.pptx Շնորհանդես%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Բացվում է... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Ընտրել վկայագիրը - + select certificate file... ընտրել վկայագրի ֆայլը... - + Certifacate password: Վկայագրի ծածկագիր՝ - + select key file... Ընտրել բանալու ֆայլը... - + Key password: Բանալու ծածակագիր՝ - - - - + + + + Open Document - Բացել փաստաթուղթը + Բացել փաստաթուղթը - + Enter certificate path Ընտրել վկայագրի ուղին - + Certificate is not supported Վկայագիրը հասանելի չէ - + Enter certificate password Մուտքագրել վկայագրի ծածկագիրը - + Wrong certificate password.<br>Please enter again Լիցենզիայի ծածկագիրը սխալ է<br>Խնդրում ենք կրկին մուտքագրել։ - + Enter valid private key Մուտքագրել վավեր անձնական բանալի - + Key is not supported Բանալին հասանելի չէ - + Enter key password Մուտքագրել բանալու ծածկագիրը @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Չեղարկել @@ -149,27 +149,27 @@ %1 փոփոխվել է։<br>Ցանկանու՞մ եք պահպանել փոփոխությունները։ - + Some data will lost.<br>Continue? Եթե շարունակեք պահպանել այս ֆորմատով, բոլոր գործառույթները, բացի տեքստից, կկորչեն։<br>Վստա՞հ եք, որ ցանկանում եք շարունակել։ - + Open main window Բացել հիմնական պատուհանը - + Document must be saved to continue.<br>Save the document? Շարունակելու համար պետք է պահպանել փաստաթուղթը։<br>Պահպանե՞լ փաստաթուղթը։ - + Print Document Տպել փաստաթուղթը։ - + Document must be saved firstly. Առաջին հերթին պետք է պահպանել փաստաթուղթը։ @@ -177,337 +177,387 @@ CEditorWindowPrivate - + There are no printers available - + Տպիչներ չկան CFileDialogWrapper - + All files (*.*) Բոլոր ֆայլերը (*.*) - DOCX Document (*.docx) - Office Open XML փաստաթուղթ (*.docx) + Office Open XML փաստաթուղթ (*.docx) - Document template (*.dotx) - Word Open XML Փաստաթղթի ձևանմուշ (*.dotx) + Word Open XML Փաստաթղթի ձևանմուշ (*.dotx) - + DOC Document (*.doc) Word 97-2003 փաստաթուղթ (*.doc) - + ODT Document (*.odt) OpenDocument տեսքստային փաստաթուղթ (*.odt) - OpenDocument Document template (*.ott) - OpenDocument փաստաթղթի ձևանմուշ (*.ott) + OpenDocument փաստաթղթի ձևանմուշ (*.ott) - + RTF File (*.rtf) Հարուստ տեքստի ձևաչափի ֆայլ (*.rtf) - + TXT File (*.txt) Պարզ տեքստային ֆայլ (*.txt) - + HTML File (*.html) Հիպերտեքստ նշման լեզվի ֆայլ (*.html) - + MHT File (*.mht) Վեբ էջի արխիվային ֆայլ (*.mht) - + EPUB File (*.epub) Էլեկտրոնային հրապարակման ֆայլ (*.epub) - + FB2 File (*.fb2) Գեղարվեստական ​​Գիրք 2 ֆայլ (*.fb2) - + MOBI File (*.mobi) Mobipocket էլեկտրոնային գիրք (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE լրացվող առցանց ձև (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE փաստաթղթի ձևանմուշ (*.docxf) - + PPTX File (*.pptx) Office Open XML ներկայացում (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 ներկայացում (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Ներկայացման ձևանմուշ (*.potx) + PowerPoint Open XML Ներկայացման ձևանմուշ (*.potx) - + ODP File (*.odp) OpenDocument ներկայացնում (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument շնորհանդեսի ձևանմուշ (*.otp) + OpenDocument շնորհանդեսի ձևանմուշ (*.otp) - + PPSX File (*.ppsx) Office Open XML սահիկաշար (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Մակրո-միացված ներկայացման ֆայլ (*.pptm) - + XLSX File (*.xlsx) Office Open XML աղյուսակ (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Աղյուսակի ձևանմուշ (*.xltx) + Excel Open XML Աղյուսակի ձևանմուշ (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - + Մակրո-միացված աղյուսակի ձևանմուշ (*.xltm) - + XLS File (*.xls) Excel 97-2003 աղյուսակ (*.xls) - + ODS File (*.ods) OpenDocument աղյուսակ (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument աղյուսակի ձևանմուշ (*.ots) + OpenDocument աղյուսակի ձևանմուշ (*.ots) - + + DOCX Document + DOCX փաստաթուղթ + + + + OpenDocument Document template + ԲացՓաստաթուղթ Փաստաթղթի ձևանմուշ + + + + OpenDocument Presentation Template + ԲացՓաստաթուղթ Ներկայացման ձևանմուշ + + + + Macro-enabled spreadsheet template + Մակրո միացված աղյուսակի ձևանմուշ + + + + OpenDocument Spreadsheet Template + ԲացՓաստաթուղթ Աղյուսակի ձևանմուշ + + + CSV File (*.csv) Ստորակետերով առանձնացված արժեքներ (*.csv) - + PDF File (*.pdf) Դյուրակիր փաստաթղթի ձևաչափ (*.pdf) - + PDFA File (*.pdf) Դյուրակիր փաստաթղթի ձևաչափ /A (*.pdf) - + DJVU File (*.djvu) Թվային փաստաթուղթ (*.djvu) - + XPS File (*.xps) OpenXPS փաստաթուղթ (*.xps) - + + SVG Image (*.svg) + SVG Պատկեր (*.svg) + + + JPG Image (*.jpg *.jpeg) - + JPG պատկեր (*.jpg *.jpeg) - + PNG Image (*.png) PNG պատկեր (*.png) - + Save As Պահպանել որպես - + %1 already exists.<br>Do you want to replace it? %1 արդեն գոյություն ունի։<br>Ցանկանու՞մ եք փոխարինել այն։ - + Word Document Word փաստաթուղթ - + Excel Workbook Excel աշխատանքային գիրք - + PowerPoint Presentation PowerPoint շնորհանդես - + %1 File (*.%2) %1 Ֆայլ(*.%2) - - - + + + Text documents Տեքստային փաստաթղթեր - - - + + + Spreadsheets Աղյուսակներ - - - + + + Presentations Շնորհանդեսներ - + Web Page Վեբ էջ - + Text files Տեքստային ֆայլեր - - - + + + All supported files - + Բոլոր աջակցվող ֆայլերը + + + + + Spreadsheet template + Աղյուսակի ձևանմուշ + + + + + Presentation template + Ներկայացման ձևանմուշ + + + + + Document template + Փաստաթղթի ձևանմուշ - + Open Document Բացել փաստաթուղթը - - + + All Images Բոլոր պատկերները - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin ֆայլ (*.plugin) - + Video file Վիդեո ֆայլ - + Audio file Աուդիո ֆայլ - + Select Folder - + Ընտրել պանակ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Մեկից ավելի փաստաթղթեր բաց են:<br>Ամեն դեպքում փակե՞լ պատուհանը։ + + + + Don't ask again. + Այլևս չհարցնել։ + + + + File format not supported. - Ֆայլի ֆորմատը հասանելի չէ։ + Ֆայլի ֆորմատը հասանելի չէ։ - + %1 doesn't exists!<br>Remove file from the list? - %1 հասանելի չէ։ Հնարավոր է, որ այն անվանափոխվել է, տեղափոխվել կամ ջնջվել։<br>Ցանկանու՞մ եք ֆայլը հեռացնել ցանկից։ + %1 հասանելի չէ։ Հնարավոր է, որ այն անվանափոխվել է, տեղափոխվել կամ ջնջվել։<br>Ցանկանու՞մ եք ֆայլը հեռացնել ցանկից։ - + Document must be saved firstly. - Առաջին հերթին պետք է պահպանել փաստաթուղթը։ + Առաջին հերթին պետք է պահպանել փաստաթուղթը։ - + Document must be saved to continue.<br>Save the document? - Շարունակելու համար պետք է պահպանել փաստաթուղթը։<br>Պահպանե՞լ փաստաթուղթը։ + Շարունակելու համար պետք է պահպանել փաստաթուղթը։<br>Պահպանե՞լ փաստաթուղթը։ - + There are no printers available - + Տպիչներ չկան - + Print Document - Տպել փաստաթուղթը։ + Տպել փաստաթուղթը։ - + Sign Up - Ստեղծել պորտալ + Ստեղծել պորտալ - + %1 is modified.<br>Do you want to keep changes? - %1 փոփոխվել է<br>Ցանկանու՞մ եք պահպանել փոփոխությունները։ + %1 փոփոխվել է<br>Ցանկանու՞մ եք պահպանել փոփոխությունները։ @@ -544,22 +594,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Փաստաթուղթը տպվում է՝ էջ %1 %2-ից - + Document is preparing Փաստաթուղթը պատրաստվում է - + &Cancel &Չեղարկել - + Printing... Տպվում է... @@ -567,25 +617,179 @@ CUpdateManager - + Last check performed + Կատարված վերջին ստուգումը + + + + Check for updates + Թարմացումների ստուգում + + + + Unable to check update: URL not defined. + Հնարավոր չէ ստուգել թարմացումը. URL-ը սահմանված չէ: + + + + To finish updating, restart app + Թարմացումն ավարտելու համար վերագործարկեք հավելվածը + + + + Restart + Վերագործարկել + + + + Checking for updates... + Թարմացումների ստուգում... + + + + Updates are not allowed! + Թարմացումներն անթույլատրելի են: + + + This folder configuration does not allow for updates! The folder name should be: - + Այս թղթապանակի կազմաձևումը թույլ չի տալիս թարմացումներ: Թղթապանակի անվանումը պետք է լինի՝ - - - A new version of %1 is available! - + + An error occurred while check updates: Update Service not found! + Թարմացումները ստուգելիս սխալ առաջացավ՝ թարմացման ծառայությունը չի գտնվել: - - %1 %2 is now available (you have %3). Would you like to download it now? - + + Downloading new version %1 (%2%) + Նոր տարբերակի ներբեռնում %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Թարմացումները բեռնելիս սխալ է տեղի ունեցել՝ թարմացման ծառայությունը չի գտնվել: + + + Downloading new version %1 (0%) + Նոր տարբերակի ներբեռնում %1 (0%) + + + + Cancel + Չեղարկել + + + + An error occurred while loading updates: package Url is empty! + Թարմացումները բեռնելիս սխալ տեղի ունեցավ՝ փաթեթի URL-ը դատարկ է: + + + + Update package error: md5 sum does not match the original. + Փաթեթի թարմացման սխալ՝ md5 գումարը չի համապատասխանում բնօրինակին: + + + + Preparing update... + Թարմացման նախապատրաստում... + + + + An error occurred while unzip updates: Update Service not found! + Թարմացումներն անջատելիս սխալ տեղի ունեցավ` թարմացման ծառայությունը չի գտնվել: + + + + Update is available (version %1) + Թարմացումը հասանելի է (տարբերակ %1) + + + + Download update + Ներբեռնել թարմացումը + + + + Current version is up to date + Ներկայիս տարբերակը արդիական է + + + + An error occured while unpacking the archive + Արխիվը բացելիս սխալ է տեղի ունեցել ։ + + + + Update download failed: out of memory! + Թարմացման ներբեռնումը ձախողվեց՝ հիշողությունը սպառվել է: + + + + Update download failed: server connection error! + Թարմացման ներբեռնումը ձախողվեց՝ սերվերի միացման սխալ: + + + + Update download failed: wrong URL! + Թարմացման ներբեռնումը ձախողվեց՝ սխալ URL: + + + + Update download failed: unable to create file! + Թարմացման ներբեռնումը ձախողվեց՝ հնարավոր չէ ստեղծել ֆայլ: + + + + Update download failed: network error! + Թարմացման ներբեռնումը ձախողվեց՝ ցանցի սխալ: + + + + A service error has occurred! + Ծառայության սխալ է տեղի ունեցել: + + + + Last check performed %1 + Կատարված վերջին ստուգումը %1։ + + + + Error opening JSON file. + JSON ֆայլի բացման սխալ: + + + + Update is available + Թարմացումը հասանելի է + + + + + Current version + Ներկայիս տարբերակը + + + + + Update version + Թարմացնել տարբերակը + + + + Would you like to download update now? + Ցանկանու՞մ եք ներբեռնել թարմացումը հիմա: + + + + Update is ready to install + Թարմացումը պատրաստ է տեղադրման - - %1 %2 is now downloaded (you have %3). Would you like to install it now? - + + Would you like to restart app now? + Ցանկանու՞մ եք վերագործարկել հավելվածը հիմա: @@ -596,7 +800,7 @@ %1 հասանելի չէ։ Հնարավոր է, որ այն անվանափոխվել է, տեղափոխվել կամ ջնջվել։<br>Ցանկանու՞մ եք ֆայլը հեռացնել ցանկից։ - + File %1 cannot be opened or doesn't exists. %1 ֆայլը չի ​​կարող բացվել կամ գոյություն չունի: @@ -605,147 +809,152 @@ Բոլոր աջակցվող ֆայլերը(*.txt *.csv) - - + + All files (*.*) Բոլոր ֆայլերը (*.*) - + XML File (*.xml) - + XML Ֆայլ (*.xml) - - + + Access to file '%1' is denied! - + '%1' ֆայլի մատչումը արգելված է: - + Read only - + Միայն կարդալու համար - + + Skip this version - + Բաց թողնել այս տարբերակը - + + Remind me later - + Հիշեցնել ինձ ավելի ուշ - + + Install update - + Տեղադրել թարմացումը - - Install on Next Start - + + + Install later + Տեղադրել հաջորդ սկզբում - + + Save and Restart Now - + Պահպանել և վերագործարկել հիմա - + + Save and Install Now - + Պահպանել և տեղադրել հիմա - + + Download update - + Ներբեռնել թարմացումը - + + Software Update - + Ծրագրի թարմացում - + + Release notes - + Թողարկման նշումներ - An error occurred while check updates: Update Service not found! - + Թարմացումները ստուգելիս սխալ է տեղի ունեցել ՝ Թարմացման ծառայությունը չի գտնվել: - An error occurred while loading updates: Update Service not found! - + Թարմացումները բեռնելիս սխալ է տեղի ունեցել՝ Թարմացման ծառայությունը չի գտնվել: - An error occurred while unzip updates: Update Service not found! - + Թարմացումներն անջատելիս սխալ տեղի ունեցավ՝ Թարմացման ծառայությունը չի գտնվել: - + An error occurred while start install updates! - + Տեղադրման թարմացումները սկսելիս սխալ առաջացավ: - + An error occurred while start replacing files: Update Service not found! - + Սխալ է տեղի ունեցել ֆայլերը փոխարինելիս՝ Թարմացման ծառայությունը չի գտնվել: - + Cancel - Չեղարկել + Չեղարկել - + Yes - Այո + Այո - + No - Ոչ + Ոչ - + OK - Լավ + Լավ - + Skip - + Բաց թողնել - + Buy Now - + Գնել հիմա - + Activate - + Ակտիվացնել - + Continue - + Շարունակել An error occurred while opening the portal:<br>%1 - + Պորտալը բացելիս սխալ տեղի ունեցավ՝<br>%1 - App can't working correctly under admin rights. - + Հավելվածը չի կարող ճիշտ աշխատել ադմինիստրատորի իրավունքների ներքո: &OK diff --git a/win-linux/langs/id.qm b/win-linux/langs/id.qm index 818250fa9..5ee9500a9 100644 Binary files a/win-linux/langs/id.qm and b/win-linux/langs/id.qm differ diff --git a/win-linux/langs/id.ts b/win-linux/langs/id.ts index fcbfb0495..b8dfd731b 100644 --- a/win-linux/langs/id.ts +++ b/win-linux/langs/id.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Tampilan Penyaji @@ -17,18 +17,18 @@ Semua jendela editor akan ditutup. Apakah Anda ingin melanjutkan? - - + + Document%1.docx Dokumen%1.docx - + Book%1.xlsx Buku%1.xlsx - + Presentation%1.pptx Presentasi%1.pptx @@ -36,8 +36,8 @@ CAscTabWidget - - + + Document Membuka... @@ -61,70 +61,70 @@ CDialogOpenSsl - + Select certificate Pilih sertifikat - + select certificate file... pilih file sertifikat... - + Certifacate password: Kata sandi sertifikat: - + select key file... pilih file kunci... - + Key password: Kata sandi kunci: - - - - + + + + Open Document Buka Dokumen - + Enter certificate path Masukkan path sertifikat - + Certificate is not supported Sertifikat tidak didukung - + Enter certificate password Masukkan kata sandi sertifikat - + Wrong certificate password.<br>Please enter again Kata sandi sertifikat salah.<br>Silakan masukkan lagi - + Enter valid private key Masukkan kunci pribadi yang valid - + Key is not supported Kunci tidak didukung - + Enter key password Masukkan kata sandi kunci @@ -132,7 +132,7 @@ CDownloadWidget - + Cancel Batal @@ -140,22 +140,22 @@ CEditorWindow - + Open main window Buka jendela utama - + Document must be saved to continue.<br>Save the document? Dokumen harus disimpan untuk melanjutkan.<br>Simpan dokumen? - + Print Document Cetak Dokumen - + Document must be saved firstly. Dokumen harus disimpan terlebih dahulu. @@ -165,7 +165,7 @@ %1 telah berubah. Simpan perubahan? - + Some data will lost.<br>Continue? Jika Anda masih menyimpan dalam format ini semua fitur kecuali teks akan hilang.<br>Yakin ingin melanjutkan? @@ -173,7 +173,7 @@ CEditorWindowPrivate - + There are no printers available @@ -181,177 +181,165 @@ CFileDialogWrapper - + All files (*.*) Semua file (*.*) - DOCX Document (*.docx) - Dokumen Office Open XML (*.docx) + Dokumen Office Open XML (*.docx) - Document template (*.dotx) - Dokumen templat Word Open XML (*.dotx) + Dokumen templat Word Open XML (*.dotx) - + DOC Document (*.doc) Dokumen Word 97-2003 (*.doc) - + ODT Document (*.odt) File Teks OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Templat Dokumen OpenDocument (*.ott) + Templat Dokumen OpenDocument (*.ott) - + RTF File (*.rtf) Dokumen Rich Text (*.rtf) - + TXT File (*.txt) Teks Biasa (*.txt) - + HTML File (*.html) File HyperText Markup Language (*.html) - + MHT File (*.mht) File Arsip Halaman Web (*.mht) - + EPUB File (*.epub) File Electronic Publication (*.epub) - + FB2 File (*.fb2) File FictionBook 2 (*.fb2) - + MOBI File (*.mobi) E-book mobipocket (*.mobi) - + OFORM Document (*.oform) Formulir ONLYOFFICE Fillable Online (*.oform) - + DOCXF Document (*.docxf) Templat ONLYOFFICE Form (*.docxf) - + PPTX File (*.pptx) Presentasi Office Open XML (*.pptx) - + PPT File (*.ppt) Presentasi PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Templat Presentasi PowerPoint Open XML (*.potx) + Templat Presentasi PowerPoint Open XML (*.potx) - + ODP File (*.odp) Presentasi OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Templat Presentasi OpenDocument (*.otp) + Templat Presentasi OpenDocument (*.otp) - + PPSX File (*.ppsx) Peragaan Slide Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Lembar bentang Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Templat lembar bentang Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Templat lembar bentang Excel Open XML (*.xltx) - + XLS File (*.xls) Lembar bentang Excel 97-2003 (*.xls) - + ODS File (*.ods) Lembar Bentang OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Templat Spreadsheet OpenDocument (*.ots) + Templat Spreadsheet OpenDocument (*.ots) - + CSV File (*.csv) Nilai Koma Terpisah (*.csv) - + PDF File (*.pdf) Portable Document (*.pdf) - + PDFA File (*.pdf) Portable Document /A (*.pdf) - + DJVU File (*.djvu) Dokumen Digital (*.djvu) - + XPS File (*.xps) Dokumen OpenXPS (*.xps) - + JPG Image (*.jpg *.jpeg) - + Select Folder @@ -360,108 +348,156 @@ Gambar JPG (*.jpg *.jpeg) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + + SVG Image (*.svg) + + + + PNG Image (*.png) Gambar PNG (*.png) - + Save As Simpan Sebagai - + %1 already exists.<br>Do you want to replace it? %1 sudah ada.<br>Apakah Anda ingin menggantinya? - + Word Document Dokumen Word - + Excel Workbook Spreadsheet Excel - + PowerPoint Presentation Presentasi PowerPoint - + %1 File (*.%2) %1 File (*.%2) - - - + + + Text documents Dokumen teks - - - + + + Spreadsheets Spreadsheet - - - + + + Presentations Presentasi - + Web Page Halaman Web - + Text files File teks - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Buka Dokumen - - + + All Images Semua Citra - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) File plugin (*.plugin) - + Video file File video - + Audio file File audio @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Format file tidak didukung. - + %1 doesn't exists!<br>Remove file from the list? %1 tidak tersedia.Mungkin telah berganti nama, berpindah atau hilang.<br>Hapus file dari daftar? - + Document must be saved firstly. Dokumen harus disimpan terlebih dahulu. - + Document must be saved to continue.<br>Save the document? Dokumen harus disimpan untuk melanjutkan.<br>Simpan dokumen? - + There are no printers available - + Print Document Cetak Dokumen - + Sign Up Buat portal - + %1 is modified.<br>Do you want to keep changes? %1 telah berubah.<br>Simpan perubahan? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Mencetak dokumen: halaman %1 dari %2 - + Document is preparing Menyiapkan dokumen - + &Cancel &Batal - + Printing... Mencetak... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Batal + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 tidak tersedia.Mungkin telah berganti nama, berpindah atau hilang.<br>Hapus file dari daftar? - + File %1 cannot be opened or doesn't exists. File %1 tidak dapat dibuka atau tidak ada. @@ -605,135 +797,129 @@ Semua file yang didukung (*.txt *.csv) - - + + All files (*.*) Semua file (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only Hanya baca - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Batal - + Yes Ya - + No Tidak - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/it_IT.qm b/win-linux/langs/it_IT.qm index f74c561b9..9428852cd 100644 Binary files a/win-linux/langs/it_IT.qm and b/win-linux/langs/it_IT.qm differ diff --git a/win-linux/langs/it_IT.ts b/win-linux/langs/it_IT.ts index 8d9521df1..9fe39a37d 100644 --- a/win-linux/langs/it_IT.ts +++ b/win-linux/langs/it_IT.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Visualizzazione del presenter @@ -21,18 +21,18 @@ Tutte le finestre dell'editor verranno chiuse. Vuoi continuare? - - + + Document%1.docx Documento%1.docx - + Book%1.xlsx Foglio%1.xlsx - + Presentation%1.pptx Presentazione%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Apertura... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Seleziona il certificato - + select certificate file... seleziona il file del certificato ... - + Certifacate password: Password certificato: - + select key file... seleziona il file chiave ... - + Key password: Password chiave: - - - - + + + + Open Document Apri Documento - + Enter certificate path Inserisci il percorso del certificato - + Certificate is not supported Il certificato non è supportato - + Enter certificate password Inserirsci la password del certificato - + Wrong certificate password.<br>Please enter again Password del certificato errata.<br>Inserire nuovamente - + Enter valid private key Inserisci una chiave privata valida - + Key is not supported La chiave non è supportata - + Enter key password Inserisci la password della chiave @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Annulla @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Aprire la finestra principale - + Document must be saved to continue.<br>Save the document? Il documento deve essere salvato per continuare.<br>Salvare il documento? - + Print Document Stampa documento - + Document must be saved firstly. Il documento deve essere prima salvato. @@ -185,7 +185,7 @@ %1 è stato modificato.<br>Desideri salvare le modifiche? - + Some data will lost.<br>Continue? Se continua a salvare in questo formato tutte le caratteristiche tranne il testo saranno perse.<br>Sei sicuro di voler continuare? @@ -193,291 +193,331 @@ CEditorWindowPrivate - + There are no printers available - Non ci sono stampanti disponibili + Non ci sono stampanti disponibili CFileDialogWrapper - + All files (*.*) Tutti i file (*.*) - DOCX Document (*.docx) - Documento Open Office XML (*.docx) + Documento Open Office XML (*.docx) - Document template (*.dotx) - Modello documento Word Open XML (*.dotx) + Modello documento Word Open XML (*.dotx) - + DOC Document (*.doc) Documento Word 97-2003 (*.doc) - + ODT Document (*.odt) File di testo di OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Modello documento OpenDocument (*.ott) + Modello documento OpenDocument (*.ott) - + RTF File (*.rtf) File di formato di testo ricco (*.rtf) - + TXT File (*.txt) File di testo semplice (*.txt) - + HTML File (*.html) File del linguaggio di markup HyperText (*.html) - + MHT File (*.mht) File di archivio della pagina web (*.mht) - + EPUB File (*.epub) File di pubblicazione elettronica (*.epub) - + FB2 File (*.fb2) File FictionBook 2 (*.fb2) - + MOBI File (*.mobi) File Mobipocket (*.mobi) - + OFORM Document (*.oform) Modulo online compilabile ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Modello di modulo ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Presentazione Open Office XML (*.pptx) - + PPT File (*.ppt) Presentazione PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Modello Presentazione PowerPoint Open XML (*.potx) + Modello Presentazione PowerPoint Open XML (*.potx) - + ODP File (*.odp) Presentazione di OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Modello Presentazione OpenDocument (*.otp) + Modello Presentazione OpenDocument (*.otp) - + PPSX File (*.ppsx) Proiezione di diapositive Open Office XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Presentazione con attivazione macro (*.pptm) - + XLSX File (*.xlsx) Foglio di calcolo Open Office XML (*.xlsx) - Spreadsheet template (*.xltx) - Modello Foglio di calcolo Excel Open XML (*.xltx) + Modello Foglio di calcolo Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Modello di foglio di calcolo con attivazione macro (*.xltm) + Modello di foglio di calcolo con attivazione macro (*.xltm) - + XLS File (*.xls) Foglio di calcolo Excel 97-2003 (*.xls) - + ODS File (*.ods) Foglio di calcolo OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Modello Foglio di calcolo OpenDocument (*.ots) + Modello Foglio di calcolo OpenDocument (*.ots) - + + DOCX Document + Documento DOCX + + + + OpenDocument Document template + Modello di documento OpenDocument + + + + OpenDocument Presentation Template + Modello di presentazione OpenDocument + + + + Macro-enabled spreadsheet template + Modello di foglio di calcolo abilitato per le macro + + + + OpenDocument Spreadsheet Template + Modello di foglio di calcolo OpenDocument + + + CSV File (*.csv) Valori Separati da Virgola (*.csv) - + PDF File (*.pdf) Documento portatile (*.pdf) - + PDFA File (*.pdf) Documento portatile /A (*.pdf) - + DJVU File (*.djvu) Documento Digitale (*.djvu) - + XPS File (*.xps) Documento OpenXPS (*.xps) - + + SVG Image (*.svg) + Immagine SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Immagine JPG (*.jpg *.jpeg) - + PNG Image (*.png) Immagine PNG (*.png) - + Save As Salva con nome - + %1 already exists.<br>Do you want to replace it? %1 è già esistente.<br>Vuoi sostituirlo? - + Word Document Documento di Word - + Excel Workbook Foglio di calcolo di Excel - + PowerPoint Presentation Presentazione di PowerPoint - + %1 File (*.%2) %1 File (*.%2) - - - + + + Text documents Documenti di testo - - - + + + Spreadsheets Fogli di calcolo - - - + + + Presentations Presentazioni - + Web Page Pagina Web - + Text files File di testo - - - + + + All supported files Tutti i file supportati - + + + Spreadsheet template + Modello di foglio di calcolo + + + + + Presentation template + Modello di presentazione + + + + + Document template + Modello di documento + + + Open Document Apri Documento - - + + All Images Tutte le immagini - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) File plugin (*.plugin) - + Video file File video - + Audio file File audio - + Select Folder Seleziona cartella @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Sono aperti più documenti.<br>Chiudere comunque la finestra? + + + + Don't ask again. + Non chiedermelo più. + + + + File format not supported. Tipo di file non supportato. - + %1 doesn't exists!<br>Remove file from the list? %1 non è disponibile. Il file è stato rinominato, spostato o rimosso.<br>Vuoi Rimuoverlo da questa lista? - + Document must be saved firstly. Il documento deve essere prima salvato. - + Document must be saved to continue.<br>Save the document? Il documento deve essere salvato per continuare.<br>Salvare il documento? - + There are no printers available Non ci sono stampanti disponibili - + Print Document Stampa documento - + Sign Up Crea cloud office - + %1 is modified.<br>Do you want to keep changes? %1 è stato modificato.<br>Desideri salvare le modifiche? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Stampa del documento: pagina %1 di %2 - + Document is preparing Preparazione del documento - + &Cancel &Annulla - + Printing... Stampa in corso... @@ -587,25 +637,191 @@ CUpdateManager - + Last check performed + Ultimo controllo effettuato + + + + Check for updates + Controlla gli aggiornamenti + + + + Unable to check update: URL not defined. + Impossibile controllare l'aggiornamento: URL non definito. + + + + To finish updating, restart app + Per completare l'aggiornamento, riavvia l'app + + + + Restart + Riavvia + + + + Checking for updates... + Controllo degli aggiornamenti in corso... + + + + Updates are not allowed! + Gli aggiornamenti non sono consentiti! + + + This folder configuration does not allow for updates! The folder name should be: - + La configurazione di questa cartella non consente di applicare gli aggiornamenti! Il nome della cartella dovrebbe essere: + + + + An error occurred while check updates: Update Service not found! + Si è verificato un errore durante il controllo degli aggiornamenti: Servizio aggiornamenti non è stato trovato! + + + + Downloading new version %1 (%2%) + Download della nuova versione %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Si è verificato un errore durante il caricamento degli aggiornamenti: Servizio aggiornamenti non è stato trovato! + + + Downloading new version %1 (0%) + Download della nuova versione %1 (0%) + + + + Cancel + Annulla + + + + An error occurred while loading updates: package Url is empty! + Si è verificato un errore durante il caricamento degli aggiornamenti: l'URL del pacchetto è vuoto! + + + + Update package error: md5 sum does not match the original. + Errore del pacchetto di aggiornamento: la somma md5 non corrisponde all'originale. + + + + Preparing update... + Preparazione dell'aggiornamento in corso... + + + + An error occurred while unzip updates: Update Service not found! + Si è verificato un errore durante l'estrazione degli aggiornamenti: Servizio aggiornamenti non è stato trovato! + + + + Update is available (version %1) + L'aggiornamento è disponibile (versione %1) + + + + Download update + Scaricare l'aggiornamento + + + + Current version is up to date + La versione presente è aggiornata + + + + An error occured while unpacking the archive + Si è verificato un errore durante la decompressione dell'archivio + + + + Update download failed: out of memory! + Download dell'aggiornamento non riuscito: memoria esaurita! + + + + Update download failed: server connection error! + Download dell'aggiornamento non riuscito: errore di connessione al server! + + + + Update download failed: wrong URL! + Download dell'aggiornamento non riuscito: URL errato! + + + + Update download failed: unable to create file! + Download dell'aggiornamento non riuscito: impossibile creare il file! + + + + Update download failed: network error! + Download dell'aggiornamento non riuscito: errore di rete! + + + + A service error has occurred! + Si è verificato un errore di servizio! + + + + Last check performed %1 + Ultimo controllo effettuato %1 + + + + Error opening JSON file. + Si è verificato un errore durante l'apertura del file JSON. + + + + Update is available + L'aggiornamento è disponibile + + + + + Current version + Versione attuale + + + + + Update version + Aggiorna versione + + + + Would you like to download update now? + Desideri scaricare l'aggiornamento ora? + + + + Update is ready to install + L'aggiornamento è pronto per l'installazione + + + + Would you like to restart app now? + Desideri riavviare l'app ora? - - A new version of %1 is available! - La nuova versione di %1 è disponibile! + La nuova versione di %1 è disponibile! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 è ora disponibile (e tu hai %3). Vuoi scaricarlo ora? + %1 %2 è ora disponibile (e tu hai %3). Vuoi scaricarlo ora? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 è stato scaricato (hai %3). Vuoi installarlo ora? + %1 %2 è stato scaricato (hai %3). Vuoi installarlo ora? @@ -616,7 +832,7 @@ %1 non è disponibile. Il file è stato rinominato, spostato o rimosso.<br>Vuoi Rimuoverlo da questa lista? - + File %1 cannot be opened or doesn't exists. Il file %1 non può essere aperto o non esiste. @@ -625,8 +841,8 @@ Tutti i file supportati (*.txt *.csv) - - + + All files (*.*) Tutti i file (*.*) @@ -635,141 +851,150 @@ Tutti i file supportati - + XML File (*.xml) - + File XML (*.xml) - - + + Access to file '%1' is denied! - + L'accesso al file '%1' è negato! - + Read only Sola lettura - + + Skip this version - Saltare questa versione + Salta questa versione - + + Remind me later Ricordamelo più tardi - + + Install update - Installare aggiornamento + Installa aggiornamento - Install on Next Start - Installare al prossimo avvio + Installa al prossimo avvio - + + + Install later + Installa più tardi + + + + Save and Restart Now - Salvare e riavviare ora + Salva e riavvia ora - + + Save and Install Now - Installare + Salva e installa ora - + + Download update - Scaricare l'aggiornamento + Scarica l'aggiornamento - + + Software Update Aggiornamento del software - + + Release notes Note di rilascio - An error occurred while check updates: Update Service not found! - + Si è verificato un errore durante la verifica degli aggiornamenti: il Servizio aggiornamenti non è stato trovato! - An error occurred while loading updates: Update Service not found! - + Si è verificato un errore durante il caricamento degli aggiornamenti: il Servizio aggiornamenti non è stato trovato! - An error occurred while unzip updates: Update Service not found! - + Si è verificato un errore durante la decompressione degli aggiornamenti: il Servizio aggiornamenti non è stato trovato! - + An error occurred while start install updates! - + Si è verificato un errore durante l'installazione degli aggiornamenti! - + An error occurred while start replacing files: Update Service not found! - + Si è verificato un errore all'inizio della sostituzione dei file: il Servizio aggiornamenti non è stato trovato! - + Cancel - Annulla + Annulla - + Yes - Si + Si - + No - No + No - + OK - OK + OK - + Skip - Saltare + Saltare - + Buy Now - + Acquista ora - + Activate - + Attiva - + Continue - + Continua An error occurred while opening the portal:<br>%1 - + Si è verificato un errore durante l'apertura del portale:<br>%1 - App can't working correctly under admin rights. - + L'app non può funzionare correttamente con i diritti di amministratore. &OK diff --git a/win-linux/langs/ja.qm b/win-linux/langs/ja.qm index f4583d53b..3f1697b43 100644 Binary files a/win-linux/langs/ja.qm and b/win-linux/langs/ja.qm differ diff --git a/win-linux/langs/ja.ts b/win-linux/langs/ja.ts index 397fed693..792e6c77c 100644 --- a/win-linux/langs/ja.ts +++ b/win-linux/langs/ja.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View プレゼンタービュー @@ -21,18 +21,18 @@ すべての編集画面が閉じます。続けますか? - - + + Document%1.docx ドキュメント%1.docx - + Book%1.xlsx ブック%1.xlsx - + Presentation%1.pptx プレゼンテーション%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document 開いています... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate 証明書を選択 - + select certificate file... 証明書ファイルを選択... - + Certifacate password: 証明書パスワード: - + select key file... キーファイルを選択... - + Key password: キーパスワード: - - - - + + + + Open Document ドキュメントを開く - + Enter certificate path 証明書パスを入力 - + Certificate is not supported 証明書はサポートされていません - + Enter certificate password 証明書のパスワードを入力 - + Wrong certificate password.<br>Please enter again 証明書のパスワードが間違っています。<br>もう一度入力してください - + Enter valid private key 有効なプライベートキーを入力 - + Key is not supported キーはサポートされていません - + Enter key password キーパスワードを入力 @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel キャンセル @@ -165,27 +165,27 @@ %1 を変更しました。<br>変更を保存しますか? - + Some data will lost.<br>Continue? このフォーマットで保存すると、テキストを除く全ての機能が失われます。<br>続けますか? - + Open main window メイン画面を開く - + Document must be saved to continue.<br>Save the document? 続けるには、ドキュメントを保存する必要があります。<br>ドキュメントを保存しますか? - + Print Document ドキュメントを印刷 - + Document must be saved firstly. ドキュメントを最初に保存する必要があります。 @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available 利用可能なプリンターはありません @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) すべてのファイル (*.*) - DOCX Document (*.docx) - Office オープン XML ドキュメント(*.docx) + Office オープン XML ドキュメント(*.docx) - Document template (*.dotx) - Word オープン XMLドキュメントテンプレート (*.dotx) + Word オープン XMLドキュメントテンプレート (*.dotx) - + DOC Document (*.doc) Word 97-2003ドキュメント(*.doc) - + ODT Document (*.odt) OpenDocument テキスト ファイル (*.odt) - OpenDocument Document template (*.ott) - OpenDocument ドキュメントテンプレート (*.ott) + OpenDocument ドキュメントテンプレート (*.ott) - + RTF File (*.rtf) リッチ テキスト形式ファイル(*.rtf) - + TXT File (*.txt) プレーンテキストファイル (*.txt) - + HTML File (*.html) ハイパーテキスト マークアップ言語 ファイル (*.html) - + MHT File (*.mht) Web ページのアーカイブ ファイル (*.mht) - + EPUB File (*.epub) 電子出版ファイル (*.epub) - + FB2 File (*.fb2) FictionBook 2ファイル (*.fb2) - + MOBI File (*.mobi) Mobipocketファイル (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE記入可能なオンライン フォーム(*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE フォーム テンプレート (*.docxf) - + PPTX File (*.pptx) OfficeオープンXMLプレゼンテーション(*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003プレゼンテーション(*.ppt) - Presentation template (*.potx) - PowerPoint オープン XMLプレゼンテーションテンプレート (*.potx) + PowerPoint オープン XMLプレゼンテーションテンプレート (*.potx) - + ODP File (*.odp) OpenDocumentプレゼンテーションく(*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument プレゼンテーションテンプレート (*.otp) + OpenDocument プレゼンテーションテンプレート (*.otp) - + PPSX File (*.ppsx) Office オープン XMLスライドショー(*.ppsx) - + Macro-enabled Presentation File (*.pptm) マクロ対応プレゼンテーション(*.pptm) - + XLSX File (*.xlsx) Office オープン XML スプレッドシート(*.xlsx) - Spreadsheet template (*.xltx) - Excel オープン XML スプレッドシートテンプレート (*.xltx) + Excel オープン XML スプレッドシートテンプレート (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - マクロ対応表計算テンプレート(*.xltm) + マクロ対応表計算テンプレート(*.xltm) - + XLS File (*.xls) Excel 97-2003 スプレッドシート(*.xls) - + ODS File (*.ods) OpenDocumentスプレッドシート(*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument スプレッドシートテンプレート (*.ots) + OpenDocument スプレッドシートテンプレート (*.ots) - + + DOCX Document + DOCXドキュメント + + + + OpenDocument Document template + OpenDocument ドキュメントのテンプレート + + + + OpenDocument Presentation Template + OpenDocument プレゼンテーションのテンプレート + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + OpenDocumentスプレッドシートのテンプレート + + + CSV File (*.csv) カンマ区切り値(*.csv) - + PDF File (*.pdf) ポータブルドキュメント (*.pdf) - + PDFA File (*.pdf) ポータブルドキュメント /A (*.pdf) - + DJVU File (*.djvu) デジタルドキュメント(*.djvu) - + XPS File (*.xps) OpenXPSドキュメント (*.xps) - + + SVG Image (*.svg) + SVG画像 (*.svg) + + + JPG Image (*.jpg *.jpeg) JPG 画像 (*.jpg, *jpeg) - + PNG Image (*.png) PNG 画像 (*.png) - + Save As 名前を付けて保存 - + %1 already exists.<br>Do you want to replace it? %1 は既存します。<br>置き換えますか? - + Word Document Word ドキュメント - + Excel Workbook Excel スプレッドシート - + PowerPoint Presentation PowerPoint プレゼンテーション - + %1 File (*.%2) %1 ファイル (*.%2) - - - + + + Text documents テキストドキュメント - - - + + + Spreadsheets スプレッドシート - - - + + + Presentations プレゼンテーション - + Web Page ウェブページ - + Text files テキストファイル - - - + + + All supported files サポートされているすべてのファイル - + + + Spreadsheet template + スプレッドシートのテンプレート + + + + + Presentation template + プレゼンテーションのテンプレート + + + + + Document template + ドキュメントのテンプレート + + + Open Document ドキュメントを開く - - + + All Images すべての画像 - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) プラグインファイル (*.plugin) - + Video file 動画ファイル - + Audio file 音声ファイル - + Select Folder フォルダーを選択する @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + 複数のドキュメントが開いています。<br>そのままでウィンドウを閉じてもよろしいですか? + + + + Don't ask again. + 二度と聞かないようにします。 + + + + File format not supported. ファイルフォーマットがサポートされていません。 - + %1 doesn't exists!<br>Remove file from the list? %1 は利用できません。名前を変更したか、移動または削除された可能性があります。<br>リストからファイルを削除しますか? - + Document must be saved firstly. ドキュメントを最初に保存する必要があります。 - + Document must be saved to continue.<br>Save the document? 続けるには、ドキュメントを保存する必要があります。<br>ドキュメントを保存しますか? - + There are no printers available 利用可能なプリンターはありません - + Print Document ドキュメントを印刷 - + Sign Up ポータルを作成 - + %1 is modified.<br>Do you want to keep changes? %1 を変更しました。<br>変更を保存しますか? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 ドキュメントを印刷中: %2 ページ中 %1 ページ - + Document is preparing ドキュメントを準備中 - + &Cancel &キャンセル - + Printing... 印刷中... @@ -587,25 +637,183 @@ CUpdateManager - + + Check for updates + アップデートをチェックしています + + + + Unable to check update: URL not defined. + アップデートを確認できません: URL が定義されていません。 + + + + To finish updating, restart app + 更新を終了するには、アプリを再起動してください + + + + Restart + 再起動 + + + + Checking for updates... + アップデートをチェックしています… + + + + Updates are not allowed! + アップデートは許可されていません! + + + This folder configuration does not allow for updates! The folder name should be: - + このフォルダの設定では、アップデートが許可されていません。フォルダ名は次のようにしてください: + + + + An error occurred while check updates: Update Service not found! + アップデートを確認中にエラーが発生しました:アップデートサービスが見つかりませんでした! + + + + Downloading new version %1 (%2%) + 新しいバージョン%1 (%2%) をダウンロードしています + + + + An error occurred while loading updates: Update Service not found! + アップデートの起動中にエラーが発生しました:サービスが見つかりませんでした! + + + + Cancel + キャンセル + + + + An error occurred while loading updates: package Url is empty! + 更新のロード中にエラーが発生しました: パッケージ URLが空です! + + + + Update package error: md5 sum does not match the original. + パッケージの更新エラー:md5 sum がオリジナルと一致しません。 + + + + Preparing update... + アップデートの準備中です… + + + + An error occurred while unzip updates: Update Service not found! + アップデートのアーカイブを解除中にエラーが発生しました:アップデートサービスが見つかりませんでした! + + + + Update is available (version %1) + 更新が利用可能です (バージョン %1) + + + + Download update + アップデートをダウンロードする + + + + Current version is up to date + 現在のバージョンは最新です + + + + An error occured while unpacking the archive + アーカイブの解凍中にエラーが発生しました + + + + Update download failed: out of memory! + アップデートのダウンロードに失敗しました: メモリ不足です + + + + Update download failed: server connection error! + アップデートのダウンロードに失敗しました: サーバー接続エラー + + + + Update download failed: wrong URL! + アップデートのダウンロードに失敗しました: URLが間違っています + + + + Update download failed: unable to create file! + 更新のダウンロードに失敗しました: ファイルを作成できません + + + + Update download failed: network error! + ダウンロードの更新に失敗しました:ネットワークエラー + + + + A service error has occurred! + サービスエラーが発生しました! + + + + Last check performed %1 + 最後に実行されたチェック %1 + + + + Error opening JSON file. + JSON ファイルを開くときにエラーが発生しました。 + + + + Update is available + アップデートが利用可能です + + + + + Current version + 現在のバージョン + + + + + Update version + バージョンの更新 + + + + Would you like to download update now? + アップデートをダウンロードしますか? + + + + Update is ready to install + アップデートをインストールする準備ができています + + + + Would you like to restart app now? + アプリを再起動しますか? - - A new version of %1 is available! - %1の新バージョンがリリースされました! + %1の新バージョンがリリースされました! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 が利用可能になりました(あなたは %3 を持っています)。今すぐダウンロードしますか? + %1 %2 が利用可能になりました(あなたは %3 を持っています)。今すぐダウンロードしますか? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 がダウンロードされました(あなたは %3 を持っています)。今すぐインストールしますか? + %1 %2 がダウンロードされました(あなたは %3 を持っています)。今すぐインストールしますか? @@ -616,7 +824,7 @@ %1 は利用できません。名前を変更したか、移動または削除された可能性があります。<br>リストからファイルを削除しますか? - + File %1 cannot be opened or doesn't exists. ファイル %1 を開くことができないか、存在しません。 @@ -625,8 +833,8 @@ サポートされているすべてのファイル (*.txt *.csv) - - + + All files (*.*) すべてのファイル (*.*) @@ -635,141 +843,150 @@ サポートされているすべてのファイル - + XML File (*.xml) - + XML ファイル (*.xml) - - + + Access to file '%1' is denied! - + '%1'へのアクセスが拒否されました! - + Read only 閲覧のみ - + + Skip this version このバージョンをスキップする - + + Remind me later 後で通知する - + + Install update アップデートをインストールする - Install on Next Start - 次回の起動時にインストールする + 次回の起動時にインストールする - + + + Install later + 後でインストールする + + + + Save and Restart Now 今すぐ保存して再起動する - + + Save and Install Now インストール - + + Download update アップデートをダウンロードする - + + Software Update ソフトウェアの更新 - + + Release notes リリースノート - An error occurred while check updates: Update Service not found! - + アップデートを確認中にエラーが発生しました:アップデートサービスが見つかりませんでした! - An error occurred while loading updates: Update Service not found! - + アップデートの起動中にエラーが発生しました:サービスが見つかりませんでした! - An error occurred while unzip updates: Update Service not found! - + アップデートのアーカイブを解除中にエラーが発生しました:アップデートサービスが見つかりませんでした! - + An error occurred while start install updates! - + アップデートのインストール中にエラーが発生しました! - + An error occurred while start replacing files: Update Service not found! - + ファイルの移動中にエラーが発生しました:アップデートサービスが見つかりませんでした! - + Cancel - キャンセル + キャンセル - + Yes - はい + はい - + No - いいえ + いいえ - + OK - OK + OK - + Skip - スキップ + スキップ - + Buy Now - + 今すぐ購入する - + Activate - + 有効にする - + Continue - + 次へ An error occurred while opening the portal:<br>%1 - + ポータルを開く中にエラーが発生しました:<br>%1 - App can't working correctly under admin rights. - + このアプリは、管理者のアクセス権で正しく動かない可能性があります。 &OK diff --git a/win-linux/langs/ko.qm b/win-linux/langs/ko.qm index 49a733f03..5ec5a884e 100644 Binary files a/win-linux/langs/ko.qm and b/win-linux/langs/ko.qm differ diff --git a/win-linux/langs/ko.ts b/win-linux/langs/ko.ts index 0eac03574..e7520e595 100644 --- a/win-linux/langs/ko.ts +++ b/win-linux/langs/ko.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View 발표자 보기 @@ -17,18 +17,18 @@ 업데이트 중입니다. 업데이트를 취소하고 애플케이이션을 닫으시겠습니까? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Book%1.xlsx - + Presentation%1.pptx Presentation%1.pptx @@ -36,8 +36,8 @@ CAscTabWidget - - + + Document 여는 중... @@ -61,70 +61,70 @@ CDialogOpenSsl - + Select certificate 인증서 선택 - + select certificate file... 인증서 파일 선택... - + Certifacate password: 인증서 비밀번호: - + select key file... 키 파일 선택… - + Key password: 키 비밀번호: - - - - + + + + Open Document 문서 열기 - + Enter certificate path 인증서 경로를 입력해주세요 - + Certificate is not supported 지원되지 않는 인증서입니다 - + Enter certificate password 인증서 비밀번호를 입력해주세요 - + Wrong certificate password.<br>Please enter again 잘못된 인증서 비밀번호입니다.<br>다시 한 번 입력해주세요 - + Enter valid private key 유효한 개인 키를 입력해주세요 - + Key is not supported 지원되지 않는 키입니다 - + Enter key password 키 비밀번호를 입력해주세요 @@ -132,7 +132,7 @@ CDownloadWidget - + Cancel 취소 @@ -145,27 +145,27 @@ %1이 수정되었습니다.<br>변경 사항을 저장하시겠습니까? - + Some data will lost.<br>Continue? 계속 이 형식으로 저장할 경우 텍스트를 제외한 모든 기능을 잃게 됩니다.<br>정말로 계속하시겠습니까? - + Open main window 메인 창 열기 - + Document must be saved to continue.<br>Save the document? 계속하려면 문서를 저장해야 합니다.<br>문서를 저장하시겠습니까? - + Print Document 문서 인쇄 - + Document must be saved firstly. 문서를 먼저 저장해야 합니다. @@ -173,7 +173,7 @@ CEditorWindowPrivate - + There are no printers available @@ -181,283 +181,319 @@ CFileDialogWrapper - + All files (*.*) 모든 파일 (*.*) - DOCX Document (*.docx) - Office Open XML 문서(*.docx) + Office Open XML 문서(*.docx) - Document template (*.dotx) - Word Open XML 문서 템플릿(*.dotx) + Word Open XML 문서 템플릿(*.dotx) - + DOC Document (*.doc) Word 97-2003 문서(*.doc) - + ODT Document (*.odt) 오픈도큐먼트 텍스트 문서(*.odt) - OpenDocument Document template (*.ott) - OpenDocument 문서 템플릿(*.ott) + OpenDocument 문서 템플릿(*.ott) - + RTF File (*.rtf) 서식이 있는 텍스트 형식 파일(*.rtf) - + TXT File (*.txt) 일반 텍스트 파일(*.txt) - + HTML File (*.html) 하이퍼텍스트 마크업 언어 파일(*.html) - + MHT File (*.mht) 웹 페이지 아카이브 파일(*.mht) - + EPUB File (*.epub) 전자 출판물 파일(*.epub) - + FB2 File (*.fb2) 픽션북 2 파일(*.fb2) - + MOBI File (*.mobi) 모비포켓 전자책(*.mobi) - + OFORM Document (*.oform) ONLYOFFICE 작성 가능한 온라인 양식(*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE 문서 양식 템플릿(*.docxf) - + PPTX File (*.pptx) Office Open XML 프레젠테이션(*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 프레젠테이션(*.ppt) - Presentation template (*.potx) - PowerPoint Open XML 프레젠테이션 템플릿(*.potx) + PowerPoint Open XML 프레젠테이션 템플릿(*.potx) - + ODP File (*.odp) 오픈도큐먼트 프레젠테이션(*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument프레젠테이션 템플릿 (*.otp) + OpenDocument프레젠테이션 템플릿 (*.otp) - + PPSX File (*.ppsx) Office Open XML 슬라이드 쇼(*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML 스프레드시트(*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML 스프레드시트 템플릿(*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML 스프레드시트 템플릿(*.xltx) - + XLS File (*.xls) Excel 97-2003 스프레드시트(*.xls) - + ODS File (*.ods) 오픈도큐먼트 스프레드시트(*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument 스프레드시트 템플릿 (*.ots) + OpenDocument 스프레드시트 템플릿 (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) 쉼표로 구분된 데이터 파일(*.csv) - + PDF File (*.pdf) 휴대용 문서(*.pdf) - + PDFA File (*.pdf) 휴대용 문서 /A(*.pdf) - + DJVU File (*.djvu) 디지털 문서(*.djvu) - + XPS File (*.xps) OpenXPS 문서(*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG 이미지(*.png) - + Save As 저장 형식 - + %1 already exists.<br>Do you want to replace it? %1이 이미 존재합니다.<br>변경하시겠습니까? - + Word Document 워드 문서 - + Excel Workbook 엑셀 스프레드시트 - + PowerPoint Presentation 파워포인트 프레젠테이션 - + %1 File (*.%2) %1 파일 (*.%2) - - - + + + Text documents 텍스트 문서 - - - + + + Spreadsheets 스프레드시트 - - - + + + Presentations 프레젠테이션 - + Web Page 웹 페이지 - + Text files 텍스트 파일 - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document 문서 열기 - - + + All Images 모든 이미지 - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) 플러그인 파일 (*.plugin) - + Video file 비디오 파일 - + Audio file 오디오 파일 - + Select Folder @@ -465,43 +501,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. 지원되지 않는 파일 형식입니다. - + %1 doesn't exists!<br>Remove file from the list? %1이 이용 불가합니다. 이름이 변경되었거나, 이동되었거나, 삭제된 것 같습니다.<br>목록에서 파일을 제거하시겠습니까? - + Document must be saved firstly. 문서를 먼저 저장해야 합니다. - + Document must be saved to continue.<br>Save the document? 계속하려면 문서를 저장해야 합니다.<br>문서를 저장하시겠습니까? - + There are no printers available - + Print Document 문서 인쇄 - + Sign Up 포털 생성 - + %1 is modified.<br>Do you want to keep changes? %1이 수정되었습니다.<br>변경 사항을 저장하시겠습니까? @@ -540,22 +586,22 @@ CPrintProgress - + Document is printing: page %1 of %2 문서 인쇄 중: %2 페이지 중 %1 - + Document is preparing 문서 준비 중 - + &Cancel &취소 - + Printing... 인쇄 중... @@ -563,24 +609,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + 취소 + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -592,7 +784,7 @@ %1이 이용 불가합니다. 이름이 변경되었거나, 이동되었거나, 삭제된 것 같습니다.<br>목록에서 파일을 제거하시겠습니까? - + File %1 cannot be opened or doesn't exists. %1 파일이 열리지 않거나 존재하지 않습니다. @@ -601,135 +793,129 @@ 모든 지원 파일(*.txt *.csv) - - + + All files (*.*) 모든 파일 (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel 취소 - + Yes - + No 아니오 - + OK 확인 - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &확인 diff --git a/win-linux/langs/lo.qm b/win-linux/langs/lo.qm index 99457fa5c..b24e908b7 100644 Binary files a/win-linux/langs/lo.qm and b/win-linux/langs/lo.qm differ diff --git a/win-linux/langs/lo.ts b/win-linux/langs/lo.ts index 450b12cd3..5111fab62 100644 --- a/win-linux/langs/lo.ts +++ b/win-linux/langs/lo.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View ມຸມມອງຜູ້ນຳສະເໜີ @@ -21,18 +21,18 @@ ບັນນາທິການທັງ ໝົດ ຈະຖືກປິດ. ທ່ານຕ້ອງການ ດຳ ເນີນການຕໍ່ບໍ? - - + + Document%1.docx ເອກະສານ%1.docx - + Book%1.xlsx ປື້ມ%1.xlsx - + Presentation%1.pptx ການນຳສະເໜີ%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document ກຳລັງເປີດ @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate ເລືອກໃບຢັ້ງຢືນ - + select certificate file... ກຳລັງເລືອກເອກະສານໃບຢັ້ງຢືນ... - + Certifacate password: ໃບຢັ້ງຢືນລະຫັດຜ່ານ: - + select key file... ລືອກໄຟລ໌ທີ່ສຳຄັນ... - + Key password: ລະຫັດຜ່ານທີ່ສຳຄັນ: - - - - + + + + Open Document - ເປີດເອກະສານ + ເປີດເອກະສານ - + Enter certificate path ໃສ່ເສັ້ນທາງໃບຢັ້ງຢືນ - + Certificate is not supported ໃບຢັ້ງຢືນບໍ່ໄດ້ຮັບການສະໜັບສະໜູນ - + Enter certificate password ໃສ່ລະຫັດຜ່ານໃບຢັ້ງຢືນ - + Wrong certificate password.<br>Please enter again ລະຫັດຜ່ານໃບຢັ້ງຢືນທີ່ບໍ່ຖືກຕ້ອງ.<br>ກະລຸນາໃສ່ອີກຄັ້ງ - + Enter valid private key ໃສ່ລະຫັດສ່ວນຕົວທີ່ຖືກຕ້ອງ - + Key is not supported ກຸນແຈບໍ່ໄດ້ຮັບຮັບຮອງ - + Enter key password ໃສ່ລະຫັດຜ່ານ @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel ຍົກເລີກ @@ -144,22 +144,22 @@ CEditorWindow - + Open main window ເປີດໜ້າຕ່າງຫຼັກ - + Document must be saved to continue.<br>Save the document? ເອກະສານຕ້ອງຖືກບັນທຶກເພື່ອສືບຕໍ່.<br>ບັນທຶກເອກະສານບໍ່? - + Print Document ພິມເອກະສານ - + Document must be saved firstly. ເອກະສານຕ້ອງໄດ້ເກັບໄວ້ກ່ອນ. @@ -169,7 +169,7 @@ %1 ຖືກແກ້ໄຂແລ້ວ.<br>ທ່ານຕ້ອງການບັນທຶກການປ່ຽນແປງບໍ່? - + Some data will lost.<br>Continue? ຖ້າທ່ານສືບຕໍ່ບັນທຶກໃນຮູບແບບນີ້ທຸກລັກສະນະຍົກເວັ້ນຂໍ້ຄວາມຈະຫາຍໄປ.<br>ທ່ານແນ່ໃຈບໍ່ວ່າທ່ານຕ້ອງການ ດຳ ເນີນຕໍ່ໄປ? @@ -177,337 +177,387 @@ CEditorWindowPrivate - + There are no printers available - + ບໍ່ມີເຄື່ອງພິມທີ່ມີຢູ່ CFileDialogWrapper - + All files (*.*) ຟາຍທັງ ໝົດ (*.*) - DOCX Document (*.docx) - ເປີດເອກະສານ XML (*.docx) + ເປີດເອກະສານ XML (*.docx) - Document template (*.dotx) - ເປີດໄຟລ໌ XML ໃນຮູບແບບເອກະສານ Word (*.dotx) + ເປີດໄຟລ໌ XML ໃນຮູບແບບເອກະສານ Word (*.dotx) - + DOC Document (*.doc) ເອກະສານ Word 97-2003 (*.doc) - + ODT Document (*.odt) ເປີດເອກະສານໄຟລ໌ Text (*.odt) - OpenDocument Document template (*.ott) - ເປີດເອກະສານ ເປັນຮູບແບບເອກະສານ (*.ott) + ເປີດເອກະສານ ເປັນຮູບແບບເອກະສານ (*.ott) - + RTF File (*.rtf) ຮູບແບບໄຟລ໌ສົມບູນ (*.rtf) - + TXT File (*.txt) ໄຟລ໌ຂໍ້ຄວາມທຳມະດາ (*.txt) - + HTML File (*.html) ໄຟລ໌ HyperText Markup Language (*.html) - + MHT File (*.mht) ແຟ້ມຈັດເກັບໜ້າເວັບ (*. mht) - + EPUB File (*.epub) ເອກະສານສິ່ງພິມເອເລັກໂທຣນິກ (*. epub) - + FB2 File (*.fb2) ໄຟລ໌ FictionBook 2 (*.fb2) - + MOBI File (*.mobi) ໄຟລ໌ Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) ສາມາດຕື່ມແບບຟອມ ອອນລາຍ ໄດ້ ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) ຮູບແບບຂອງ ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) ການນຳສະເໜີ XML (*.pptx) - + PPT File (*.ppt) ນຳສະເໜີ PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - ເປີດໄຟລ໌ XML ໃນຮູບແບບນຳສະເໜີ PowerPoint (*.potx) + ເປີດໄຟລ໌ XML ໃນຮູບແບບນຳສະເໜີ PowerPoint (*.potx) - + ODP File (*.odp) ເປິດເອກະສານນຳສະເໜີ (*.odp) - OpenDocument Presentation Template (*.otp) - ເປີດເອກະສານ ໃນຮູບແບບນຳສະເໜີ (*.otp) + ເປີດເອກະສານ ໃນຮູບແບບນຳສະເໜີ (*.otp) - + PPSX File (*.ppsx) ເປີດສະແດງສະໄລ XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + ການນຳສະເໜີທີ່ເປີດໃຊ້ Macro (*.pptm) - + XLSX File (*.xlsx) ເປີດຕາຕະລາງ XML (*.xlsx) - Spreadsheet template (*.xltx) - ເປີດໄຟລ໌ XML ໃນຮູບແບບຕາຕະລາງ Excel (*.xltx) + ເປີດໄຟລ໌ XML ໃນຮູບແບບຕາຕະລາງ Excel (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - + ແມ່ແບບສະເປຣດຊີດທີ່ເປີດໃຊ້ Macro (*.xltm) - + XLS File (*.xls) ຕາຕະລາງ Excel 97-2003 (*.xls) - + ODS File (*.ods) ເປີດເອກະສານໃນຮູບແບບຕາຕະລາງ (*.ods) - OpenDocument Spreadsheet Template (*.ots) - ເປີດເອກະສານໃນຮູບແບບຂອງຕາຕະລາງ (*.ots) + ເປີດເອກະສານໃນຮູບແບບຂອງຕາຕະລາງ (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) ຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ (*.csv) - + PDF File (*.pdf) ເອກະສານແບບພົກພາ (*.pdf) - + PDFA File (*.pdf) ເອກະສານພົກພາ /A (*.pdf) - + DJVU File (*.djvu) ເອກະສານດິຈິຕອນ (*.djvu) - + XPS File (*.xps) ເອກະສານ OpenXPS (*.xps) - - JPG Image (*.jpg *.jpeg) + + SVG Image (*.svg) - + + JPG Image (*.jpg *.jpeg) + ຮູບພາບ JPG (*.jpg *.jpeg) + + + PNG Image (*.png) ຮູບພາບແບບPNG (*. png ) - + Save As ບັນທຶກເປັນ - + %1 already exists.<br>Do you want to replace it? %1 ມີຢູ່ແລ້ວ.<br>ທ່ານຕ້ອງການປ່ຽນແທນມັນບໍ? - + Word Document ເອກະສານ Word - + Excel Workbook ຕ່ຕະລາງ Excel - + PowerPoint Presentation ການນຳສະ ເໜີ PowerPoint - + %1 File (*.%2) %1 ເອກະສານ (*.%2) - - - + + + Text documents ຂໍ້ຄວາມເອກະສານ - - - + + + Spreadsheets ຕາຕະລາງ - - - + + + Presentations ການນຳສະເໜີ - + Web Page ໜ້າເວບ - + Text files ແຟ້ມຂໍ້ຄວາມ - - - + + + All supported files + ໄຟລ໌ທີ່ຮອງຮັບທັງໝົດ + + + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template - + Open Document ເປີດເອກະສານ - - + + All Images ຮູບພາບທັງ ໝົດ - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) ປະເພດ Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) ປະເພດ Plugin File (*.plugin) - + Video file ໄຟລ໌ວິດີໂອ - + Audio file ໄຟລ໌ສຽງ - + Select Folder - + ເລືອກໂຟນເດີ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. - ຮູບແບບເອກະສານບໍ່ຮອງຮັບ. + ຮູບແບບເອກະສານບໍ່ຮອງຮັບ. - + %1 doesn't exists!<br>Remove file from the list? - ບໍ່ມີ. ມັນອາດຈະຖືກປ່ຽນຊື່, ຍ້າຍຫລືລຶບ.<br>ທ່ານຕ້ອງການທີ່ຈະເອົາໄຟລ໌ນັ້ນອອກຈາກບັນຊີບໍ? + ບໍ່ມີ. ມັນອາດຈະຖືກປ່ຽນຊື່, ຍ້າຍຫລືລຶບ.<br>ທ່ານຕ້ອງການທີ່ຈະເອົາໄຟລ໌ນັ້ນອອກຈາກບັນຊີບໍ? - + Document must be saved firstly. - ເອກະສານຕ້ອງໄດ້ເກັບໄວ້ກ່ອນ. + ເອກະສານຕ້ອງໄດ້ເກັບໄວ້ກ່ອນ. - + Document must be saved to continue.<br>Save the document? - ເອກະສານຕ້ອງຖືກບັນທຶກເພື່ອສືບຕໍ່.<br>ບັນທຶກເອກະສານບໍ່? + ເອກະສານຕ້ອງຖືກບັນທຶກເພື່ອສືບຕໍ່.<br>ບັນທຶກເອກະສານບໍ່? - + There are no printers available - + ບໍ່ມີເຄື່ອງພິມທີ່ມີຢູ່ - + Print Document - ພິມເອກະສານ + ພິມເອກະສານ - + Sign Up - ສ້າງຈຸດເຊື່ອມຕໍ່ + ສ້າງຈຸດເຊື່ອມຕໍ່ - + %1 is modified.<br>Do you want to keep changes? - %1 ໄດ້ຖືກແກ້ໄຂແລ້ວ.<br>ທ່ານຕ້ອງການທີ່ຈະບັນທຶກການປ່ຽນແປງ? + %1 ໄດ້ຖືກແກ້ໄຂແລ້ວ.<br>ທ່ານຕ້ອງການທີ່ຈະບັນທຶກການປ່ຽນແປງ? @@ -544,22 +594,22 @@ CPrintProgress - + Document is printing: page %1 of %2 ເອກະສານການພິມ: ໜ້າ%1 ຂອງ%2: - + Document is preparing ການກະກຽມເອກະສານ - + &Cancel &ຍົກເລີກ - + Printing... ກຳລັງພິມ... @@ -567,26 +617,184 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: + ການຕັ້ງຄ່າໂຟນເດີນີ້ບໍ່ອະນຸຍາດໃຫ້ອັບເດດ! ຊື່ໂຟນເດີຄວນຈະເປັນ: + + + + An error occurred while check updates: Update Service not found! + ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ກວດສອບການອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! + + + + Downloading new version %1 (%2%) - - - A new version of %1 is available! + + An error occurred while loading updates: Update Service not found! + ເກີດຄວາມຜິດພາດໃນລະຫວ່າງການໂຫຼດອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! + + + + Cancel + ຍົກເລີກ + + + + An error occurred while loading updates: package Url is empty! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update package error: md5 sum does not match the original. - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ unzip ອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! + + + + Update is available (version %1) + + + + + Download update + ດາວໂຫລດອັບເດດ + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + Would you like to restart app now? + + + + A new version of %1 is available! + ເວີຊັນໃໝ່ຂອງ %1 ມີໃຫ້ແລ້ວ! + + + %1 %2 is now available (you have %3). Would you like to download it now? + %1 %2 ມີໃຫ້ແລ້ວ (ທ່ານມີ %3). ທ່ານຕ້ອງການດາວໂຫຼດມັນດຽວນີ້ບໍ? + + + %1 %2 is now downloaded (you have %3). Would you like to install it now? + %1 %2 ຖືກດາວໂຫຼດແລ້ວ (ທ່ານມີ %3). ທ່ານຕ້ອງການຕິດຕັ້ງມັນດຽວນີ້ບໍ? + QObject @@ -596,7 +804,7 @@ ບໍ່ມີ. ມັນອາດຈະຖືກປ່ຽນຊື່, ຍ້າຍຫລືລຶບ.<br>ທ່ານຕ້ອງການທີ່ຈະເອົາໄຟລ໌ນັ້ນອອກຈາກບັນຊີບໍ? - + File %1 cannot be opened or doesn't exists. ໄຟລ໌ %1 ບໍ່ສາມາດເປີດໄດ້ ຫຼືບໍ່ມີຢູ່. @@ -605,147 +813,152 @@ ໄຟລ໌ທີ່ຮອງຮັບທັງໝົດ (*.txt *.csv) - - + + All files (*.*) ຟາຍທັງ ໝົດ (*.*) - + XML File (*.xml) - + ໄຟລ໌ XML - - + + Access to file '%1' is denied! - + ການເຂົ້າເຖິງໄຟລ໌ '%1' ຖືກປະຕິເສດ! - + Read only - + ອ່ານ​ຢ່າງ​ດຽວ - + + Skip this version - + ຂ້າມເວີຊັ້ນນີ້ - + + Remind me later - + ເຕືອນຂ້ອຍໃນພາຍຫຼັງ - + + Install update - + ຕິດຕັ້ງອັບເດດ - Install on Next Start + ຕິດຕັ້ງໃນການເປີດຄັ້ງຕໍ່ໄປ + + + + + Install later - + + Save and Restart Now - + ບັນທຶກ ແລະຣີສະຕາດດຽວນີ້ - + + Save and Install Now - + ບັນທຶກແລະຕິດຕັ້ງດຽວນີ້ - + + Download update - + ດາວໂຫລດອັບເດດ - + + Software Update - + ອັບເດດຊອບແວ - + + Release notes - + ບັນທຶກການປັບປຸງ - An error occurred while check updates: Update Service not found! - + ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ກວດສອບການອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! - An error occurred while loading updates: Update Service not found! - + ເກີດຄວາມຜິດພາດໃນລະຫວ່າງການໂຫຼດອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! - An error occurred while unzip updates: Update Service not found! - + ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ unzip ອັບເດດ: ບໍ່ພົບບໍລິການອັບເດດ! - + An error occurred while start install updates! - + ເກີດຄວາມຜິດພາດຂຶ້ນໃນຂະນະທີ່ ເລີ່ມຕິດຕັ້ງ ອັບເດດ! - + An error occurred while start replacing files: Update Service not found! - + ເກີດຄວາມຜິດພາດຂຶ້ນໃນຂະນະທີ່ເລີ່ມປ່ຽນໄຟລ໌: ບໍ່ພົບບໍລິການອັບເດດ! - + Cancel - ຍົກເລີກ + ຍົກເລີກ - + Yes - ແມ່ນແລ້ວ + ແມ່ນແລ້ວ - + No - ບໍ່ + ບໍ່ - + OK - ບໍ່ + ບໍ່ - + Skip - + ຂ້າມ - + Buy Now - + ຊື້​ດຽວ​ນີ້ - + Activate - + ເປີດໃຊ້ - + Continue - + ສືບຕໍ່ An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + ເກີດຄວາມຜິດພາດຂຶ້ນໃນຂະນະທີ່ເປີດປະຕູ:< br >%1 &OK diff --git a/win-linux/langs/lt.qm b/win-linux/langs/lt.qm index 9d17352e4..e5ae68945 100644 Binary files a/win-linux/langs/lt.qm and b/win-linux/langs/lt.qm differ diff --git a/win-linux/langs/lt.ts b/win-linux/langs/lt.ts index 5514a814a..db99cf29b 100644 --- a/win-linux/langs/lt.ts +++ b/win-linux/langs/lt.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Peržiūros rėžimas @@ -21,18 +21,18 @@ Visi redagavimo langai bus uždaryti. Ar norite tęsti? - - + + Document%1.docx Documentas%1.docx - + Book%1.xlsx Knyga%1.xlsx - + Presentation%1.pptx Prezentacija%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Atidaroma... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Pasirinkti pažymėjimą - + select certificate file... pasirinkti pažymėjimo failą... - + Certifacate password: Pažymėjimo slaptažodis: - + select key file... pasirinkti pagrindinį failą... - + Key password: Pagrindinis slaptažodis: - - - - + + + + Open Document Atidaryti dokumentą - + Enter certificate path Įvesti pažymėjimo kelią - + Certificate is not supported Pažymėjimas nepalaikomas - + Enter certificate password Įvesti pažymėjimo slaptažodį - + Wrong certificate password.<br>Please enter again Neteisingas pažymėjimo slaptažodis.<br>Bandykite dar kartą - + Enter valid private key Įveskite galiojantį privatų raktą - + Key is not supported Raktas nepalaikomas - + Enter key password Įveskite pagrindinį slaptažodį @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Atšaukti @@ -149,27 +149,27 @@ %1 buvo pakeistas.<br>Ar norite išsaugoti pakeitimus? - + Some data will lost.<br>Continue? Jei ir toliau saugosite šiuo formatu, visos funkcijos, išskyrus tekstą, bus prarastos.<br>Ar norite tęsti? - + Open main window Atidaryti pagrindinį langą - + Document must be saved to continue.<br>Save the document? Norint tęsti, dokumentas privalo būti išsaugotas.<br>Išsaugoti dokumentą? - + Print Document Spausdinti dokumentą - + Document must be saved firstly. Dokumentas pirma turi būti išsaugotas. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Visi failai (*.*) - DOCX Document (*.docx) - Office Atidaryti XML Dokumentą (*.docx) + Office Atidaryti XML Dokumentą (*.docx) - Document template (*.dotx) - Word Open XML Dokumento šablonas (*.dotx) + Word Open XML Dokumento šablonas (*.dotx) - + DOC Document (*.doc) Word 97-2003 Dokumentas (*.doc) - + ODT Document (*.odt) OpenDocument Tekstinis failas (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Dokumento šablonas (*.ott) + OpenDocument Dokumento šablonas (*.ott) - + RTF File (*.rtf) Raiškiojo Teksto Formato Failas (*.rtf) - + TXT File (*.txt) Paprastas Tekstas (*.txt) - + HTML File (*.html) HTML Failas (*.html) - + MHT File (*.mht) MHT Failas (*.mht) - + EPUB File (*.epub) EPUB Failas (*.epub) - + FB2 File (*.fb2) FB2 Failas (*.fb2) - + MOBI File (*.mobi) Mobipocket el. knyga (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Užpildoma Internetinė Anketa (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Anketos Šablonas (*.docxf) - + PPTX File (*.pptx) Office Atidaryti XML Prezentacija (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Prezentacija (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Prezentacijos šablonas (*.potx) + PowerPoint Open XML Prezentacijos šablonas (*.potx) - + ODP File (*.odp) OpenDocument Prezentacija (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Prezentacijos šablonas (*.otp) + OpenDocument Prezentacijos šablonas (*.otp) - + PPSX File (*.ppsx) Office Atidaryti XML Skaidrių Demonstraciją (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Atidaryti XML Skaičiuoklę (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Skaičiuoklės šablonas (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML Skaičiuoklės šablonas (*.xltx) - + XLS File (*.xls) Excel 97-2003 Skaičiuoklė (*.xls) - + ODS File (*.ods) OpenDocument Skaičiuoklė (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Skaičiuoklės šablonas (*.ots) + OpenDocument Skaičiuoklės šablonas (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Kableliais atskirtos reikšmės (*.csv) - + PDF File (*.pdf) Kilnojamas Dokumentas (*.pdf) - + PDFA File (*.pdf) Kilnojamas Dokumentas /A (*.pdf) - + DJVU File (*.djvu) Skaitmeninis dokumentas (*.djvu) - + XPS File (*.xps) Dokumentas OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG Nuotrauka (*.png) - + Save As Išsaugoti Kaip - + %1 already exists.<br>Do you want to replace it? %1 jau egzistuoja.<br>Ar norite jį pakeisti? - + Word Document Word Dokumentas - + Excel Workbook Excel Skaičiuoklė - + PowerPoint Presentation PowerPoint Prezentacija - + %1 File (*.%2) %1 Failas (*.%2) - - - + + + Text documents Tekstiniai Dokumentai - - - + + + Spreadsheets Skaičiuoklės - - - + + + Presentations Prezentacijos - + Web Page Tinklo puslapis - + Text files Tekstiniai Failai - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Atidaryti dokumentą - - + + All Images Visos nuotraukos - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin Failas (*.plugin) - + Video file Video Failas - + Audio file Audio Failas - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Failo formatas nepalaikomas. - + %1 doesn't exists!<br>Remove file from the list? %1 negalimas. Jis galėjo būti pervardytas, perkeltas arba ištrintas.<br>Ar norite panaikinti failą iš sąrašo? - + Document must be saved firstly. Dokumentas pirma turi būti išsaugotas. - + Document must be saved to continue.<br>Save the document? Norint tęsti, dokumentas privalo būti išsaugotas.<br>Išsaugoti dokumentą? - + There are no printers available - + Print Document Spausdinti dokumentą - + Sign Up Sukurti portalą - + %1 is modified.<br>Do you want to keep changes? %1 buvo pakeistas.<br>Ar norite išsaugoti pakeitimus? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Dokumentas spausdinamas: puslapis %1 iš %2 - + Document is preparing Dokumentas ruošiamas - + &Cancel &Atšaukti - + Printing... Spausdinama... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Atšaukti + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 negalimas. Jis galėjo būti pervardytas, perkeltas arba ištrintas.<br>Ar norite panaikinti failą iš sąrašo? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Visi failai (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Atšaukti - + Yes Taip - + No Ne - + OK GERAI - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &GERAI diff --git a/win-linux/langs/lv.qm b/win-linux/langs/lv.qm index 40c4c2aeb..ffa7ca369 100644 Binary files a/win-linux/langs/lv.qm and b/win-linux/langs/lv.qm differ diff --git a/win-linux/langs/lv.ts b/win-linux/langs/lv.ts index 6be2b2adb..298b6fe6e 100644 --- a/win-linux/langs/lv.ts +++ b/win-linux/langs/lv.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Prezentētāja Skats @@ -21,18 +21,18 @@ Visi rediģēšanas logi tiks aizvērti. Vai jūs vēlaties turpināt? - - + + Document%1.docx Dokuments%1.docx - + Book%1.xlsx Grāmata%1.xlsx - + Presentation%1.pptx Prezentācija%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Notiek atvēršana... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Izvēlēties sertifikātu - + select certificate file... izvēlēties sertifikāta failu... - + Certifacate password: Sertifikāta parole: - + select key file... izvēlēties atslēgas failu... - + Key password: Atslēgas parole: - - - - + + + + Open Document - Atvērt Dokumentu + Atvērt Dokumentu - + Enter certificate path Ievadīt sertifikāta ceļu - + Certificate is not supported Sertifikāts netiek atbalstīts - + Enter certificate password Ievadiet sertifikāta paroli - + Wrong certificate password.<br>Please enter again Nepareiza sertifikāta parole.<br>Lūdzu, ievadiet vēlreiz - + Enter valid private key Ievadiet derīgu privāto atslēgu - + Key is not supported Atslēga netiek atbalstīta - + Enter key password Ievadiet atslēgas paroli @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Atcelt @@ -149,27 +149,27 @@ %1 tika izmainīts.<br>Vai jūs vēlaties saglabāt izmaiņas? - + Some data will lost.<br>Continue? Ja jūs turpināsiet saglabāt šajā formātā, visas iezīmes zudīs, izņemot tekstu.<br>Vai esat pārliecināts, ka vēlaties turpināt? - + Open main window Atvērt galveno logu - + Document must be saved to continue.<br>Save the document? Dokuments jāsaglabā, lai turpinātu.<br>Saglabāt dokumentu? - + Print Document Izprintēt dokumentu - + Document must be saved firstly. Dokuments vispirms jāsaglabā. @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + Nav pieejams neviens printeris CFileDialogWrapper - + All files (*.*) Visi faili (*.*) - DOCX Document (*.docx) - Office Open XML dokuments (*.docx) + Office Open XML dokuments (*.docx) - Document template (*.dotx) - Word Open XML Dokumenta veidne (*.dotx) + Word Open XML Dokumenta veidne (*.dotx) - + DOC Document (*.doc) Word 97-2003 dokuments (*.doc) - + ODT Document (*.odt) OpenDocument Teksta fails (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Dokumenta veidne (*.ott) + OpenDocument Dokumenta veidne (*.ott) - + RTF File (*.rtf) Bagātināta teksta formāta fails (*.rtf) - + TXT File (*.txt) Parasts Teksts (*.txt) - + HTML File (*.html) Hiperteksta atzīmes valodas fails (*.html) - + MHT File (*.mht) Tīmekļa lapas arhīva fails (*.mht) - + EPUB File (*.epub) Elektronisko publikāciju fails (*.epub) - + FB2 File (*.fb2) FictionBook 2 fails (*.fb2) - + MOBI File (*.mobi) Mobipocket e-grāmata (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE aizpildāmā tiešsaistes veidlapa (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE veidlapas veidne (*.docxf) - + PPTX File (*.pptx) Office Open XML prezentācija (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 prezentācija (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Prezentācijas veidne (*.potx) + PowerPoint Open XML Prezentācijas veidne (*.potx) - + ODP File (*.odp) OpenDocument Prezentācija (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Prezentācijas veidne (*.otp) + OpenDocument Prezentācijas veidne (*.otp) - + PPSX File (*.ppsx) Office Open XML slaidrāde (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Prezentācijas fails ar iespējotu makro (*.pptm) - + XLSX File (*.xlsx) Office Open XML izklājlapa (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Izklājlapas veidne (*.xltx) + Excel Open XML Izklājlapas veidne (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Excel 97-2003 izklājlapa (*.xls) - + ODS File (*.ods) OpenDocument Izklājlapa (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Izklājlapas veidne (*.ots) + OpenDocument Izklājlapas veidne (*.ots) - + + DOCX Document + DOCX dokuments + + + + OpenDocument Document template + OpenDocument dokumenta veidne + + + + OpenDocument Presentation Template + OpenDocument prezentācijas veidne + + + + Macro-enabled spreadsheet template + Izklājlapas veidne ar iespējotu makro + + + + OpenDocument Spreadsheet Template + OpenDocument izklājlapas veidne + + + CSV File (*.csv) Ar Komatiem Atdalītas Vērtības (*.csv) - + PDF File (*.pdf) Portatīvs dokuments (*.pdf) - + PDFA File (*.pdf) Portatīvs dokuments /A (*.pdf) - + DJVU File (*.djvu) Digitālais dokuments (*.djvu) - + XPS File (*.xps) OpenXPS dokuments (*.xps) - + + SVG Image (*.svg) + SVG attēls (*.svg) + + + JPG Image (*.jpg *.jpeg) - + JPG attēls (*.jpg *.jpeg) - + PNG Image (*.png) PNG attēls (*.png) - + Save As Saglabāt kā - + %1 already exists.<br>Do you want to replace it? %1 jau pastāv.<br>Vai jūs vēlaties to aizstāt? - + Word Document Word Dokuments - + Excel Workbook Excel Izklājlapa - + PowerPoint Presentation PowerPoint Prezentācija - + %1 File (*.%2) %1 Fails (*.%2) - - - + + + Text documents Teksta dokuments - - - + + + Spreadsheets Izklājlapas - - - + + + Presentations Prezentācijas - + Web Page Web Lapa - + Text files Teksta faili - - - + + + All supported files - + Visi atbalstītie faili + + + + + Spreadsheet template + Izklājlapas veidne - + + + Presentation template + Prezentācijas veidne + + + + + Document template + Dokumenta veidne + + + Open Document Atvērt Dokumentu - - + + All Images Visi Attēli - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Spraudņa fails (*.plugin) - + Video file Video fails - + Audio file Audio fails - + Select Folder - + Izvēlēties mapi CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Ir atvērts vairāk nekā viens dokuments.<br>Vai aizvērt logu tik un tā? + + + + Don't ask again. + Nejautājiet vēlreiz. + + + + File format not supported. - Faila formāts netiek atbalstīts. + Faila formāts netiek atbalstīts. - + %1 doesn't exists!<br>Remove file from the list? - %1 nav pieejams. Tas varētu būt pārdēvēts, pārvietots vai izdzēsts.<br>Vai jūs vēlaties izņemt failu no saraksta? + %1 nav pieejams. Tas varētu būt pārdēvēts, pārvietots vai izdzēsts.<br>Vai jūs vēlaties izņemt failu no saraksta? - + Document must be saved firstly. - Dokuments vispirms jāsaglabā. + Dokuments vispirms jāsaglabā. - + Document must be saved to continue.<br>Save the document? - Dokuments jāsaglabā, lai turpinātu.<br>Saglabāt dokumentu? + Dokuments jāsaglabā, lai turpinātu.<br>Saglabāt dokumentu? - + There are no printers available - + Nav pieejams neviens printeris - + Print Document - Izprintēt dokumentu + Izprintēt dokumentu - + Sign Up - Izveidot portālu + Izveidot portālu - + %1 is modified.<br>Do you want to keep changes? - %1 tika izmainīts.<br>Vai jūs vēlaties saglabāt izmaiņas? + %1 tika izmainīts.<br>Vai jūs vēlaties saglabāt izmaiņas? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Dokuments tiek printēts: %1 lapa no %2 - + Document is preparing Dokuments tiek sagatavots - + &Cancel &Atcelt - + Printing... Notiek printēšana... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Meklēt atjauninājumus + + + + Unable to check update: URL not defined. + Nevar pārbaudīt atjauninājumu: vietrādis URL nav definēts. + + + + To finish updating, restart app + Lai pabeigtu atjaunināšanu, restartējiet lietotni + + + + Restart + Restartēt + + + + Checking for updates... + Notiek atjauninājumu pārbaude... + + + + Updates are not allowed! + Atjauninājumi nav atļauti! + + + This folder configuration does not allow for updates! The folder name should be: + Šī mapes konfigurācija neļauj veikt atjauninājumus! Mapes nosaukumam ir jābūt šādam: + + + + An error occurred while check updates: Update Service not found! + Pārbaudot atjauninājumus, radās kļūda: atjaunināšanas pakalpojums nav atrasts! + + + + Downloading new version %1 (%2%) + Notiek jaunas versijas %1 lejupielāde (%2%) + + + + An error occurred while loading updates: Update Service not found! + Ielādējot atjauninājumus, radās kļūda: atjaunināšanas pakalpojums nav atrasts! + + + + Cancel + Atcelt + + + + An error occurred while loading updates: package Url is empty! + Ielādējot atjauninājumus, radās kļūda: pakotnes vietrādis URL ir tukšs! + + + + Update package error: md5 sum does not match the original. + Atjaunināšanas pakotnes kļūda: md5 summa neatbilst oriģinālam. + + + + Preparing update... + Sagatavo atjauninājumu... + + + + An error occurred while unzip updates: Update Service not found! + Izpakojot atjauninājumus, radās kļūda: atjaunināšanas pakalpojums nav atrasts! + + + + Update is available (version %1) + Ir pieejams atjauninājums (versija %1) + + + + Download update + Lejupielādēt atjauninājumu + + + + Current version is up to date + Pašreizējā versija ir atjaunināta + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Pēdējā pārbaude veikta %1 + + + + Error opening JSON file. + + + + + Update is available + Ir pieejams atjauninājums + + + + + Current version + Pašreizējā versija + + + + + Update version + Atjaunināt versiju + + + + Would you like to download update now? + Vai vēlaties lejupielādēt atjauninājumu tūlīt? + + + + Update is ready to install + Atjauninājums ir gatavs instalēšanai + + + + Would you like to restart app now? + Vai vēlaties restartēt lietotni tūlīt? + QObject @@ -596,7 +788,7 @@ %1 nav pieejams. Tas varētu būt pārdēvēts, pārvietots vai izdzēsts.<br>Vai jūs vēlaties izņemt failu no saraksta? - + File %1 cannot be opened or doesn't exists. Failu %1 nevar atvērt vai tas neeksistē. @@ -605,147 +797,136 @@ Visi atbalstītie faili (*.txt *.csv) - - + + All files (*.*) Visi faili (*.*) - + XML File (*.xml) - + XML fails (*.xml) - - + + Access to file '%1' is denied! - + Piekļuve failam '%1' ir liegta! - + Read only - + Tikai lasāms - + + Skip this version - + Izlaist šo versiju - + + Remind me later - + Atgādināt man vēlāk - + + Install update - + Instalēt atjauninājumu - - Install on Next Start - + + + Install later + Instalēt vēlāk - + + Save and Restart Now - + Saglabāt un restartēt tagad - + + Save and Install Now Instalēt - + + Download update - + Lejupielādēt atjauninājumu - + + Software Update - + Programmatūras atjauninājums - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Izlaiduma piezīmes - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Uzsākot atjauninājumu instalēšanu, radās kļūda! - + An error occurred while start replacing files: Update Service not found! - + Sākot aizstāt failus, radās kļūda: atjaunināšanas pakalpojums nav atrasts! - + Cancel - Atcelt + Atcelt - + Yes - + - + No - + - + OK - Labi + Labi - + Skip - + Izlaist - + Buy Now - + Pirkt tagad - + Activate - + Aktivizēt - + Continue - + Turpināt An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Atverot portālu, radās kļūda:<br>%1 &OK diff --git a/win-linux/langs/nl.qm b/win-linux/langs/nl.qm index 696cec474..d1143a922 100644 Binary files a/win-linux/langs/nl.qm and b/win-linux/langs/nl.qm differ diff --git a/win-linux/langs/nl.ts b/win-linux/langs/nl.ts index 2f0c99f74..9b56232f9 100644 --- a/win-linux/langs/nl.ts +++ b/win-linux/langs/nl.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Presentatieweergave @@ -21,18 +21,18 @@ Alle bewerkingsvensters worden gesloten. Wilt u doorgaan? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Boek%1.xlsx - + Presentation%1.pptx Presentatie%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Openen... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Kies certificaat - + select certificate file... kies certificaatbestand... - + Certifacate password: Certificaat wachtwoord: - + select key file... kies sleutelbestand... - + Key password: Sleutel wachtwoord: - - - - + + + + Open Document Document openen - + Enter certificate path Voer het certificaatpad in - + Certificate is not supported Certificaat wordt niet ondersteund - + Enter certificate password Voer certificaat wachtwoord in - + Wrong certificate password.<br>Please enter again Verkeerd certificaat wachtwoord.<br>Voer nogmaals in - + Enter valid private key Voer een geldige privésleutel in - + Key is not supported Sleutel wordt niet ondersteund - + Enter key password Voer sleutel wachtwoord in @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Annuleren @@ -149,27 +149,27 @@ %1 is aangepast.<br>Wilt u de veranderingen opslaan? - + Some data will lost.<br>Continue? Als u doorgaat met het opslaan in dit formaat zullen alle functies, behalve de tekst, verloren gaan.<br>Weet u zeker dat u wilt doorgaan? - + Open main window Hoofdvenster openen - + Document must be saved to continue.<br>Save the document? The Document moet worden opgeslagen om verder te kunnen gaan.<br>Document opslaan? - + Print Document Print document - + Document must be saved firstly. Het document moet eerst worden opgeslagen. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Alle bestanden (*.*) - DOCX Document (*.docx) - Office Open XML Document (*.docx) + Office Open XML Document (*.docx) - Document template (*.dotx) - Word Open XML Document Sjabloon (*.dotx) + Word Open XML Document Sjabloon (*.dotx) - + DOC Document (*.doc) Word 97-2003 Document (*.doc) - + ODT Document (*.odt) OpenDocument Tekstbestand (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Document Sjabloon (*.ott) + OpenDocument Document Sjabloon (*.ott) - + RTF File (*.rtf) Rich Text Format Bestand (*.rtf) - + TXT File (*.txt) Standaard Tekstbestand (*.txt) - + HTML File (*.html) HyperText Markup Taalbestand (*.html) - + MHT File (*.mht) Webpagina Archiefbestand (*.mht) - + EPUB File (*.epub) Elektronisch Publicatiebestand (*.epub) - + FB2 File (*.fb2) FictionBook 2 Bestand (*.fb2) - + MOBI File (*.mobi) Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Invulbaar Online Formulier (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Formulier Sjabloon (*.docxf) - + PPTX File (*.pptx) Office Open XML Presentatie (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Presentatie (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Presentatie Sjabloon (*.potx) + PowerPoint Open XML Presentatie Sjabloon (*.potx) - + ODP File (*.odp) OpenDocument Presentatie (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Presentatie Sjabloon (*.otp) + OpenDocument Presentatie Sjabloon (*.otp) - + PPSX File (*.ppsx) Office Open XML Diavoorstelling (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML Spreadsheet (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Spreadsheet Sjabloon (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML Spreadsheet Sjabloon (*.xltx) - + XLS File (*.xls) Excel 97-2003 Spreadsheet (*.xls) - + ODS File (*.ods) OpenDocument Spreadsheet (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Spreadsheet Sjabloon (*.ots) + OpenDocument Spreadsheet Sjabloon (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Komma-Gescheiden Waarden (*.csv) - + PDF File (*.pdf) Portable Document (*pdf) - + PDFA File (*.pdf) Portable Document /A (*.pdf) - + DJVU File (*.djvu) Digitaal Document (*.djvu) - + XPS File (*.xps) OpenXPS Document (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG-afbeelding (. png) - + Save As Opslaan Als - + %1 already exists.<br>Do you want to replace it? %1 bestaat al.<br>Wilt u het vervangen? - + Word Document Word Document - + Excel Workbook Excel-spreadsheet - + PowerPoint Presentation PowerPoint Presentatie - + %1 File (*.%2) %1 Bestand (*.%2) - - - + + + Text documents Tekstdocumenten - - - + + + Spreadsheets Spreadsheets - - - + + + Presentations Presentaties - + Web Page Webpagina - + Text files Tekstbestanden - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Document openen - - + + All Images Alle Afbeeldingen - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin bestand (*.plugin) - + Video file Videobestand - + Audio file Audiobestand - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Bestandsformaat wordt niet ondersteund. - + %1 doesn't exists!<br>Remove file from the list? %1 is niet beschikbaar. Het is misschien hernoemd, verplaatst of verwijderd.<br>Wilt u het bestand van de lijst verwijderen?? - + Document must be saved firstly. Het document moet eerst worden opgeslagen. - + Document must be saved to continue.<br>Save the document? The Document moet worden opgeslagen om verder te kunnen gaan.<br>Document opslaan? - + There are no printers available - + Print Document Print document - + Sign Up Portaal aanmaken - + %1 is modified.<br>Do you want to keep changes? %1 is aangepast.<br>Wilt u de veranderingen opslaan? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Document afdrukken: pagina %1 van %2 - + Document is preparing Document voorbereiden - + &Cancel &Annuleren - + Printing... Printen... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Annuleren + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 is niet beschikbaar. Het is misschien hernoemd, verplaatst of verwijderd.<br>Wilt u het bestand van de lijst verwijderen?? - + File %1 cannot be opened or doesn't exists. Bestand %1 kan niet worden geopend of bestaat niet. @@ -605,135 +797,129 @@ Alle ondersteunde bestanden (*.txt *.csv) - - + + All files (*.*) Alle bestanden (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Installeren - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Annuleren - + Yes Ja - + No Nee - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/no.qm b/win-linux/langs/no.qm index c5d153647..e4dd7344f 100644 Binary files a/win-linux/langs/no.qm and b/win-linux/langs/no.qm differ diff --git a/win-linux/langs/no.ts b/win-linux/langs/no.ts index 8fb960f6e..7297bfd96 100644 --- a/win-linux/langs/no.ts +++ b/win-linux/langs/no.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Presentasjonsvisning @@ -21,18 +21,18 @@ Alle redigeringsvinduene vil lukkes. Vil du fortsette? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Bok%1.xlsx - + Presentation%1.pptx Presentasjon%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Åpner... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Velg sertifikat - + select certificate file... velg sertifikatfil... - + Certifacate password: Sertifikatpassord: - + select key file... velg nøkkelfil... - + Key password: Nøkkelpassord: - - - - + + + + Open Document Åpne dokument - + Enter certificate path Angi sertifikatsti - + Certificate is not supported Sertifikatet støttes ikke - + Enter certificate password Angi passord for sertifikatet - + Wrong certificate password.<br>Please enter again Feil passord for sertifikatet.<br>Vennligst skriv inn på nytt - + Enter valid private key Angi en gyldig privatnøkkel - + Key is not supported Nøkkelen støttes ikke - + Enter key password Angi nøkkelpassord @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Avbryt @@ -149,27 +149,27 @@ %1 har blitt endret.<br>Vil du lagre endringene? - + Some data will lost.<br>Continue? Hvis du fortsetter å lagre i dette formatet, vil alle funksjoner bortsett fra teksten gå tapt.<br>Er du sikker på at du vil fortsette? - + Open main window Åpne hovedvinduet - + Document must be saved to continue.<br>Save the document? Dokumentet må lagres for å kunne fortsette.<br>Lagre dokumentet? - + Print Document Skriv ut dokumentet - + Document must be saved firstly. Dokumentet må lagres først. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Alle filer (*.*) - DOCX Document (*.docx) - Office Open XML-dokument (*.docx) + Office Open XML-dokument (*.docx) - Document template (*.dotx) - Word Open XML-dokumentmal (*.dotx) + Word Open XML-dokumentmal (*.dotx) - + DOC Document (*.doc) Word 97-2003-dokument (*.doc) - + ODT Document (*.odt) OpenDocument-tekstfil (*.odt) - OpenDocument Document template (*.ott) - OpenDocument dokumentmal (*.ott) + OpenDocument dokumentmal (*.ott) - + RTF File (*.rtf) Rikt tekstformat-fil (*.rtf) - + TXT File (*.txt) Ren tekst (*.txt) - + HTML File (*.html) HTML-fil (*.html) - + MHT File (*.mht) MHT-fil (*.mht) - + EPUB File (*.epub) EPUB-fil (*.epub) - + FB2 File (*.fb2) FB2-fil (*.fb2) - + MOBI File (*.mobi) Mobipocket e-bok (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE utfyllbart elektronisk skjema (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE-dokumentskjemamal (*.docxf) - + PPTX File (*.pptx) Office Open XML-presentasjon (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003-presentasjon (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML-presentasjonsmal (*.potx) + PowerPoint Open XML-presentasjonsmal (*.potx) - + ODP File (*.odp) OpenDocument-presentasjon (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument presentasjonsmal (*.otp) + OpenDocument presentasjonsmal (*.otp) - + PPSX File (*.ppsx) Office Open XML-lysbildefremvisning (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML-regneark (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML-regnearkmal (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML-regnearkmal (*.xltx) - + XLS File (*.xls) Excel 97-2003-regneark (*.xls) - + ODS File (*.ods) OpenDocument-regneark (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument regneark-mal (*.ots) + OpenDocument regneark-mal (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Kommadelte verdier (*.csv) - + PDF File (*.pdf) Portable Document (*.pdf) - + PDFA File (*.pdf) Portable Document /A (*.pdf) - + DJVU File (*.djvu) Digitalt document (*.djvu) - + XPS File (*.xps) OpenXPS-dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG-bilde (*.png) - + Save As Lagre som - + %1 already exists.<br>Do you want to replace it? %1 eksisterer allerede.<br>Vil du erstatte den? - + Word Document Word-dokument - + Excel Workbook Excel-regneark - + PowerPoint Presentation PowerPoint-presentasjon - + %1 File (*.%2) %1 fil (*.%2) - - - + + + Text documents Tekstdokumnter - - - + + + Spreadsheets Regneark - - - + + + Presentations Presentasjoner - + Web Page Nettsted - + Text files Tekstfiler - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Åpne dokument - - + + All Images Alle bilder - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin-modulfil (*.plugin) - + Video file Videofil - + Audio file Lydfil - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Filformatet støttes ikke. - + %1 doesn't exists!<br>Remove file from the list? %1 er ikke tilgjengelig. Den kan gis nytt navn, flyttes eller slettes.<br>Vil du fjerne filen fra listen? - + Document must be saved firstly. Dokumentet må lagres først. - + Document must be saved to continue.<br>Save the document? Dokumentet må lagres for å kunne fortsette.<br>Lagre dokumentet? - + There are no printers available - + Print Document Skriv ut dokumentet - + Sign Up Opprett portal - + %1 is modified.<br>Do you want to keep changes? %1 har blit endret.<br>Vil du lagre endringene? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Skriver ut dokument: side %1 av %2 - + Document is preparing Forbereder dokument - + &Cancel &Avbryt - + Printing... Skriver ut... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Avbryt + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 er ikke tilgjengelig. Den kan gis nytt navn, flyttes eller slettes.<br>Vil du fjerne filen fra listen? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Alle filer (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Avbryt - + Yes Ja - + No Nei - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/pl.qm b/win-linux/langs/pl.qm index 343d5a88d..aa21d0e94 100644 Binary files a/win-linux/langs/pl.qm and b/win-linux/langs/pl.qm differ diff --git a/win-linux/langs/pl.ts b/win-linux/langs/pl.ts index 08d1b665f..48e762c7b 100644 --- a/win-linux/langs/pl.ts +++ b/win-linux/langs/pl.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Widok Prezentera @@ -21,18 +21,18 @@ Wszystkie okna edytora zostaną zamknięte. Czy chcesz kontynuować? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Skoroszyt%1.xlsx - + Presentation%1.pptx Prezentacja%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Otwieranie... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Wybierz certyfikat - + select certificate file... wybierz plik certyfikatu... - + Certifacate password: Hasło certyfikatu: - + select key file... wybierz plik klucza... - + Key password: Hasło klucza: - - - - + + + + Open Document Otwórz Dokument - + Enter certificate path Wprowadź ścieżkę certyfikatu - + Certificate is not supported Certyfikat nie jest obsługiwany - + Enter certificate password Wpisz hasło certyfikatu - + Wrong certificate password.<br>Please enter again Błędne hasło certyfikatu.<br>Prosimy wpisać ponownie - + Enter valid private key Wprowadź prawidłowy klucz prywatny - + Key is not supported Klucz nie jest obsługiwany - + Enter key password Wpisz hasło klucza @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Anuluj @@ -144,22 +144,22 @@ CEditorWindow - + Open main window Otwórz okno główne - + Document must be saved to continue.<br>Save the document? Dokument musi być zapisany, aby kontynuować.<br>Zapisać dokument? - + Print Document Drukuj dokument - + Document must be saved firstly. Dokument musi być najpierw zapisany. @@ -169,7 +169,7 @@ %1 został zmieniony.<br>Czy chcesz zapisać zmiany? - + Some data will lost.<br>Continue? Jeśli będziesz kontynuować zapisywanie w tym formacie, wszystkie funkcje z wyjątkiem tekstu zostaną utracone.<br>Czy na pewno chcesz kontynuować? @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Wszystkie pliki (*.*) - DOCX Document (*.docx) - Dokument Open Office XML (*.docx) + Dokument Open Office XML (*.docx) - Document template (*.dotx) - Szablon dokumentu Word Open XML (*.dotx) + Szablon dokumentu Word Open XML (*.dotx) - + DOC Document (*.doc) Dokument Word 97-2003 (*.doc) - + ODT Document (*.odt) Plik tekstowy OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Szablon dokumentu OpenDocument (*.ott) + Szablon dokumentu OpenDocument (*.ott) - + RTF File (*.rtf) Plik w formacie Rich Text (*.rtf) - + TXT File (*.txt) Zwykły Tekst (*.txt) - + HTML File (*.html) Plik HyperText Markup Language (*.html) - + MHT File (*.mht) Plik Web Page Archive (*.mht) - + EPUB File (*.epub) Plik Electronic Publication (*.epub) - + FB2 File (*.fb2) Plik FictionBook 2 (*.fb2) - + MOBI File (*.mobi) E-Book Mobipocket (*.mobi) - + OFORM Document (*.oform) Formularz ONLYOFFICE do wypełnienia online (*.oform) - + DOCXF Document (*.docxf) Szablon formularza ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Prezentacja Open Office XML (*.pptx) - + PPT File (*.ppt) Prezentacja PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Szablon prezentacji PowerPoint Open XML (*.potx) + Szablon prezentacji PowerPoint Open XML (*.potx) - + ODP File (*.odp) Prezentacja OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Szablon prezentacji OpenDocument (*.otp) + Szablon prezentacji OpenDocument (*.otp) - + PPSX File (*.ppsx) Pokaz slajdów Open Office XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Arkusz kalkulacyjny Open Office XML (*.xlsx) - Spreadsheet template (*.xltx) - Szablon arkusza kalkulacyjnego Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Szablon arkusza kalkulacyjnego Excel Open XML (*.xltx) - + XLS File (*.xls) Arkusz kalkulacyjny Excel 97-2003 (*.xls) - + ODS File (*.ods) Arkusz Kalkulacyjny OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Szablon arkusza kalkulacyjnego OpenDocument (*.ots) + Szablon arkusza kalkulacyjnego OpenDocument (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Wartości rozdzielone przecinkiem (*.csv) - + PDF File (*.pdf) Przenośny document (*.pdf) - + PDFA File (*.pdf) Przenośny document /A (*.pdf) - + DJVU File (*.djvu) Dokument cyfrowy (*.djvu) - + XPS File (*.xps) Dokument OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) Obraz PNG (*.png) - + Save As Zapisz jako - + %1 already exists.<br>Do you want to replace it? %1 już istnieje.<br>Czy chcesz go zastąpić? - + Word Document Dokument Word - + Excel Workbook Arkusz Kalkulacyjny Excel - + PowerPoint Presentation Prezentacja PowerPoint - + %1 File (*.%2) %1 Plik (*.%2) - - - + + + Text documents Dokumenty tekstowe - - - + + + Spreadsheets Arkusze Kalkulacyjne - - - + + + Presentations Prezentacje - + Web Page Strona Internetowa - + Text files Pliki tekstowe - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Otwórz Dokument - - + + All Images Wszystkie obrazy - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plik plugin (*.plugin) - + Video file Plik wideo - + Audio file Plik audio - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Nieobsługiwany format pliku. - + %1 doesn't exists!<br>Remove file from the list? %1 jest niedostępny. Został przeniesiony, usunięty lub zmieniono jego nazwę.<br>Czy chcesz usunąć plik z listy? - + Document must be saved firstly. Dokument musi być najpierw zapisany. - + Document must be saved to continue.<br>Save the document? Dokument musi być zapisany, aby kontynuować.<br>Zapisać dokument? - + There are no printers available - + Print Document Drukuj dokument - + Sign Up Utwórz pakiet w chmurze - + %1 is modified.<br>Do you want to keep changes? %1 został zmieniony.<br>Czy chcesz zapisać zmiany? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Drukowanie dokumentu: strona %1 z %2 - + Document is preparing Przygotowywanie dokumentu - + &Cancel &Anuluj - + Printing... Drukowanie... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Anuluj + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 jest niedostępny. Został przeniesiony, usunięty lub zmieniono jego nazwę.<br>Czy chcesz usunąć plik z listy? - + File %1 cannot be opened or doesn't exists. Plik %1 nie może zostać otworzony lub nie istnieje. @@ -605,135 +797,129 @@ Wszystkie obsługiwane pliki (*.txt *.csv) - - + + All files (*.*) Wszystkie pliki (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Zainstalować - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Anuluj - + Yes Tak - + No Nie - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/pt_BR.qm b/win-linux/langs/pt_BR.qm index bdcb88b41..c6d58e7f7 100644 Binary files a/win-linux/langs/pt_BR.qm and b/win-linux/langs/pt_BR.qm differ diff --git a/win-linux/langs/pt_BR.ts b/win-linux/langs/pt_BR.ts index 81d2afc69..e7a01f5bc 100644 --- a/win-linux/langs/pt_BR.ts +++ b/win-linux/langs/pt_BR.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vista de apresentador @@ -21,18 +21,18 @@ Todas as janelas do editor serão fechadas. Quer continuar? - - + + Document%1.docx Documento%1.docx - + Book%1.xlsx Planilha%1.xlsx - + Presentation%1.pptx Apresentação%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Abrindo... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Selecionar certificado - + select certificate file... selecione arquivo de certificado... - + Certifacate password: Senha do certificado: - + select key file... selecione arquivo de chave... - + Key password: Senha da chave: - - - - + + + + Open Document Abrir Documento - + Enter certificate path Inserir caminho do certificado - + Certificate is not supported Certificado não suportado - + Enter certificate password Inserir senha do certificado - + Wrong certificate password.<br>Please enter again Senha do certificado errada.<br>Insira mais uma vez - + Enter valid private key Insira uma chave privada válida - + Key is not supported Chave não suportada - + Enter key password Inserir senha da chave @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Cancelar @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Abrir a janela principal - + Document must be saved to continue.<br>Save the document? O documento deve estar salvo para continuar.<br>Salvar o documento? - + Print Document Imprimir documento - + Document must be saved firstly. O documento deve ser salvo primeiro. @@ -185,7 +185,7 @@ %1 foi modificado.<br>Deseja salvar as alterações? - + Some data will lost.<br>Continue? Se continuar salvando nesse formato, a formatação será perdida.<br>Quer continuar? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Não há impressoras disponíveis @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Todos os arquivos (*.*) - DOCX Document (*.docx) - Documento Office Open XML (*.docx) + Documento Office Open XML (*.docx) - Document template (*.dotx) - Modelo de documento do Open XML do Word (*.dotx) + Modelo de documento do Open XML do Word (*.dotx) - + DOC Document (*.doc) Documento Word 97-2003 (*.doc) - + ODT Document (*.odt) Arquivo de texto OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Modelo de documento OpenDocument (*.ott) + Modelo de documento OpenDocument (*.ott) - + RTF File (*.rtf) Arquivo de Rich Text Format (*.rtf) - + TXT File (*.txt) Arquivo de texto sem formatação (*.txt) - + HTML File (*.html) Linguagem de Marcação de HiperTexto (*.html) - + MHT File (*.mht) Arquivo de página da Web (*.mht) - + EPUB File (*.epub) Arquivo de publicação eletrônica (*.epub) - + FB2 File (*.fb2) Arquivo FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Arquivo Mobipocket (*.mobi) - + OFORM Document (*.oform) Formulário Online Preenchível ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Modelo de formulário do ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Apresentação em XML Open Office (*.pptx) - + PPT File (*.ppt) Apresentação em PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Modelo de apresentação do PowerPoint Open XML (*.potx) + Modelo de apresentação do PowerPoint Open XML (*.potx) - + ODP File (*.odp) Apresentação do OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Modelo de apresentação OpenDocument (*.otp) + Modelo de apresentação OpenDocument (*.otp) - + PPSX File (*.ppsx) Apresentação de diapositivos XML Open Office (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Arquivo de apresentação habilitado para macro (*.pptm) - + XLSX File (*.xlsx) Folha de cálculo XML Open Office (*.xlsx) - Spreadsheet template (*.xltx) - Modelo de planilha do Excel Open XML (*.xltx) + Modelo de planilha do Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - + Modelo de planilha habilitado para macro (*.xltm) - + XLS File (*.xls) Folha de cálculo do Excel 97-2003 (*.xls) - + ODS File (*.ods) Planilha OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Modelo de planilha OpenDocument (*.ots) + Modelo de planilha OpenDocument (*.ots) - + + DOCX Document + Documento DOCX + + + + OpenDocument Document template + Modelo de documento OpenDocument + + + + OpenDocument Presentation Template + Modelo de apresentação OpenDocument + + + + Macro-enabled spreadsheet template + Modelo de planilha habilitado para macro + + + + OpenDocument Spreadsheet Template + Modelo de planilha OpenDocument + + + CSV File (*.csv) Valores separados por vírgulas (*.csv) - + PDF File (*.pdf) Documento portátil (*.pdf) - + PDFA File (*.pdf) Documento portátil /A (*.pdf) - + DJVU File (*.djvu) Documento Digital (*.djvu) - + XPS File (*.xps) Documento OpenXPS (*.xps) - + + SVG Image (*.svg) + Imagem SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Imagem JPG (*.jpg, *jpeg) - + PNG Image (*.png) Imagem PNG (*.png) - + Save As Salvar Como - + %1 already exists.<br>Do you want to replace it? %1 já existe.<br>Você quer substituí-lo? - + Word Document Documento Word - + Excel Workbook Planilha do Excel - + PowerPoint Presentation Apresentação PowerPoint - + %1 File (*.%2) %1 Arquivo (*.%2) - - - + + + Text documents Documentos de texto - - - + + + Spreadsheets Planilhas - - - + + + Presentations Apresentações - + Web Page Página Web - + Text files Arquivos de texto - - - + + + All supported files Todos os arquivos suportados - + + + Spreadsheet template + Modelo de planilha + + + + + Presentation template + Modelo de apresentação + + + + + Document template + Modelo de documento + + + Open Document Abrir Documento - - + + All Images Todas as imagens - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Arquivo do plug-in (*.plugin) - + Video file Arquivo de vídeo - + Audio file Arquivo de áudio - + Select Folder Selecionar pasta @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Mais de um documento está aberto.<br>Fechar a janela mesmo assim? + + + + Don't ask again. + Não pergunte novamente. + + + + File format not supported. Formato de arquivo não suportado. - + %1 doesn't exists!<br>Remove file from the list? %1 não está disponível. Ele foi movido ou excluído.<br>Deseja remover o arquivo da lista? - + Document must be saved firstly. O documento deve ser salvo primeiro. - + Document must be saved to continue.<br>Save the document? O documento deve estar salvo para continuar.<br>Salvar o documento? - + There are no printers available Não há impressoras disponíveis - + Print Document Imprimir documento - + Sign Up Criar escritório na nuvem - + %1 is modified.<br>Do you want to keep changes? %1 foi modificado.<br>Deseja salvar as alterações? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Imprimindo documento: página %1 de %2 - + Document is preparing Preparando documento - + &Cancel &Cancelar - + Printing... Imprimindo... @@ -587,25 +637,191 @@ CUpdateManager - + Last check performed + Última verificação realizada + + + + Check for updates + Verificando atualizações + + + + Unable to check update: URL not defined. + Não foi possível verificar a atualização: URL não definido. + + + + To finish updating, restart app + Para terminar a atualização, reinicie o aplicativo + + + + Restart + Reiniciar + + + + Checking for updates... + Verificando atualizações... + + + + Updates are not allowed! + Atualizações não são permitidas! + + + This folder configuration does not allow for updates! The folder name should be: - + Esta configuração de pasta não permite atualizações! O nome da pasta deve ser: + + + + An error occurred while check updates: Update Service not found! + Ocorreu um erro ao verificar atualizações: Serviço de atualização não encontrado! + + + + Downloading new version %1 (%2%) + Baixando a nova versão %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Ocorreu um erro ao carregar atualizações: Serviço de atualização não encontrado! + + + Downloading new version %1 (0%) + Baixando a nova versão %1 (0%) + + + + Cancel + Cancelar + + + + An error occurred while loading updates: package Url is empty! + Ocorreu um erro ao carregar atualizações: o URL do pacote está vazio! + + + + Update package error: md5 sum does not match the original. + Erro no pacote de atualização: a soma md5 não corresponde ao original. + + + + Preparing update... + Preparando atualização... + + + + An error occurred while unzip updates: Update Service not found! + Ocorreu um erro ao descompactar atualizações: Serviço de atualização não encontrado! + + + + Update is available (version %1) + A atualização está disponível (versão %1) + + + + Download update + Baixar atualização + + + + Current version is up to date + A versão atual está atualizada + + + + An error occured while unpacking the archive + Ocorreu um erro ao descompactar o arquivo + + + + Update download failed: out of memory! + Falha no download da atualização: sem memória! + + + + Update download failed: server connection error! + Falha no download da atualização: erro de conexão do servidor! + + + + Update download failed: wrong URL! + Falha no download da atualização: URL errado! + + + + Update download failed: unable to create file! + Falha no download da atualização: não foi possível criar o arquivo! + + + + Update download failed: network error! + Falha no download da atualização: erro de rede! + + + + A service error has occurred! + Ocorreu um erro de serviço! + + + + Last check performed %1 + Última verificação realizada %1 + + + + Error opening JSON file. + Erro ao abrir arquivo JSON. + + + + Update is available + A atualização está disponível + + + + + Current version + Versão Atual + + + + + Update version + Versão atualizada + + + + Would you like to download update now? + Gostaria de baixar a atualização agora? + + + + Update is ready to install + A atualização está pronta para ser instalada + + + + Would you like to restart app now? + Gostaria de reiniciar o aplicativo agora? - - A new version of %1 is available! - Uma nova versão do %1 está disponível! + Uma nova versão do %1 está disponível! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 agora está disponível (você tem %3). Deseja baixá-lo agora? + %1 %2 agora está disponível (você tem %3). Deseja baixá-lo agora? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 foi baixado (você tem %3). Você gostaria de instalar agora? + %1 %2 foi baixado (você tem %3). Você gostaria de instalar agora? @@ -616,7 +832,7 @@ %1 não está disponível. Ele foi movido ou excluído.<br>Deseja remover o arquivo da lista? - + File %1 cannot be opened or doesn't exists. O arquivo %1 não pode ser aberto ou não existe. @@ -625,8 +841,8 @@ Todos os arquivos suportados (*.txt *.csv) - - + + All files (*.*) Todos os arquivos (*.*) @@ -635,141 +851,150 @@ Todos os arquivos suportados - + XML File (*.xml) - + Arquivo XML (*.xml) - - + + Access to file '%1' is denied! - + Acesso ao arquivo '%1' negado! - + Read only Somente leitura - + + Skip this version Ignorar esta versão - + + Remind me later Lembre-me mais tarde - + + Install update Instalar atualização - Install on Next Start - Instalar no próximo início + Instalar no próximo início - + + + Install later + Instale depois + + + + Save and Restart Now Salvar e reiniciar agora - + + Save and Install Now Instalar - + + Download update Baixar atualização - + + Software Update Atualização de software - + + Release notes Notas de lançamento - An error occurred while check updates: Update Service not found! - + Ocorreu um erro ao verificar atualizações: Serviço de atualização não encontrado! - An error occurred while loading updates: Update Service not found! - + Corrija um erro ao verificar atualizações: Serviço de atualização não encontrado! - An error occurred while unzip updates: Update Service not found! - + Ocorreu um erro ao descompactar atualizações: Serviço de atualização não encontrado! - + An error occurred while start install updates! - + Ocorreu um erro ao iniciar a instalação das atualizações! - + An error occurred while start replacing files: Update Service not found! - + Ocorreu um erro ao iniciar a substituição de arquivos: Serviço de atualização não encontrado! - + Cancel - Cancelar + Cancelar - + Yes - Sim + Sim - + No - Não + Não - + OK - OK + OK - + Skip - Pular + Pular - + Buy Now - + Comprar agora - + Activate - + Ativar - + Continue - + Continuar An error occurred while opening the portal:<br>%1 - + Ocorreu um erro ao abrir o portal: <br>%1 - App can't working correctly under admin rights. - + O aplicativo não funciona corretamente com direitos de administrador. &OK diff --git a/win-linux/langs/pt_PT.qm b/win-linux/langs/pt_PT.qm index 572a241d0..b9bd0c6f9 100644 Binary files a/win-linux/langs/pt_PT.qm and b/win-linux/langs/pt_PT.qm differ diff --git a/win-linux/langs/pt_PT.ts b/win-linux/langs/pt_PT.ts index a000f5cca..975a16f16 100644 --- a/win-linux/langs/pt_PT.ts +++ b/win-linux/langs/pt_PT.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vista do Apresentador @@ -21,18 +21,18 @@ Todas as janelas do editor serão fechadas. Deseja continuar? - - + + Document%1.docx Documento%1.docx - + Book%1.xlsx Livro%1.xlsx - + Presentation%1.pptx Apresentação%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document A abrir... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Selecionar certificado - + select certificate file... selecionar o ficheiro do certificado... - + Certifacate password: Password do Certificado: - + select key file... selecionar o ficheiro com a chave... - + Key password: Password para a Chave: - - - - + + + + Open Document Abrir Documento - + Enter certificate path Inserir o caminho para o certificado - + Certificate is not supported Certificado não suportado - + Enter certificate password Inserir a password do certificado - + Wrong certificate password.<br>Please enter again Password do certificado errada.<br>Por favor insira de novo - + Enter valid private key Insira uma chave privada válida - + Key is not supported Chave não suportada - + Enter key password Inserir a password para a chave @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Cancelar @@ -149,27 +149,27 @@ %1 foi modificado.<br>Quer guardar as alterações? - + Some data will lost.<br>Continue? Se deseja continuar a guardar neste formato todas as funcionalidades excepto o texto serão perdidas.<br>Tem a certeza que quer continuar? - + Open main window Abrir janela principal - + Document must be saved to continue.<br>Save the document? Tem de guardar o documento para continuar.<br>Guardar o documento? - + Print Document Imprimir documento - + Document must be saved firstly. O documento tem de ser guardado primeiro. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Todos os Ficheiros (*.*) - DOCX Document (*.docx) - Documento Office Open XML (*.docx) + Documento Office Open XML (*.docx) - Document template (*.dotx) - Modelo de documento Word Open XML (*.dotx) + Modelo de documento Word Open XML (*.dotx) - + DOC Document (*.doc) Documento Word 97-2003 (*.doc) - + ODT Document (*.odt) Ficheiro de texto OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Modelo de documento OpenDocument (*.ott) + Modelo de documento OpenDocument (*.ott) - + RTF File (*.rtf) Ficheiro de Rich Text Format (*.rtf) - + TXT File (*.txt) Documento de Texto Simples (*.txt) - + HTML File (*.html) Ficheiro na Linguagem HTML (*.html) - + MHT File (*.mht) Ficheiro de arquivo de página Web (*.mht) - + EPUB File (*.epub) Ficheiro de Publicação Eletrônica (*.epub) - + FB2 File (*.fb2) Ficheiro FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) Formulário Online Preenchível ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Modelo de formulário ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Apresentação em XML Open Office (*.pptx) - + PPT File (*.ppt) Apresentação em PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Modelo de Apresentação PowerPoint Open XML (*.potx) + Modelo de Apresentação PowerPoint Open XML (*.potx) - + ODP File (*.odp) Apresentação OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Modelo de Apresentação OpenDocument (*.otp) + Modelo de Apresentação OpenDocument (*.otp) - + PPSX File (*.ppsx) Apresentação de diapositivos XML Open Office (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Folha de cálculo XML Open Office (*.xlsx) - Spreadsheet template (*.xltx) - Modelo de planilha Excel Open XML (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Modelo de planilha Excel Open XML (*.xltx) - + XLS File (*.xls) Folha de cálculo do Excel 97-2003 (*.xls) - + ODS File (*.ods) Folha de Cálculo OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Modelo de Folha de Cálculo OpenDocument (*.ots) + Modelo de Folha de Cálculo OpenDocument (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Ficheiro de valores separados por vírgulas (*.csv) - + PDF File (*.pdf) Documento portátil (*.pdf) - + PDFA File (*.pdf) Documento portátil /A (*.pdf) - + DJVU File (*.djvu) Documento Digital (*.djvu) - + XPS File (*.xps) Documento OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) Imagem PNG (*.png) - + Save As Guardar Como - + %1 already exists.<br>Do you want to replace it? %1 já existe.<br>Quer substituí-lo? - + Word Document Documento do Word - + Excel Workbook Folha de cálculo do Excel - + PowerPoint Presentation Apresentação em PowerPoint - + %1 File (*.%2) %1 Ficheiro (*.%2) - - - + + + Text documents Documentos de texto - - - + + + Spreadsheets Folhas de cálculo - - - + + + Presentations Apresentações - + Web Page Páginas Web - + Text files Ficheiros de Texto - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Abrir Documento - - + + All Images Todas as Imagens - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Ficheiro de Plugin (*.plugin) - + Video file Ficheiro de Vídeo - + Audio file Ficheiro de Áudio - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. O Formato do Ficheiro não é suportado. - + %1 doesn't exists!<br>Remove file from the list? %1 não está disponível. Ele pode ter sido renomeado, movido de lugar ou apagado.<br>Deseja remover o ficheiro da lista? - + Document must be saved firstly. O documento tem de ser guardado primeiro. - + Document must be saved to continue.<br>Save the document? Tem de guardar o documento para continuar.<br>Guardar o documento? - + There are no printers available - + Print Document Imprimir documento - + Sign Up Criar Portal - + %1 is modified.<br>Do you want to keep changes? %1 foi modificado.<br>Quer guardar as alterações? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 A imprimir o documento: página %1 of %2 - + Document is preparing A preparar o documento - + &Cancel &Cancelar - + Printing... A imprimir... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Cancelar + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ %1 não está disponível. Ele pode ter sido renomeado, movido de lugar ou apagado.<br>Deseja remover o ficheiro da lista? - + File %1 cannot be opened or doesn't exists. O ficheiro %1 não pode ser aberto ou não existe. @@ -605,135 +797,129 @@ Todos os ficheiros suportados (*.txt *.csv) - - + + All files (*.*) Todos os Ficheiros (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Cancelar - + Yes Sim - + No Não - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/ro.qm b/win-linux/langs/ro.qm index a12950823..de31e0cbd 100644 Binary files a/win-linux/langs/ro.qm and b/win-linux/langs/ro.qm differ diff --git a/win-linux/langs/ro.ts b/win-linux/langs/ro.ts index 9cca00c8b..df18f62b7 100644 --- a/win-linux/langs/ro.ts +++ b/win-linux/langs/ro.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Vizualizarea prezentator @@ -21,18 +21,18 @@ Toate ferestrele vor fi închise. Doriți sã continuați? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Registru%1.xlsx - + Presentation%1.pptx Prezentare%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Deschidere... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Selecta'i un certificat - + select certificate file... selectați fișierul de certificat... - + Certifacate password: Parola pentru certificatul: - + select key file... selectați fișierul cheie... - + Key password: Parola pentru cheie: - - - - + + + + Open Document Deschideți document - + Enter certificate path Introduceți calea certificatului - + Certificate is not supported Certificatul nu este acceptat - + Enter certificate password Introduceți parola pentru certificatul - + Wrong certificate password.<br>Please enter again Parolã pentru certificatul incorectã.<br>Introduceți parola încã o datã - + Enter valid private key Introduceți cheia privatã validã - + Key is not supported Cheia nu este acceptatã - + Enter key password Introduceți parola pentru cheia @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Revocare @@ -165,27 +165,27 @@ %1 a fost modificat.<br>Dori?i sã salvați modificãrile? - + Some data will lost.<br>Continue? Dacã salvați în acest format de fișier, este posibil ca unele dintre caracteristici sã se piardã, cu excepția textului.<br>Sunteți sigur cã doriți sã continuați? - + Open main window Deschidere fereastră principală - + Document must be saved to continue.<br>Save the document? Este necesar sã salvați documentul înainte de a putea continua .<br>Doriți sã salvați documentul? - + Print Document Imprimare document - + Document must be saved firstly. Mai întâi, salvați documentul. @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Nu a fost găsită nicio imprimantă @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Toate fișierele (*.*) - DOCX Document (*.docx) - Document Office Open XML (*.docx) + Document Office Open XML (*.docx) - Document template (*.dotx) - Șablon document Word Open XML (*.dotx) + Șablon document Word Open XML (*.dotx) - + DOC Document (*.doc) Document Word 97-2003 (*.doc) - + ODT Document (*.odt) Fișierul text OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Șablon document OpenDocument (*.ott) + Șablon document OpenDocument (*.ott) - + RTF File (*.rtf) Fișier Format text îmbogățit (*.rtf) - + TXT File (*.txt) Fișier text simplu (*.txt) - + HTML File (*.html) Fișier în format hipertext (*.html) - + MHT File (*.mht) Fișier de arhivă MHTML Web Archive (*.mht) - + EPUB File (*.epub) Fișier în format publicare electronică (*.epub) - + FB2 File (*.fb2) Fișier FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Mobipocket e-book (*.mobi) - + OFORM Document (*.oform) Forma ONLYOFFICE spre completare online (*.oform) - + DOCXF Document (*.docxf) Șablon Formă ONLYOFFICE Document (*.docxf) - + PPTX File (*.pptx) Prezentare Office Open XML (*.pptx) - + PPT File (*.ppt) Prezentare PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Șablon de prezentare PowerPoint Open XML (*.potx) + Șablon de prezentare PowerPoint Open XML (*.potx) - + ODP File (*.odp) Prezentare OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Șablon prezentare OpenDocument (*.otp) + Șablon prezentare OpenDocument (*.otp) - + PPSX File (*.ppsx) Expunere diapozitive Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Prezentare cu macrocomenzi activate (*.pptm) - + XLSX File (*.xlsx) Foaia de calcul Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Șablon de foaie de calcul Excel Open XML (*.xltx) + Șablon de foaie de calcul Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Şablon foaie de calcul cu macrocomenzi activate (*.xltm) + Şablon foaie de calcul cu macrocomenzi activate (*.xltm) - + XLS File (*.xls) Foaia de calcul Excel 97-2003 (*.xls) - + ODS File (*.ods) Foaie de calcul OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Șablon foaie de calcul OpenDocument (*.ots) + Șablon foaie de calcul OpenDocument (*.ots) - + + DOCX Document + Document DOCX + + + + OpenDocument Document template + Document șablon OpenDocument + + + + OpenDocument Presentation Template + Șablon de prezentare OpenDocument + + + + Macro-enabled spreadsheet template + Șablon de foaie de calcul cu macrocomenzi activate + + + + OpenDocument Spreadsheet Template + Șablon de foaie de calcul OpenDocument + + + CSV File (*.csv) Valori separate prin virgulă (*.csv) - + PDF File (*.pdf) Formatul de Document Portabil (*.pdf) - + PDFA File (*.pdf) Formatul de Document Portabil /A (*.pdf) - + DJVU File (*.djvu) Document Digital (*.djvu) - + XPS File (*.xps) Document OpenXPS (*.xps) - + + SVG Image (*.svg) + Imaginea SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Imagine JPG (*.jpg, *jpeg) - + PNG Image (*.png) Imagine PNG (*.png) - + Save As Salvare ca - + %1 already exists.<br>Do you want to replace it? %1 există deja.<br>Înlocuiți? - + Word Document Document Word - + Excel Workbook Foaie de calcul Excel - + PowerPoint Presentation Prezentare PowerPoint - + %1 File (*.%2) Fișier %1 (*.%2) - - - + + + Text documents Documente text - - - + + + Spreadsheets Foi de calcul - - - + + + Presentations Prezentări - + Web Page Pagină web - + Text files Fișiere text - - - + + + All supported files Toate fișierele acceptate - + + + Spreadsheet template + Șablon de foaie de calcul + + + + + Presentation template + Șablon de prezentare + + + + + Document template + Document șablon + + + Open Document Deschideți document - - + + All Images Toate imaginile - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Fișier plugin (*.plugin) - + Video file Fișier video - + Audio file Fișier audio - + Select Folder Selectare folder @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Mai multe documente sunt deschise.<br>Doriți să închideți fereastra oricum? + + + + Don't ask again. + Nu mai întreba din nou. + + + + File format not supported. Formatul fișierului nu este compatibil. - + %1 doesn't exists!<br>Remove file from the list? %1 nu este disponibil. Îl puteți redenumi, deplasa sau șterge.<br>Doriți sã-l eliminați din lista? - + Document must be saved firstly. Mai întâi, salvați documentul. - + Document must be saved to continue.<br>Save the document? - + There are no printers available Nu a fost găsită nicio imprimantă - + Print Document Imprimare document - + Sign Up Crearea unui portal - + %1 is modified.<br>Do you want to keep changes? %1 a fost modificat.<br>Doriți sã salvați modificãrile? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Imprimare document: pagina %1 din %2 - + Document is preparing Pregãtirea documentului - + &Cancel &Revocare - + Printing... Imprimare... @@ -587,25 +637,191 @@ CUpdateManager - + Last check performed + Ultima verificare efectuată + + + + Check for updates + Verificarea a actualizărilor + + + + Unable to check update: URL not defined. + Imposibil de verificat actualizarea: Adresa URL nu este definită. + + + + To finish updating, restart app + Pentru a finaliza actualizarea, reporniți aplicația + + + + Restart + Repornire + + + + Checking for updates... + Verificarea a actualizărilor... + + + + Updates are not allowed! + Actualizări nu sunt permise! + + + This folder configuration does not allow for updates! The folder name should be: - + Actualizări nu sunt acceptate pentru această configurație a folderului! Nume de folder trebuie să fie: + + + + An error occurred while check updates: Update Service not found! + A intervenit o eroare în timpul verificării a actualizărilor: Serviciu de Actualizare nu s-a găsit! + + + + Downloading new version %1 (%2%) + Descărcarea noii versiuni %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + A intervenit o eroare în timpul incărcării a actualizărilor: Serviciu de Actualizare nu s-a găsit! + + + Downloading new version %1 (0%) + Descărcarea noii versiuni %1 (0%) + + + + Cancel + Revocare + + + + An error occurred while loading updates: package Url is empty! + A intervenit o eroare la încărcarea actualizărilor: Pachetul URL este gol! + + + + Update package error: md5 sum does not match the original. + Eroare de actualizare a pachetului: suma md5 nu se potrivește cu suma modelului. + + + + Preparing update... + Pregătire pentru actualizarea... + + + + An error occurred while unzip updates: Update Service not found! + A intervenit o eroare în timpul dezarhivării a actualizărilor: Serviciu de Actualizare nu s-a găsit! + + + + Update is available (version %1) + O actualizare este disponibilă (versiune %1) + + + + Download update + Descărcare actualizare + + + + Current version is up to date + Versiunea curentă este actualizată + + + + An error occured while unpacking the archive + A intervenit o eroare în timpul dezarhivării + + + + Update download failed: out of memory! + Descărcarea actualizării eșuată: memoria insuficientă! + + + + Update download failed: server connection error! + Descărcarea actualizării eșuată: eroare de conectare la server! + + + + Update download failed: wrong URL! + Descărcarea actualizării eșuată: adresa URL incorectă! + + + + Update download failed: unable to create file! + Descărcarea actualizării eșuată: imposibil de creat fișierul! + + + + Update download failed: network error! + Descărcarea actualizării eșuată: eroare de rețea! + + + + A service error has occurred! + A intervenit o eroare de serviciu! + + + + Last check performed %1 + Ultima verificare realizată %1 + + + + Error opening JSON file. + Eroare la deschiderea fișierului JSON. + + + + Update is available + Actualizarea este disponibilă + + + + + Current version + Versiunea curentă + + + + + Update version + Actualizați versiunea + + + + Would you like to download update now? + Doriți să descărcați actualizarea acum? + + + + Update is ready to install + Actualizarea este gata de instalare + + + + Would you like to restart app now? + Doriți să reporniți aplicația acum? - - A new version of %1 is available! - Este disponibilă o nouă versiune a aplicației %1! + Este disponibilă o nouă versiune a aplicației %1! - %1 %2 is now available (you have %3). Would you like to download it now? - Aplicația %1 este disponibilă în versiunea %2 (versiunea dvs %3). Doriți să încărcați acum? + Aplicația %1 este disponibilă în versiunea %2 (versiunea dvs %3). Doriți să încărcați acum? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - Aplicația %1 %2 a fost încărcată (versiunea dvs %3). Doriți să instalați acum? + Aplicația %1 %2 a fost încărcată (versiunea dvs %3). Doriți să instalați acum? @@ -616,7 +832,7 @@ %1 nu este disponibil. Îl puteți redenumi, deplasa sau șterge.<br>Doriți sã-l eliminați din lista? - + File %1 cannot be opened or doesn't exists. Fișierul %1 nu se deschide sau nu există. @@ -625,8 +841,8 @@ Toate fișierele acceptate (*.txt *.csv) - - + + All files (*.*) Toate fișierele (*.*) @@ -635,141 +851,150 @@ Toate fișierele acceptate - + XML File (*.xml) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Acces la fișierul '%1' refuzat! - + Read only Doar în citire - + + Skip this version Se ignoră acestă versiune - + + Remind me later Amintește-mi mai târziu - + + Install update Instalare actualizare - Install on Next Start - Instalare la următoarea pornire + Instalare la următoarea pornire - + + + Install later + Instalare ulterioară + + + + Save and Restart Now Salvare și repornire acum - + + Save and Install Now Instalare - + + Download update Descărcare actualizare - + + Software Update Actualizare software - + + Release notes Note de lansare - An error occurred while check updates: Update Service not found! - + A intervenit o eroare în timpul verificării a actualizărilor: Serviciu de Actualizare nu s-a găsit. - An error occurred while loading updates: Update Service not found! - + A intervenit o eroare în timpul încărcării a actualizărilor: Serviciu de Actualizare nu s-a găsit. - An error occurred while unzip updates: Update Service not found! - + A intervenit o eroare în timpul dezarhivării a actualizărilor: Serviciu de Actualizare nu s-a găsit. - + An error occurred while start install updates! - + A intervenit o eroare în timpul instalării a actualizărilor: - + An error occurred while start replacing files: Update Service not found! - + A intervenit o eroare în timpul înlocuirii a fișierelor: Serviciu de Actualizare nu s-a găsit. - + Cancel - Revocare + Revocare - + Yes - Da + Da - + No - Nu + Nu - + OK - OK + OK - + Skip - Ignorare + Ignorare - + Buy Now - + Cumpărare acum - + Activate - + Activare - + Continue - + Continuare An error occurred while opening the portal:<br>%1 - + A intervenit o eroare în timpul deschiderii a portalului:<br>%1 - App can't working correctly under admin rights. - + Aplicația nu funcționează corect cu privilegii de administrator. &OK diff --git a/win-linux/langs/ru.qm b/win-linux/langs/ru.qm index ca638b297..8481542e3 100644 Binary files a/win-linux/langs/ru.qm and b/win-linux/langs/ru.qm differ diff --git a/win-linux/langs/ru.ts b/win-linux/langs/ru.ts index f324e87f7..8822a95c4 100644 --- a/win-linux/langs/ru.ts +++ b/win-linux/langs/ru.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Режим докладчика @@ -21,18 +21,18 @@ Будут закрыты все окна редакторов. Продолжить? - - + + Document%1.docx Документ%1.docx - + Book%1.xlsx Книга%1.xlsx - + Presentation%1.pptx Презентация%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document Открытие... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate Выберите сертификат - + select certificate file... выбрать файл сертификата... - + Certifacate password: Пароль сертификата: - + select key file... выбрать файл ключа... - + Key password: Пароль ключа: - - - - + + + + Open Document Открыть документ - + Enter certificate path Введите путь к сертификату - + Certificate is not supported Сертификат не поддерживается - + Enter certificate password Введите пароль сертификата - + Wrong certificate password.<br>Please enter again Неправильный пароль сертификата.<br>Пожалуйста, введите пароль еще раз - + Enter valid private key Введите действительный закрытый ключ - + Key is not supported Ключ не поддерживается - + Enter key password Введите пароль ключа @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel Отмена @@ -160,22 +160,22 @@ CEditorWindow - + Open main window Открыть главное окно - + Document must be saved to continue.<br>Save the document? Необходимо сохранить документ для продолжения.<br>Сохранить? - + Print Document Печать документа - + Document must be saved firstly. Сначала необходимо сохранить документ. @@ -185,7 +185,7 @@ Файл %1 был изменен.<br>Вы хотите сохранить изменения? - + Some data will lost.<br>Continue? Если Вы продолжите сохранение в этот формат, весь функционал, кроме текста, будет потерян.<br>Вы действительно хотите продолжить? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available Нет доступных принтеров @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) Все файлы (*.*) - DOCX Document (*.docx) - Документ Office Open XML (*.docx) + Документ Office Open XML (*.docx) - Document template (*.dotx) - Шаблон документа Word Open XML (*.dotx) + Шаблон документа Word Open XML (*.dotx) - + DOC Document (*.doc) Документ Word 97-2003 (*.doc) - + ODT Document (*.odt) Текстовый файл OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Шаблон документа OpenDocument (*.ott) + Шаблон документа OpenDocument (*.ott) - + RTF File (*.rtf) Файл в расширенном текстовом формате (*.rtf) - + TXT File (*.txt) Текстовый файл (*.txt) - + HTML File (*.html) Веб-страница (*.html) - + MHT File (*.mht) Веб-архив (*.mht) - + EPUB File (*.epub) Электронная книга (*.epub) - + FB2 File (*.fb2) Файл FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Файл Mobipocket (*.mobi) - + OFORM Document (*.oform) Заполняемая онлайн-форма ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Шаблон формы ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Презентация Office Open XML (*.pptx) - + PPT File (*.ppt) Презентация PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Шаблон презентации PowerPoint Open XML (*.potx) + Шаблон презентации PowerPoint Open XML (*.potx) - + ODP File (*.odp) Презентация OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Шаблон презентации OpenDocument (*.otp) + Шаблон презентации OpenDocument (*.otp) - + PPSX File (*.ppsx) Слайдшоу Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) Презентация с поддержкой макросов (*.pptm) - + XLSX File (*.xlsx) Электронная таблица Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Шаблон электронной таблицы Excel Open XML (*.xltx) + Шаблон электронной таблицы Excel Open XML (*.xltx) - Macro-enabled spreadsheet template (*.xltm) - Шаблон электронной таблицы с поддержкой макросов (*.xltm) + Шаблон электронной таблицы с поддержкой макросов (*.xltm) - + XLS File (*.xls) Электронная таблица Excel 97-2003 (*.xls) - + ODS File (*.ods) Электронная таблица OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Шаблон электронной таблицы OpenDocument (*.ots) + Шаблон электронной таблицы OpenDocument (*.ots) - + + DOCX Document + Документ DOCX + + + + OpenDocument Document template + Шаблон документа OpenDocument + + + + OpenDocument Presentation Template + Шаблон презентации OpenDocument + + + + Macro-enabled spreadsheet template + Шаблон электронной таблицы с поддержкой макросов + + + + OpenDocument Spreadsheet Template + Шаблон электронной таблицы OpenDocument + + + CSV File (*.csv) Значения, разделенные запятыми (*.csv) - + PDF File (*.pdf) Переносимый документ (*.pdf) - + PDFA File (*.pdf) Переносимый документ /A (*.pdf) - + DJVU File (*.djvu) Цифровой документ (*.djvu) - + XPS File (*.xps) Документ OpenXPS (*.xps) - + + SVG Image (*.svg) + Изображение SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) Изображение JPG (*.jpg *.jpeg) - + PNG Image (*.png) Изображение PNG (*.png) - + Save As Сохранить как - + %1 already exists.<br>Do you want to replace it? %1 уже существует.<br>Хотите его перезаписать? - + Word Document Документ Word - + Excel Workbook Таблица Excel - + PowerPoint Presentation Презентация PowerPoint - + %1 File (*.%2) %1 Файл (*.%2) - - - + + + Text documents Текстовые документы - - - + + + Spreadsheets Электронные таблицы - - - + + + Presentations Презентации - + Web Page Веб-страница - + Text files Текстовые файлы - - - + + + All supported files Все поддерживаемые файлы - + + + Spreadsheet template + Шаблон электронной таблицы + + + + + Presentation template + Шаблон презентации + + + + + Document template + Шаблон документа + + + Open Document Открыть документ - - + + All Images Все картинки - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Файл Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Файл плагина (*.plugin) - + Video file Видео файл - + Audio file Аудио файл - + Select Folder Выбрать папку @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Открыто более одного документа.<br>Все равно закрыть окно? + + + + Don't ask again. + Больше не спрашивать. + + + + File format not supported. Формат файла не поддерживается. - + %1 doesn't exists!<br>Remove file from the list? %1 недоступен. Возможно, он был переименован, перемещен или удален.<br>Хотите удалить его из списка? - + Document must be saved firstly. Сначала необходимо сохранить документ. - + Document must be saved to continue.<br>Save the document? Необходимо сохранить документ для продолжения.<br>Сохранить? - + There are no printers available Нет доступных принтеров - + Print Document Печать документа - + Sign Up Создать облачный офис - + %1 is modified.<br>Do you want to keep changes? Файл %1 был изменен.<br>Вы хотите сохранить изменения? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Печать документа: страница %1 из %2 - + Document is preparing Подготовка документа - + &Cancel &Отмена - + Printing... Печать... @@ -591,25 +641,191 @@ Ошибка подключения к серверу! - + Last check performed + Последняя проверка выполнена + + + + Check for updates + Проверка обновлений + + + + Unable to check update: URL not defined. + Невозможно проверить обновление: URL-адрес не определен. + + + + To finish updating, restart app + Для завершения обновления перезапустите приложение + + + + Restart + Перезапустить + + + + Checking for updates... + Проверка обновлений... + + + + Updates are not allowed! + Обновления не разрешены! + + + This folder configuration does not allow for updates! The folder name should be: - + Данная конфигурация папки не позволяет устанавливать обновления! Имя папки должно быть: + + + + An error occurred while check updates: Update Service not found! + При проверке обновлений произошла ошибка: Сервис обновлений не найден! + + + + Downloading new version %1 (%2%) + Загрузка новой версии %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + При загрузке обновлений произошла ошибка: Сервис обновлений не найден! + + + Downloading new version %1 (0%) + Загрузка новой версии %1 (0%) + + + + Cancel + Отмена + + + + An error occurred while loading updates: package Url is empty! + При загрузке обновлений произошла ошибка: URL-адрес пакета пуст! + + + + Update package error: md5 sum does not match the original. + Ошибка при обновлении пакета: сумма md5 не соответствует оригиналу. + + + + Preparing update... + Подготовка обновления... + + + + An error occurred while unzip updates: Update Service not found! + При разархивировании обновлений произошла ошибка: Сервис обновлений не найден! + + + + Update is available (version %1) + Доступно обновление (версия %1) + + + + Download update + Скачать обновление + + + + Current version is up to date + Текущая версия является актуальной + + + + An error occured while unpacking the archive + При распаковке архива произошла ошибка + + + + Update download failed: out of memory! + Не удалось загрузить обновление: недостаточно памяти! + + + + Update download failed: server connection error! + Не удалось загрузить обновление: ошибка подключения к серверу! + + + + Update download failed: wrong URL! + Не удалось загрузить обновление: неверный URL-адрес! + + + + Update download failed: unable to create file! + Не удалось загрузить обновление: невозможно создать файл! + + + + Update download failed: network error! + Не удалось загрузить обновление: сетевая ошибка! + + + + A service error has occurred! + Произошла ошибка сервиса! + + + + Last check performed %1 + Последняя проверка выполнена %1 + + + + Error opening JSON file. + Ошибка открытия файла JSON. + + + + Update is available + Доступно обновление + + + + + Current version + Текущая версия + + + + + Update version + Обновить версию + + + + Would you like to download update now? + Хотите загрузить обновление сейчас? + + + + Update is ready to install + Обновление готово к установке + + + + Would you like to restart app now? + Хотите перезапустить приложение сейчас? - - A new version of %1 is available! - Доступна новая версия %1! + Доступна новая версия %1! - %1 %2 is now available (you have %3). Would you like to download it now? - Доступна версия %2 %1 (текущая версия %3). Хотите скачать ее прямо сейчас? + Доступна версия %2 %1 (текущая версия %3). Хотите скачать ее прямо сейчас? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - Загружена версия %2 %1 (текущая версия %3). Хотите установить ее прямо сейчас? + Загружена версия %2 %1 (текущая версия %3). Хотите установить ее прямо сейчас? @@ -620,152 +836,161 @@ %1 недоступен. Возможно, он был переименован, перемещен или удален.<br>Хотите удалить его из списка? - + File %1 cannot be opened or doesn't exists. Файл %1 не может быть открыт или не существует. - - + + All files (*.*) Все файлы (*.*) - + XML File (*.xml) - + Файл XML (*.xml) - - + + Access to file '%1' is denied! - + Доступ к файлу '%1' запрещен! - + Read only Только чтение - + + Skip this version Пропустить эту версию - + + Remind me later Напомнить позже - + + Install update Установить обновление - Install on Next Start - Установить при следующем запуске + Установить при следующем запуске - + + + Install later + Установить позже + + + + Save and Restart Now Сохранить и перезапустить сейчас - + + Save and Install Now Установить - + + Download update Скачать обновление - + + Software Update Обновление программного обеспечения - + + Release notes Примечания к выпуску - An error occurred while check updates: Update Service not found! - + При проверке обновлений произошла ошибка: Сервис обновлений не найден! - An error occurred while loading updates: Update Service not found! - + При загрузке обновлений произошла ошибка: Сервис обновлений не найден! - An error occurred while unzip updates: Update Service not found! - + При разархивировании обновлений произошла ошибка: Сервис обновлений не найден! - + An error occurred while start install updates! - + При запуске установки обновлений произошла ошибка! - + An error occurred while start replacing files: Update Service not found! - + При запуске замены файлов произошла ошибка: Сервис обновлений не найден! - + Cancel - Отмена + Отмена - + Yes - Да + Да - + No - Нет + Нет - + OK - OK + OK - + Skip - Пропустить + Пропустить - + Buy Now - + Купить сейчас - + Activate - + Активировать - + Continue - + Продолжить An error occurred while opening the portal:<br>%1 - + При открытии портала произошла ошибка: <br>%1 - App can't working correctly under admin rights. - Приложение работает не корректно при запуске с правами администратора. + Приложение работает некорректно при запуске с правами администратора. diff --git a/win-linux/langs/si.qm b/win-linux/langs/si.qm index 96bbb9777..bc748a184 100644 Binary files a/win-linux/langs/si.qm and b/win-linux/langs/si.qm differ diff --git a/win-linux/langs/si.ts b/win-linux/langs/si.ts index eaba2dba5..e1b59885e 100644 --- a/win-linux/langs/si.ts +++ b/win-linux/langs/si.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View ඉදිරිපත්කරුගේ දැක්ම @@ -17,18 +17,18 @@ All the editor windows will be closed. Do you want to continue? - - + + Document%1.docx ලේඛනය%1.docx - + Book%1.xlsx පොත%1.xlsx - + Presentation%1.pptx සමර්පණය%1.pptx @@ -52,8 +52,8 @@ CAscTabWidget - - + + Document විවෘත වෙමින්... @@ -77,70 +77,70 @@ CDialogOpenSsl - + Select certificate සහතිකය තෝරන්න - + select certificate file... සහතිකයේ ගොනුව තෝරන්න... - + Certifacate password: සහතිකයේ මුරපදය: - + select key file... යතුරේ ගොනුව තෝරන්න… - + Key password: යතුරේ මුරපදය: - - - - + + + + Open Document ලේඛනය අරින්න - + Enter certificate path සහතිකයේ මාර්ගය යොදන්න - + Certificate is not supported සහාය නොදක්වන සහතිකයකි - + Enter certificate password සහතිකයේ මුරපදය යොදන්න - + Wrong certificate password.<br>Please enter again සහතිකයේ මුරපදය වැරදිය .<br>තවත් වරක් ඇතුල් කරන්න - + Enter valid private key වලංගු පෞද්. යතුර යොදන්න - + Key is not supported යතුරට සහාය නොදක්වයි - + Enter key password යතුරේ මුරපදය යොදන්න @@ -148,7 +148,7 @@ CDownloadWidget - + Cancel අවලංගු @@ -156,22 +156,22 @@ CEditorWindow - + Open main window ප්‍රධාන කවුළුව අරින්න - + Document must be saved to continue.<br>Save the document? ඉදිරියට යාමට ලේඛනය සුරැකිය යුතුය. <br>ලේඛනය සුරකින්නද? - + Print Document ලේඛනය මුද්‍රණය - + Document must be saved firstly. පළමුව ලේඛනය සුරැකිය යුතුය. @@ -181,7 +181,7 @@ %1 දැනටමත් පවතී.<br>ඔබට වෙනස්කම් සුරැකීමට වුවමනාද? - + Some data will lost.<br>Continue? ඔබ මෙම ආකෘතියෙන් දිගටම සුරැකුවහොත් පෙළ හැර අනෙකුත් සියළුම විශේෂාංග නැති වී යනු ඇත. <br>ඔබට ඉදිරියට යාමට වුවමනාද? @@ -189,7 +189,7 @@ CEditorWindowPrivate - + There are no printers available කිසිදු මුද්‍රකයක් නැත @@ -197,283 +197,319 @@ CFileDialogWrapper - + All files (*.*) සියළු ගොනු (*.*) - DOCX Document (*.docx) - ඔෆිස් ඕපන් XML ලේඛනය (*.docx) + ඔෆිස් ඕපන් XML ලේඛනය (*.docx) - Document template (*.dotx) - වර්ඩ් විවෘත XML ලේඛන අච්චුව (*.dotx) + වර්ඩ් විවෘත XML ලේඛන අච්චුව (*.dotx) - + DOC Document (*.doc) වර්ඩ් 97-2003 ලේඛනය (*.doc) - + ODT Document (*.odt) ඕපන්ඩොකියුමන්ට් පෙළ ගොනුව (*.odt) - OpenDocument Document template (*.ott) - ඕපන්ඩොකියුමන්ට් ලේඛන අච්චුව (*.ott) + ඕපන්ඩොකියුමන්ට් ලේඛන අච්චුව (*.ott) - + RTF File (*.rtf) පොහොසත් පෙළ ආකෘතිය ගොනුව (*.rtf) - + TXT File (*.txt) සරල පෙළ ගොනුව (*.txt) - + HTML File (*.html) HyperText Markup භාෂා ගොනුව (*.html) - + MHT File (*.mht) වියමන පිටු සංරක්‍ෂණ ගොනුව (*.mht) - + EPUB File (*.epub) විද්‍යුත් ප්‍රකාශන ගොනුව (*.epub) - + FB2 File (*.fb2) ෆික්ෂන්බුක් 2 ගොනුව (*.fb2) - + MOBI File (*.mobi) මොබිපොකට් ගොනුව (*.mobi) - + OFORM Document (*.oform) ඔන්ලිඔෆිස් මාර්ගගත පිරවිය හැකි ආකෘතිපත්‍රය (*.oform) - + DOCXF Document (*.docxf) ඔන්ලිඔෆිස් ආකෘතිපත්‍ර අච්චුව (*.docxf) - + PPTX File (*.pptx) ඔෆිස් ඕපන් XML සමර්පණය (*.pptx) - + PPT File (*.ppt) පවර්පොයින්ට් 97-2003 සමර්පණය (*.ppt) - Presentation template (*.potx) - පවර්පොයින් විවෘත XML සමර්පණ අච්චුව (*.potx) + පවර්පොයින් විවෘත XML සමර්පණ අච්චුව (*.potx) - + ODP File (*.odp) ඕපන්ඩොකියුමන්ට් සමර්පණය (*.odp) - OpenDocument Presentation Template (*.otp) - ඕපන්ඩොකියුමන්ට් සමර්පණ අච්චුව (*.otp) + ඕපන්ඩොකියුමන්ට් සමර්පණ අච්චුව (*.otp) - + PPSX File (*.ppsx) ඔෆිස් ඕපන් XML ස්ලයිඩ් ෂෝ (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) ඔෆිස් ඕපන් XML පැතුරුම්පත (*.xlsx) - Spreadsheet template (*.xltx) - එක්සෙල් විවෘත XML පැතුරුම්පත් අච්චුව (*.xltx) + එක්සෙල් විවෘත XML පැතුරුම්පත් අච්චුව (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) එක්සෙල් 97-2003 පැතුරුම්පත (*.xls) - + ODS File (*.ods) ඕපන්ඩොකියුමන්ට් පැතුරුම්පත (*.ods) - OpenDocument Spreadsheet Template (*.ots) - ඕපන්ඩොකියුමන්ට් පැතුරුම්පත් අච්චුව (*.ots) + ඕපන්ඩොකියුමන්ට් පැතුරුම්පත් අච්චුව (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) අල්පවිරාම මගින් වෙන් කළ අගයන් (*.csv) - + PDF File (*.pdf) සුවහ ලේඛනය (*.pdf) - + PDFA File (*.pdf) සුවහ ලේඛනය /ඒ (*.pdf) - + DJVU File (*.djvu) සංඛ්‍යාංක ලේඛනය (*.djvu) - + XPS File (*.xps) OpenXPS ලේඛනය (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) JPG අනුරුව (*.jpg *.jpeg) - + PNG Image (*.png) PNG අනුරුව (*.png) - + Save As ලෙස සුරකින්න - + %1 already exists.<br>Do you want to replace it? %1 දැනටමත් පවතී. <br>ඔබට එය ප්‍රතිස්ථාපනයට වුවමනා ද? - + Word Document වදන් ලේඛනය - + Excel Workbook එක්සෙල් පැතුරුම්පත - + PowerPoint Presentation පවර්පොයින්ට් සමර්පණය - + %1 File (*.%2) %1 ගොනුව (*.%2) - - - + + + Text documents පෙළ ලේඛනය - - - + + + Spreadsheets පැතුරුම්පත් - - - + + + Presentations සමර්පණ - + Web Page වියමන පිටුව - + Text files පෙළ ගොනු - - - + + + All supported files සහාය දක්වන සියළු ගොනු - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document ලේඛනය අරින්න - - + + All Images සියළු රූප - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;චලරූ (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) පේනු ගොනුව (*.plugin) - + Video file දෘශ්‍යක ගොනුව - + Audio file ශ්‍රව්‍ය ගොනුව - + Select Folder බහාලුමක් තෝරන්න @@ -481,43 +517,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. ගොනුවේ ආකෘතියට සහාය නොදක්වයි. - + %1 doesn't exists!<br>Remove file from the list? %1 නොතිබේ. එය යළි නම් කර, ගෙන ගොස් හෝ මකා දමා විය හැකිය. <br>ඔබට ලැයිස්තුවෙන් ගොනුව ඉවත් කිරීමට අවශ්‍යද? - + Document must be saved firstly. පළමුව ලේඛනය සුරැකිය යුතුය. - + Document must be saved to continue.<br>Save the document? ඉදිරියට යාමට ලේඛනය සුරැකිය යුතුය. <br>ලේඛනය සුරකින්නද? - + There are no printers available කිසිදු මුද්‍රකයක් නැත - + Print Document ලේඛනය මුද්‍රණය - + Sign Up ද්වාරය සාදන්න - + %1 is modified.<br>Do you want to keep changes? %1 සංශෝධිතයි. <br>ඔබට වෙනස්කම් සුරැකීමට වුවමනාද? @@ -560,22 +606,22 @@ CPrintProgress - + Document is printing: page %1 of %2 ලේඛනය මුද්‍රණය වෙමින්: %2 න් %1 පිටුව - + Document is preparing ලේඛනය සූදානම් කෙරෙමින් - + &Cancel &අවලංගු - + Printing... මුද්‍රණය වෙමින්... @@ -583,25 +629,183 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - + + An error occurred while check updates: Update Service not found! + + + + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + අවලංගු + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + යාවත්කාලය බාගන්න + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + + + A new version of %1 is available! - %1 හි නව අනුවාදයක් තිබේ! + %1 හි නව අනුවාදයක් තිබේ! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 දැන් තිබේ (%3 ඔබ සතුයි). දැන් එය බාගැනීමට කැමතිද? + %1 %2 දැන් තිබේ (%3 ඔබ සතුයි). දැන් එය බාගැනීමට කැමතිද? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 දැන් බාගත වී ඇත (%3 ඔබ සතුයි). දැන් එය ස්ථාපනය කිරීමට කැමතිද? + %1 %2 දැන් බාගත වී ඇත (%3 ඔබ සතුයි). දැන් එය ස්ථාපනය කිරීමට කැමතිද? @@ -612,7 +816,7 @@ %1 නොතිබේ. එය යළි නම් කර, ගෙන ගොස් හෝ මකා දමා විය හැකිය. <br>ඔබට ලැයිස්තුවෙන් ගොනුව ඉවත් කිරීමට අවශ්‍යද? - + File %1 cannot be opened or doesn't exists. %1 ගොනුව ඇරීමට නොහැකිය හෝ නොපවතී. @@ -621,8 +825,8 @@ සහාය දක්වන සියළු ගොනු (*.txt *.csv) - - + + All files (*.*) සියළු ගොනු (*.*) @@ -631,129 +835,127 @@ සහාය දක්වන සියළු ගොනු - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only කියවීමට පමණි - + + Skip this version මෙම අනුවාදය මඟහරින්න - + + Remind me later පසුව මතක් කරන්න - + + Install update යාවත්කාලය ස්ථාපනය - Install on Next Start - ඊළඟ ආරම්භයේදී ස්ථාපනය + ඊළඟ ආරම්භයේදී ස්ථාපනය - + + + Install later + + + + + Save and Restart Now සුරකින්න හා යළි අරඹන්න - + + Save and Install Now ස්ථාපනය - + + Download update යාවත්කාලය බාගන්න - + + Software Update මෘදුකාංග යාවත්කාලය - + + Release notes නිකුතු සටහන - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel අවලංගු - + Yes ඔව් - + No නැහැ - + OK හරි - + Skip මඟහරින්න - + Buy Now - + Activate - + Continue @@ -762,11 +964,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &හරි diff --git a/win-linux/langs/sk.qm b/win-linux/langs/sk.qm index 1b36a7629..bd1c17fc3 100644 Binary files a/win-linux/langs/sk.qm and b/win-linux/langs/sk.qm differ diff --git a/win-linux/langs/sk.ts b/win-linux/langs/sk.ts index 52e8d7ba5..bbd3e0be5 100644 --- a/win-linux/langs/sk.ts +++ b/win-linux/langs/sk.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Režim prezentácie @@ -21,18 +21,18 @@ Všetky okná editora budú zatvorené. Chceš pokračovať? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Zošit%1.xlsx - + Presentation%1.pptx Prezentácia%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Otváranie... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Vyberte certifikát - + select certificate file... vyberte súbor certifikátu... - + Certifacate password: Heslo certifikátu: - + select key file... vyberte kľúč... - + Key password: Heslo kľúča: - - - - + + + + Open Document - Otvoriť dokument + Otvoriť dokument - + Enter certificate path Zadajte cestu certifikátu - + Certificate is not supported Certifikát nie je podporovaný - + Enter certificate password Zadajte heslo certifikátu - + Wrong certificate password.<br>Please enter again Nesprávne heslo certifikátu.<br>Zadajte znova - + Enter valid private key Zadajte platný súkromný kľúč - + Key is not supported Kľúč nie je podporovaný - + Enter key password Zadajte heslo kľúča @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Zrušiť @@ -144,22 +144,22 @@ CEditorWindow - + Open main window Otvoriť hlavné okno - + Document must be saved to continue.<br>Save the document? Dokument musí byť uložený, aby ste mohli pokračovať.<br>Uložiť dokument? - + Print Document Vytlačiť dokument - + Document must be saved firstly. Dokument musí byť uložený ako prvý. @@ -169,7 +169,7 @@ %1 bol upravený.<br>Chcete zmeny zachovať? - + Some data will lost.<br>Continue? Ak budete pokračovať v ukladaní v tomto formáte, všetky funkcie okrem textu sa stratia.<br>Ste si istý, že chcete pokračovať? @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + Nie sú k dispozícii žiadne tlačiarne CFileDialogWrapper - + All files (*.*) Všetky súbory (*.*) - DOCX Document (*.docx) - Dokument Office Open XML (*.docx) + Dokument Office Open XML (*.docx) - Document template (*.dotx) - Šablóna dokumentu Word Open XML (*.dotx) + Šablóna dokumentu Word Open XML (*.dotx) - + DOC Document (*.doc) Dokument Word 97-2003 (*.doc) - + ODT Document (*.odt) Textový súbor OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Šablóna dokumentu OpenDocument (*.ott) + Šablóna dokumentu OpenDocument (*.ott) - + RTF File (*.rtf) Súbor vo formáte RTF (*.rtf) - + TXT File (*.txt) Súbor obyčajného textu (*.txt) - + HTML File (*.html) Súbor hypertextového značkovacieho jazyka (*.html) - + MHT File (*.mht) Archívny súbor webovej stránky (*.mht) - + EPUB File (*.epub) Elektronický publikačný súbor (*.epub) - + FB2 File (*.fb2) Súbor FictionBook 2 (*.fb2) - + MOBI File (*.mobi) E-kniha Mobipocket (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE vyplniteľný online formulár (*.oform) - + DOCXF Document (*.docxf) Šablóna formulára ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Prezentácia Office Open XML (*.pptx) - + PPT File (*.ppt) Prezentácia PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Šablóna prezentácie PowerPoint Open XML (*.potx) + Šablóna prezentácie PowerPoint Open XML (*.potx) - + ODP File (*.odp) Prezentácia OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Šablóna prezentácie OpenDocument (*.otp) + Šablóna prezentácie OpenDocument (*.otp) - + PPSX File (*.ppsx) Premietanie slajdov Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Súbor prezentácie s podporou makra (*.pptm) - + XLSX File (*.xlsx) Tabuľka Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Šablóna zošitu Excel Open XML (*.xltx) + Šablóna zošitu Excel Open XML (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Tabuľka Excel 97-2003 (*.xls) - + ODS File (*.ods) Tabuľka OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Šablóna zošitu OpenDocument (*.ots) + Šablóna zošitu OpenDocument (*.ots) - + + DOCX Document + Dokument DOCX + + + + OpenDocument Document template + Šablóna dokumentu OpenDocument + + + + OpenDocument Presentation Template + Šablóna prezentácie OpenDocument + + + + Macro-enabled spreadsheet template + Šablóna tabuľky s podporou makra + + + + OpenDocument Spreadsheet Template + Šablóna tabuľky OpenDocument + + + CSV File (*.csv) Hodnoty oddelené čiarkami (*.csv) - + PDF File (*.pdf) Prenosný document (*.pdf) - + PDFA File (*.pdf) Prenosný document /A (*.pdf) - + DJVU File (*.djvu) Digitálny document (*.djvu) - + XPS File (*.xps) Dokument OpenXPS (*.xps) - + + SVG Image (*.svg) + Obrázok SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) - + Obrázok JPG (*.jpg *.jpeg) - + PNG Image (*.png) Obrázok PNG (*.png) - + Save As Uložiť ako - + %1 already exists.<br>Do you want to replace it? %1 už existuje.<br>Chcete ho nahradiť? - + Word Document Word Dokument - + Excel Workbook Tabuľka Excel - + PowerPoint Presentation PowerPoint Prezentácia - + %1 File (*.%2) %1 Súbor (*.%2) - - - + + + Text documents Textové dokumenty - - - + + + Spreadsheets Tabuľky - - - + + + Presentations Prezentácie - + Web Page Webstránka - + Text files Textové súbory - - - + + + All supported files - + Všetky podporované súbory + + + + + Spreadsheet template + Šablóna tabuľky - + + + Presentation template + Šablóna prezentácie + + + + + Document template + Šablóna dokumentu + + + Open Document Otvoriť dokument - - + + All Images Všetky obrázky - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Súbor pluginu (* .plugin) - + Video file Videosúbor - + Audio file Zvukový súbor - + Select Folder - + Vybrať priečinok CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Viac ako jeden dokument je otvorený.<br>Zatvoriť okno aj tak? + + + + Don't ask again. + Nezobrazujte túto otázku znova. + + + + File format not supported. - Formát súboru nie je podporovaný. + Formát súboru nie je podporovaný. - + %1 doesn't exists!<br>Remove file from the list? - %1 neexistuje.<br>Odstrániť súbor zo zoznamu? + %1 neexistuje.<br>Odstrániť súbor zo zoznamu? - + Document must be saved firstly. - Dokument musí byť uložený ako prvý. + Dokument musí byť uložený ako prvý. - + Document must be saved to continue.<br>Save the document? - Dokument musí byť uložený, aby ste mohli pokračovať.<br>Uložiť dokument? + Dokument musí byť uložený, aby ste mohli pokračovať.<br>Uložiť dokument? - + There are no printers available - + Nie sú k dispozícii žiadne tlačiarne - + Print Document - Vytlačiť dokument + Vytlačiť dokument - + Sign Up - Vytvoriť kancelárie cloud + Vytvoriť kancelárie cloud - + %1 is modified.<br>Do you want to keep changes? - %1 bol upravený.<br>Chcete zmeny zachovať? + %1 bol upravený.<br>Chcete zmeny zachovať? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Tlačí sa dokument: strana %1 z %2 - + Document is preparing Dokument sa pripravuje - + &Cancel &Zrušiť - + Printing... Tlačí sa... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Skontrolujte si dostupnosť aktualizácií + + + + Unable to check update: URL not defined. + Nie je možné skontrolovať aktualizáciu: URL nie je definovaná. + + + + To finish updating, restart app + Ak chcete dokončiť aktualizáciu, reštartujte aplikáciu + + + + Restart + Reštartovať + + + + Checking for updates... + Kontrola dostupnosti aktualizácií... + + + + Updates are not allowed! + Aktualizácie nie sú povolené! + + + This folder configuration does not allow for updates! The folder name should be: + Táto konfigurácia priečinka neumožňuje aktualizácie! Názov priečinka by mal byť: + + + + An error occurred while check updates: Update Service not found! + Pri overovaní aktualizácií došlo k chybe: Služba aktualizácie nebola nájdená! + + + + Downloading new version %1 (%2%) + Sťahovanie novej verzie %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Pri nahrávaní aktualizácií sa vyskytla chyba: Služba aktualizácie nebola nájdená! + + + + Cancel + Zrušiť + + + + An error occurred while loading updates: package Url is empty! + Pri nahrávaní aktualizácií sa vyskytla chyba: Url balíka je prázdny! + + + + Update package error: md5 sum does not match the original. + Chyba aktualizačného balíka: súčet md5 sa nezhoduje s pôvodným. + + + + Preparing update... + Príprava aktualizácie... + + + + An error occurred while unzip updates: Update Service not found! + Pri rozbaľovaní súboru s aktualizáciou sa vyskytla chyba: Služba aktualizácie nebola nájdená! + + + + Update is available (version %1) + Je dostupná aktualizácia (verzia %1) + + + + Download update + Stiahnite si aktualizáciu + + + + Current version is up to date + Aktuálna verzia je najnovšia + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Posledná vykonaná kontrola %1 + + + + Error opening JSON file. + + + + + Update is available + Je dostupná aktualizácia + + + + + Current version + Aktuálna verzia + + + + + Update version + Verzia aktualizácie + + + + Would you like to download update now? + Chcete si teraz stiahnuť aktualizáciu? + + + + Update is ready to install + Aktualizácia je pripravená na inštaláciu + + + + Would you like to restart app now? + Chcete teraz reštartovať aplikáciu? + QObject @@ -596,7 +788,7 @@ %1 neexistuje.<br>Odstrániť súbor zo zoznamu? - + File %1 cannot be opened or doesn't exists. Súbor %1 sa nedá otvoriť alebo neexistuje. @@ -605,147 +797,136 @@ Všetky podporované súbory (*.txt *.csv) - - + + All files (*.*) Všetky súbory (*.*) - + XML File (*.xml) - + Súbor XML (*.xml) - - + + Access to file '%1' is denied! - + Prístup k súboru '%1' je zamietnutý! - + Read only - + Iba na čítanie - + + Skip this version - + Preskočiť túto verziu - + + Remind me later - + Pripomenúť neskôr - + + Install update - + Inštalovať aktualizáciu - - Install on Next Start - + + + Install later + Inštalovať neskôr - + + Save and Restart Now - + Uložiť a reštartovať teraz - + + Save and Install Now Inštalovať - + + Download update - + Stiahnite si aktualizáciu - + + Software Update - + Aktualizácia softvéru - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Informácie o verzii - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Pri spustení inštalácie aktualizácií došlo k chybe! - + An error occurred while start replacing files: Update Service not found! - + Pri spustení výmeny súborov došlo k chybe: Služba aktualizácie nebola nájdená! - + Cancel - Zrušiť + Zrušiť - + Yes - Áno + Áno - + No - Nie + Nie - + OK - OK + OK - + Skip - + Preskočiť - + Buy Now - + Kúpiť teraz - + Activate - + Aktivovať - + Continue - + Pokračovať An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Pri otvorení portálu došlo k chybe:<br>%1 &OK diff --git a/win-linux/langs/sl.qm b/win-linux/langs/sl.qm index ce21283dc..4fa46ae28 100644 Binary files a/win-linux/langs/sl.qm and b/win-linux/langs/sl.qm differ diff --git a/win-linux/langs/sl.ts b/win-linux/langs/sl.ts index 461f3e9d4..31da1dbfd 100644 --- a/win-linux/langs/sl.ts +++ b/win-linux/langs/sl.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Pogled predstavitelja @@ -21,18 +21,18 @@ Vsa okna urejevalnika bodo zaprta. Ali želite nadaljevati? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Knjiga%1.xlsx - + Presentation%1.pptx Predstavitev%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Odpiranje... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Izberi certifikat - + select certificate file... izberi datoteko certifikata... - + Certifacate password: Geslo certifikata: - + select key file... izberi datoteko ključa... - + Key password: Geslo ključa: - - - - + + + + Open Document - Odpri dokument + Odpri dokument - + Enter certificate path Vnesi pot do certifikata - + Certificate is not supported Certifikat ni podprt - + Enter certificate password Vnesi geslo certifikata - + Wrong certificate password.<br>Please enter again Napačno geslo certifikata.<br>Poskusi znova - + Enter valid private key Vnesi veljaven zasebni ključ - + Key is not supported Ključ ni podprt - + Enter key password Vnesi geslo ključa @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Prekliči @@ -149,27 +149,27 @@ %1 je bil spremenjen.<br>Želite shraniti spremembe? - + Some data will lost.<br>Continue? Če želite nadaljevati s shranjevanjem v tem formatu, bodo izgubljene vse lastnosti, razen teksta.<br>Ste prepričani, da želite nadaljevati? - + Open main window Odpri glavno okno - + Document must be saved to continue.<br>Save the document? Dokument mora biti shranjen pred nadaljevanjem.<br>Želiš shraniti dokument? - + Print Document Natisni dokument - + Document must be saved firstly. Dokument mora biti najprej shranjen. @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + Na voljo ni nobenega tiskalnika CFileDialogWrapper - + All files (*.*) Vse datoteke (*.*) - DOCX Document (*.docx) - Office Open XML dokument (*.docx) + Office Open XML dokument (*.docx) - Document template (*.dotx) - Word Open XML predloga dokumenta (*.dotx) + Word Open XML predloga dokumenta (*.dotx) - + DOC Document (*.doc) Word 97-2003 dokument (*.doc) - + ODT Document (*.odt) OpenDocument besedilna datoteka (*.odt) - OpenDocument Document template (*.ott) - OpenDocument predloga dokumenta (*.ott) + OpenDocument predloga dokumenta (*.ott) - + RTF File (*.rtf) Rich Text Format datoteka (*.rtf) - + TXT File (*.txt) Plain Text datoteka (*.txt) - + HTML File (*.html) HyperText Markup Language datoteka (*.html) - + MHT File (*.mht) Web Page Archive datoteka (*.mht) - + EPUB File (*.epub) Electronic Publication datoteka (*.epub) - + FB2 File (*.fb2) FictionBook 2 datoteka (*.fb2) - + MOBI File (*.mobi) Mobipocket e-knjiga (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE spletni obrazec z izpolnjevanjem (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE predloga obrazca (*.docxf) - + PPTX File (*.pptx) Office Open XML predstavitev (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 predstavitev (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML predloga predstavitve (*.potx) + PowerPoint Open XML predloga predstavitve (*.potx) - + ODP File (*.odp) OpenDocument predstavitev (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument predloga predstavitve (*.otp) + OpenDocument predloga predstavitve (*.otp) - + PPSX File (*.ppsx) Office Open XML predstavitev (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Prezentacijska datoteka z omogočenimi makroji (*.pptm) - + XLSX File (*.xlsx) Office Open XML preglednica (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML predloga preglednice (*.xltx) + Excel Open XML predloga preglednice (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Excel 97-2003 preglednica (*.xls) - + ODS File (*.ods) OpenDocument preglednica (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument predloga preglednice (*.ots) + OpenDocument predloga preglednice (*.ots) - + + DOCX Document + DOCX dokument + + + + OpenDocument Document template + OpenDocument predloga dokumenta + + + + OpenDocument Presentation Template + OpenDocument predloga prezentacije + + + + Macro-enabled spreadsheet template + Predloga preglednice z omogočenimi makroji + + + + OpenDocument Spreadsheet Template + OpenDocument predloga preglednice + + + CSV File (*.csv) Vrednosti, ločene z vejico (*.csv) - + PDF File (*.pdf) Prenosni document (*.pdf) - + PDFA File (*.pdf) Prenosni document /A (*.pdf) - + DJVU File (*.djvu) Digitalni document (*.djvu) - + XPS File (*.xps) OpenXPS dokument (*.xps) - + + SVG Image (*.svg) + SVG slika (*.svg) + + + JPG Image (*.jpg *.jpeg) - + JPG slika (*.jpg *.jpeg) - + PNG Image (*.png) PNG slika (*.png) - + Save As Shrani kot - + %1 already exists.<br>Do you want to replace it? %1 že obstaja.<br>Jo želite zamenjati? - + Word Document Word dokument - + Excel Workbook Excel preglednica - + PowerPoint Presentation PowerPoint predstavitev - + %1 File (*.%2) %1 Datoteka (*.%2) - - - + + + Text documents Tekst dokument - - - + + + Spreadsheets Preglednice - - - + + + Presentations Predstavitve - + Web Page Spletna stran - + Text files Tekstovne datoteke - - - + + + All supported files - + Vse podprte datoteke + + + + + Spreadsheet template + Predloga preglednice - + + + Presentation template + Predstavitvena predloga + + + + + Document template + Predloga dokumenta + + + Open Document Odpri dokument - - + + All Images Vse slike - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Datoteka vtičnika (*.plugin) - + Video file Video datoteka - + Audio file Audio datoteka - + Select Folder - + Izberi mapo CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Odprtih je več dokumentov.<br>Želite vseeno zapreti okno? + + + + Don't ask again. + Ne vprašaj ponovno. + + + + File format not supported. - Format datoteke ni podprt. + Format datoteke ni podprt. - + %1 doesn't exists!<br>Remove file from the list? - %1 ni na voljo. Lahko je bil preimenovan, premaknjen ali izbrisan.<br>Ali želite, da ga izbrišemo iz seznama? + %1 ni na voljo. Lahko je bil preimenovan, premaknjen ali izbrisan.<br>Ali želite, da ga izbrišemo iz seznama? - + Document must be saved firstly. - Dokument mora biti najprej shranjen. + Dokument mora biti najprej shranjen. - + Document must be saved to continue.<br>Save the document? - Dokument mora biti shranjen pred nadaljevanjem.<br>Želiš shraniti dokument? + Dokument mora biti shranjen pred nadaljevanjem.<br>Želiš shraniti dokument? - + There are no printers available - + Na voljo ni nobenega tiskalnika - + Print Document - Natisni dokument + Natisni dokument - + Sign Up - Ustvari portal + Ustvari portal - + %1 is modified.<br>Do you want to keep changes? - %1 je bil spremenjen.<br>Želite shraniti spremembe? + %1 je bil spremenjen.<br>Želite shraniti spremembe? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Tiskanje dokumenta: stran %1 od %2 - + Document is preparing Pripravljanje dokumenta - + &Cancel &Prekliči - + Printing... Tiskanje... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Preverite posodobitve + + + + Unable to check update: URL not defined. + Ni mogoče preveriti posodobitev: URL ni definiran. + + + + To finish updating, restart app + Za dokončanje posodabljanja znova zaženite aplikacijo + + + + Restart + Ponovno zaženi + + + + Checking for updates... + Preverjanje posodobitev… + + + + Updates are not allowed! + Posodobitve niso dovoljene! + + + This folder configuration does not allow for updates! The folder name should be: + Ta konfiguracija mape ne dovoljuje posodobitev! Ime mape mora biti: + + + + An error occurred while check updates: Update Service not found! + Med preverjanjem posodobitev je prišlo do napake: Storitve posodabljanja ni bilo mogoče najti! + + + + Downloading new version %1 (%2%) + Prenos nove verzije %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Med nalaganjem posodobitev je prišlo do napake: Storitve posodabljanja ni bilo mogoče najti! + + + + Cancel + Prekliči + + + + An error occurred while loading updates: package Url is empty! + Med nalaganjem posodobitev je prišlo do napake: URL paketa je prazen! + + + + Update package error: md5 sum does not match the original. + Napaka paketa posodobitve: vsota md5 se ne ujema z originalom. + + + + Preparing update... + Pripravljanje posodobitev… + + + + An error occurred while unzip updates: Update Service not found! + Med razpakiranjem posodobitev je prišlo do napake: storitve posodobitve ni bilo mogoče najti! + + + + Update is available (version %1) + Posodobitev je na voljo (verzija %1) + + + + Download update + Prenos posodobitev + + + + Current version is up to date + Trenutna verzija je posodobljena + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Zadnje preverjanje opravljeno %1 + + + + Error opening JSON file. + + + + + Update is available + Posodobitev je na voljo + + + + + Current version + Trenutna verzija + + + + + Update version + Posodobi verzijo + + + + Would you like to download update now? + Ali želite zdaj prenesti posodobitve? + + + + Update is ready to install + Posodobitev je pripravljena za namestitev + + + + Would you like to restart app now? + Ali želite zdaj znova zagnati aplikacijo? + QObject @@ -596,7 +788,7 @@ %1 ni na voljo. Lahko je bil preimenovan, premaknjen ali izbrisan.<br>Ali želite, da ga izbrišemo iz seznama? - + File %1 cannot be opened or doesn't exists. Datoteka %1 ne more biti odprta ali ne obstaja. @@ -605,147 +797,136 @@ Vse podprte datoteke (*.txt *.csv) - - + + All files (*.*) Vse datoteke (*.*) - + XML File (*.xml) - + XML Datoteka (*.xml) - - + + Access to file '%1' is denied! - + Dostop do datoteke '%1' je zavrnjen! - + Read only - + Samo za branje - + + Skip this version - + Preskoči to verzijo - + + Remind me later - + Opomni me kasneje - + + Install update - + Namesti posodobitve - - Install on Next Start - + + + Install later + Namesti kasneje - + + Save and Restart Now - + Shrani in ponovno zaženi - + + Save and Install Now - + + Download update - + Prenos posodobitev - + + Software Update - + Posodobitev programske opreme - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Opombe ob izdaji - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Med začetkom nameščanja posodobitev je prišlo do napake! - + An error occurred while start replacing files: Update Service not found! - + Med začetkom zamenjave datotek je prišlo do napake: storitve posodobitve ni bilo mogoče najti! - + Cancel - Prekliči + Prekliči - + Yes - Da + Da - + No - Ne + Ne - + OK - V redu + V redu - + Skip - + Preskoči - + Buy Now - + Kupi zdaj - + Activate - + Aktivacija - + Continue - + Nadaljuj An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Med odpiranjem portala je prišlo do napake:<br>%1 &OK diff --git a/win-linux/langs/sv.qm b/win-linux/langs/sv.qm index 99e44dc32..333a456f2 100644 Binary files a/win-linux/langs/sv.qm and b/win-linux/langs/sv.qm differ diff --git a/win-linux/langs/sv.ts b/win-linux/langs/sv.ts index cc0dac8ad..1caf2d8ec 100644 --- a/win-linux/langs/sv.ts +++ b/win-linux/langs/sv.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Presentationsvy @@ -21,18 +21,18 @@ Alla redigeringsfönster kommer att stängas. Vill du fortsätta? - - + + Document%1.docx Dokument%1.docx - + Book%1.xlsx Kalkylblad%1.xlsx - + Presentation%1.pptx Presentation%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Öppnar... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Välj certifikat - + select certificate file... välj certifikatfil... - + Certifacate password: Certifikat-lösenord: - + select key file... välj nyckelfil... - + Key password: Nyckellösenord: - - - - + + + + Open Document Öppna dokument - + Enter certificate path Ange certifikatets filsökväg - + Certificate is not supported Certifikat stöds inte - + Enter certificate password Ange certifikatlösenord - + Wrong certificate password.<br>Please enter again Felaktigt certifikatlösenord.<br>Var vänlig försök igen - + Enter valid private key Ange giltig privatnyckel - + Key is not supported Nyckel stöds inte - + Enter key password Ange nyckellösenord @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Avbryt @@ -149,27 +149,27 @@ %1 har ändrats.<br>Vill du spara ändringarna? - + Some data will lost.<br>Continue? Om du fortsätter med att spara i detta format så kommer alla funktioner utom texten att gå förlorade.<br>Är du säker på att du vill fortsätta? - + Open main window Öppna huvudfönster - + Document must be saved to continue.<br>Save the document? Dokumentet måste sparas för att fortsätta.<br>Spara dokument? - + Print Document Skriv ut dokument - + Document must be saved firstly. Dokumentet måste sparas först. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Alla filer (*.*) - DOCX Document (*.docx) - Office Open XML-document (*.docx) + Office Open XML-document (*.docx) - Document template (*.dotx) - Word Open XML-dokumentmall (*.dotx) + Word Open XML-dokumentmall (*.dotx) - + DOC Document (*.doc) Word 97-2003-dokument (*.doc) - + ODT Document (*.odt) OpenDocument-textfil (*.odt) - OpenDocument Document template (*.ott) - OpenDocument-dokumentmall (*.ott) + OpenDocument-dokumentmall (*.ott) - + RTF File (*.rtf) Rich Text Format-fil (*.rtf) - + TXT File (*.txt) Oformaterad text (*.txt) - + HTML File (*.html) HTML-fil (*.html) - + MHT File (*.mht) HTML-fil (*.html) - + EPUB File (*.epub) EPUB-fil (*.epub) - + FB2 File (*.fb2) FB2-fil (*.fb2) - + MOBI File (*.mobi) Mobipocket e-bokl (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE ifyllbart onlineformulär (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE formulärmall (*.docxf) - + PPTX File (*.pptx) Office Open XML-presentation (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003-presentation (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML-presentationsmall (*.potx) + PowerPoint Open XML-presentationsmall (*.potx) - + ODP File (*.odp) OpenDocument-presentation (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument-presentationsmall (*.otp) + OpenDocument-presentationsmall (*.otp) - + PPSX File (*.ppsx) Office Open XML-bildspel (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML-kalkylblad (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML-kalkylbladsmall (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML-kalkylbladsmall (*.xltx) - + XLS File (*.xls) Excel 97-2003-kalkylblad (*.xls) - + ODS File (*.ods) OpenDocument-kalkylblad (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument-kalkylbladsmall (*.ots) + OpenDocument-kalkylbladsmall (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Kommaavgränsade värden (*.csv) - + PDF File (*.pdf) Portabelt dokumentformat (*.pdf) - + PDFA File (*.pdf) Portabelt dokumentformat /A-fil (*.pdf) - + DJVU File (*.djvu) Digitalt document (*.djvu) - + XPS File (*.xps) OpenXPS-dokument (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) PNG-bild (*.png) - + Save As Spara som - + %1 already exists.<br>Do you want to replace it? %1 finns redan.<br>Vill du ersätta den? - + Word Document Word-document - + Excel Workbook Excel-kalkylblad - + PowerPoint Presentation PowerPoint-presentation - + %1 File (*.%2) %1-fil (*.%2) - - - + + + Text documents Textdokument - - - + + + Spreadsheets Kalkylblad - - - + + + Presentations Presentationer - + Web Page Webbsida - + Text files Textfiler - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Öppna dokument - - + + All Images Alla Bilder - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin-fil (*.plugin) - + Video file Videofil - + Audio file Ljudfil - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Filformatet stöds inte. - + %1 doesn't exists!<br>Remove file from the list? %1 är inte tillgänlig. Det är möjligt att filen har bytt namn, flyttats eller tagits bort.<br>Vill du ta bort filen från listan? - + Document must be saved firstly. Dokumentet måste sparas först. - + Document must be saved to continue.<br>Save the document? Dokumentet måste sparas för att fortsätta.<br>Spara dokument? - + There are no printers available - + Print Document Skriv ut dokument - + Sign Up Skapa portal - + %1 is modified.<br>Do you want to keep changes? %1 har ändrats.<br>Vill du spara ändringarna? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Skriver ut dokument: sida %1 av %2 - + Document is preparing Förbereder dokument - + &Cancel &Avbryt - + Printing... Skriver ut... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Avbryt + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,140 +788,134 @@ %1 är inte tillgänlig. Det är möjligt att filen har bytt namn, flyttats eller tagits bort.<br>Vill du ta bort filen från listan? - + File %1 cannot be opened or doesn't exists. - - + + All files (*.*) Alla filer (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Installera - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Avbryt - + Yes Ja - + No Nej - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -738,11 +924,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/tr.qm b/win-linux/langs/tr.qm index fe54e9dc2..cd5b1d2e6 100644 Binary files a/win-linux/langs/tr.qm and b/win-linux/langs/tr.qm differ diff --git a/win-linux/langs/tr.ts b/win-linux/langs/tr.ts index d3dea6c97..64ec2d690 100644 --- a/win-linux/langs/tr.ts +++ b/win-linux/langs/tr.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Sunucu Görünümü @@ -21,18 +21,18 @@ Tüm editor pencereleri kapatılacaktır. Devam etmek istiyor musunuz? - - + + Document%1.docx Belge%1.docx - + Book%1.xlsx Kitap%1.xlsx - + Presentation%1.pptx Sunum%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Açılıyor... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Sertifika seç - + select certificate file... sertifika dosyası seç... - + Certifacate password: Sertifika şifresi: - + select key file... anahtar dosyası seç... - + Key password: Anahtar şifresi: - - - - + + + + Open Document - Belge Aç + Belge Aç - + Enter certificate path Sertifika yolu gir - + Certificate is not supported Sertifika desteklenmiyor - + Enter certificate password Sertifika şifresi gir - + Wrong certificate password.<br>Please enter again Yanlış sertifika şifresi.<br>Lütfen yeniden deneyin - + Enter valid private key Geçerli özel anahtar gir - + Key is not supported Anahtar desteklenmiyor - + Enter key password Anahtar şifresi gir @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel İptal @@ -149,27 +149,27 @@ %1 değiştirildi.<br>Değişiklikleri kaydetmek istiyor musunuz? - + Some data will lost.<br>Continue? Bu formatta kaydetmeye devam ederseniz, metin haricindeki tüm özellikler kaybedilecektir.<br>;Devam etmek istediğinize emin misiniz? - + Open main window Ana pencereyi aç - + Document must be saved to continue.<br>Save the document? Devam edebilmek için belgenin kaydedilmesi gerekli.<br>Belgeyi kaydet? - + Print Document Belgeyi yazdır - + Document must be saved firstly. Belge önce kaydedilmelidir. @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + Kullanılabilir yazıcı yok CFileDialogWrapper - + All files (*.*) Tüm dosyalar (*.*) - DOCX Document (*.docx) - Office Open XML Belgesi (*.docx) + Office Open XML Belgesi (*.docx) - Document template (*.dotx) - Word Open XML Belge şablonu (*.dotx) + Word Open XML Belge şablonu (*.dotx) - + DOC Document (*.doc) Word 97-2003 Belgesi (*.doc) - + ODT Document (*.odt) OpenDocument Metin dosyası (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Belge Şablonu (*.ott) + OpenDocument Belge Şablonu (*.ott) - + RTF File (*.rtf) Zengin Metin Format Dosyası (*.rtf) - + TXT File (*.txt) Düz Metin Dosyası (*.txt) - + HTML File (*.html) Köprü Metni İşaretleme Dili Dosyası (*.html) - + MHT File (*.mht) Web Sayfası Arşiv Dosyası (*.mht) - + EPUB File (*.epub) Elektronik Yayın Dosyası (*.epub) - + FB2 File (*.fb2) FictionBook 2 Dosyası (*.fb2) - + MOBI File (*.mobi) Mobipocket e-kitap (*.mobi) - + OFORM Document (*.oform) ONLYOFFICE Doldurulabilir Çevrimiçi Form (*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE Belgesi Form Şablonu (*.docxf) - + PPTX File (*.pptx) Office Open XML Sunumu (*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 Sunumu (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Sunum Şablonu (*.potx) + PowerPoint Open XML Sunum Şablonu (*.potx) - + ODP File (*.odp) OpenDocument Sunumu (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Sunum Şablonu (*.otp) + OpenDocument Sunum Şablonu (*.otp) - + PPSX File (*.ppsx) Office Open XML Slayt Gösterisi (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Makro Etkinleştirilmiş Sunum Dosyası (*.pptm) - + XLSX File (*.xlsx) Office Open XML Elektronik Tablosu (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Tablo Şablonu (*.xltx) + Excel Open XML Tablo Şablonu (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Excel 97-2003 Elektronik Tablosu (*.xls) - + ODS File (*.ods) OpenDocument Tablosu (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Tablo Şablonu (*.ots) + OpenDocument Tablo Şablonu (*.ots) - + + DOCX Document + DOCX belgesi + + + + OpenDocument Document template + OpenDocument Belge Şablonu + + + + OpenDocument Presentation Template + OpenDocument Sunum Şablonu + + + + Macro-enabled spreadsheet template + Makro Etkinleştirilmiş Elektronik Tablo Şablonu + + + + OpenDocument Spreadsheet Template + OpenDocument Elektronik Tablo Şablonu + + + CSV File (*.csv) Virgülle Ayrılmış Değerler (*.csv) - + PDF File (*.pdf) Taşınabilir Belge (*.pdf) - + PDFA File (*.pdf) Taşınabilir Belge /A (*.pdf) - + DJVU File (*.djvu) Dijital Belge (*.djvu) - + XPS File (*.xps) OpenXPS Belgesi (*.xps) - + + SVG Image (*.svg) + SVG Resmi (*.svg) + + + JPG Image (*.jpg *.jpeg) - + JPG Resmi (*.jpg *.jpeg) - + PNG Image (*.png) PNG Resmi (*.png) - + Save As Farklı Kaydet - + %1 already exists.<br>Do you want to replace it? %1 zaten var.<br>Üzerine yazmak istiyor musunuz? - + Word Document Word Belgesi - + Excel Workbook Excel Tablosu - + PowerPoint Presentation PowerPoint Sunumu - + %1 File (*.%2) %1 Dosyası (*.%2) - - - + + + Text documents Metin Belgeleri - - - + + + Spreadsheets Tablolar - - - + + + Presentations Sunumlar - + Web Page Web Sayfası - + Text files Text Dosyaları - - - + + + All supported files - + Desteklenen tüm dosyalar + + + + + Spreadsheet template + Elektronik tablo şablonu - + + + Presentation template + Sunum şablonu + + + + + Document template + Belge şablonu + + + Open Document Belge Aç - - + + All Images Tüm Resimler - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Plugin Dosyası (*.plugin) - + Video file Video Dosyası - + Audio file Ses Dosyası - + Select Folder - + Dosya Seç CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Birden fazla belge açık.<br>Yine de pencere kapatılsın mı? + + + + Don't ask again. + Bir daha sorma. + + + + File format not supported. - Dosya format desteklenmiyor. + Dosya format desteklenmiyor. - + %1 doesn't exists!<br>Remove file from the list? - %1 mevcut değil. Yeniden isimlendirilmiş, taşınmış veya silimiş olabilir.<br>Dosyayı listeden kaldırmak istediğinize emin misiniz? + %1 mevcut değil. Yeniden isimlendirilmiş, taşınmış veya silimiş olabilir.<br>Dosyayı listeden kaldırmak istediğinize emin misiniz? - + Document must be saved firstly. - Belge önce kaydedilmelidir. + Belge önce kaydedilmelidir. - + Document must be saved to continue.<br>Save the document? - Devam edebilmek için belgenin kaydedilmesi gerekli.<br>Belgeyi kaydet? + Devam edebilmek için belgenin kaydedilmesi gerekli.<br>Belgeyi kaydet? - + There are no printers available - + Kullanılabilir yazıcı yok - + Print Document - Belgeyi yazdır + Belgeyi yazdır - + Sign Up - Portal oluştur + Portal oluştur - + %1 is modified.<br>Do you want to keep changes? - %1 değiştirildi.<br>Değişiklikleri kaydetmek istiyor musunuz? + %1 değiştirildi.<br>Değişiklikleri kaydetmek istiyor musunuz? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Belge yazdırılıyor: sayfa %2’nin %1’i - + Document is preparing Belge hazırlanıyor - + &Cancel &İptal - + Printing... Yazdırılıyor... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Güncellemeleri kontrol et + + + + Unable to check update: URL not defined. + Güncelleme kontrol edilemiyor: URL tanımlı değil. + + + + To finish updating, restart app + Güncellemeyi tamamlamak için uygulamayı yeniden başlatın + + + + Restart + Tekrar başlat + + + + Checking for updates... + Güncellemeler kontrol ediliyor... + + + + Updates are not allowed! + Güncellemelere izin verilmiyor! + + + This folder configuration does not allow for updates! The folder name should be: + Bu klasör yapılandırması güncellemelere izin vermiyor! Klasör adı şöyle olmalıdır: + + + + An error occurred while check updates: Update Service not found! + Güncellemeleri kontrol ederken bir hata oluştu: Güncelleme Hizmeti bulunamadı! + + + + Downloading new version %1 (%2%) + Yeni sürüm %1 (%2%) indiriliyor + + + + An error occurred while loading updates: Update Service not found! + Güncellemeler yüklenirken bir hata oluştu: Güncelleme Hizmeti bulunamadı! + + + + Cancel + İptal + + + + An error occurred while loading updates: package Url is empty! + Güncellemeler yüklenirken bir hata oluştu: Paket bağlantısı boş! + + + + Update package error: md5 sum does not match the original. + Güncelleme paketi hatası: md5 toplamı orijinalle eşleşmiyor. + + + + Preparing update... + Güncelleme hazırlanıyor... + + + + An error occurred while unzip updates: Update Service not found! + Güncellemelerin çıkarılması sırasında bir hata oluştu: Güncelleme Hizmeti bulunamadı! + + + + Update is available (version %1) + Güncelleme mevcut (sürüm %1) + + + + Download update + Güncellemeyi indir + + + + Current version is up to date + Mevcut sürüm güncel + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Son kontrol yapıldı %1 + + + + Error opening JSON file. + + + + + Update is available + Güncelleme mevcut + + + + + Current version + Şimdiki versiyonu + + + + + Update version + Sürümü güncelle + + + + Would you like to download update now? + Güncellemeyi şimdi indirmek ister misiniz? + + + + Update is ready to install + Güncelleme yüklenmeye hazır + + + + Would you like to restart app now? + Uygulamayı şimdi yeniden başlatmak ister misiniz? + QObject @@ -596,7 +788,7 @@ %1 mevcut değil. Yeniden isimlendirilmiş, taşınmış veya silimiş olabilir.<br>Dosyayı listeden kaldırmak istediğinize emin misiniz? - + File %1 cannot be opened or doesn't exists. %1 dosyası açılamıyor veya mevcut değil. @@ -605,147 +797,136 @@ Tüm desteklenen dosyalar (*.txt *.csv) - - + + All files (*.*) Tüm dosyalar (*.*) - + XML File (*.xml) - + XML Dosyası (*.xml) - - + + Access to file '%1' is denied! - + '%1' dosyasına erişim reddedildi! - + Read only - + Salt okunur - + + Skip this version - + Bu versiyonu atla - + + Remind me later - + Bana daha sonra hatırlat - + + Install update - + Güncellemeyi yükle - - Install on Next Start - + + + Install later + Daha sonra yükle - + + Save and Restart Now - + Şimdi Kaydet ve Yeniden Başlat - + + Save and Install Now Kurulum - + + Download update - + Güncellemeyi indir - + + Software Update - + Yazılım güncellemesi - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Sürüm notları - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Güncellemeleri yüklemeye başlarken bir hata oluştu! - + An error occurred while start replacing files: Update Service not found! - + Dosyaları değiştirmeye başlarken bir hata oluştu: Güncelleme Hizmeti bulunamadı! - + Cancel - İptal + İptal - + Yes - Evet + Evet - + No - Hayır + Hayır - + OK - Tamam + Tamam - + Skip - + Atla - + Buy Now - + Şimdi Satın Al - + Activate - + Etkinleştir - + Continue - + Devam Et An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Portal açılırken bir hata oluştu:<br>%1 &OK diff --git a/win-linux/langs/uk.qm b/win-linux/langs/uk.qm index eacfa98c0..2e8a66a96 100644 Binary files a/win-linux/langs/uk.qm and b/win-linux/langs/uk.qm differ diff --git a/win-linux/langs/uk.ts b/win-linux/langs/uk.ts index 31dfe492f..0b525c836 100644 --- a/win-linux/langs/uk.ts +++ b/win-linux/langs/uk.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Режим доповідача @@ -21,18 +21,18 @@ Усі вікна редактора будуть закриті. Продовжити? - - + + Document%1.docx Документ%1.docx - + Book%1.xlsx Книга%1.xlsx - + Presentation%1.pptx Презентація%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Відкриття... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Виберіть сертифікат - + select certificate file... виберіть файл сертифіката... - + Certifacate password: Пароль сертифіката: - + select key file... виберіть файл ключа... - + Key password: Пароль ключа: - - - - + + + + Open Document - Відкрити документ + Відкрити документ - + Enter certificate path Введіть шлях до сертифіката - + Certificate is not supported Сертифікат не підтримується - + Enter certificate password Введіть пароль сертифіката - + Wrong certificate password.<br>Please enter again Неправильний пароль сертифіката.<br>Введіть пароль ще раз - + Enter valid private key Введіть припустимий закритий ключ - + Key is not supported Ключ не підтримується - + Enter key password Введіть пароль ключа @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Відмінити @@ -149,27 +149,27 @@ %1 змінено.<br>Зберегти зміни? - + Some data will lost.<br>Continue? Якщо продовжити зберігання в цьому форматі, усі функції, крім тексту, буде втрачено.<br>Продовжити? - + Open main window Відкрити головне вікно - + Document must be saved to continue.<br>Save the document? Щоб продовжити, потрібно зберегти документ.<br>Зберегти документ? - + Print Document Друк документа - + Document must be saved firstly. You must save the document first. @@ -177,337 +177,383 @@ CEditorWindowPrivate - + There are no printers available - + Немає доступних принтерів CFileDialogWrapper - + All files (*.*) Усі файли (*.*) - DOCX Document (*.docx) - Документ Office Open XML (*.docx) + Документ Office Open XML (*.docx) - Document template (*.dotx) - Шаблон документа Word Open XML (*.dotx) + Шаблон документа Word Open XML (*.dotx) - + DOC Document (*.doc) Документ Word 97-2003 (*.doc) - + ODT Document (*.odt) Текстовий файл OpenDocument (*.odt) - OpenDocument Document template (*.ott) - Шаблон документа OpenDocument (*.ott) + Шаблон документа OpenDocument (*.ott) - + RTF File (*.rtf) Файл вдосконаленого текстового формату (*.rtf) - + TXT File (*.txt) Звичайний текстовий файл (*.txt) - + HTML File (*.html) Файл мови гіпертекстової розмітки (*.html) - + MHT File (*.mht) Файл архіву веб-сторінки (*.mht) - + EPUB File (*.epub) Файл електронної публікації (*.epub) - + FB2 File (*.fb2) Файл FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Електронна книга Mobipocket (*.mobi) - + OFORM Document (*.oform) Онлайн-форма для заповнення ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Шаблон форми ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Презентація Office Open XML (*.pptx) - + PPT File (*.ppt) Презентація PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - Шаблон презентації PowerPoint Open XML (*.potx) + Шаблон презентації PowerPoint Open XML (*.potx) - + ODP File (*.odp) Презентація OpenDocument (*.odp) - OpenDocument Presentation Template (*.otp) - Шаблон презентації OpenDocument (*.otp) + Шаблон презентації OpenDocument (*.otp) - + PPSX File (*.ppsx) Показ слайдів Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + Файл презентації з підтримкою макросів (*.pptm) - + XLSX File (*.xlsx) Електронна таблиця Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Шаблон електронної таблиці Excel Open XML (*.xltx) + Шаблон електронної таблиці Excel Open XML (*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Електронна таблиця Excel 97-2003 (*.xls) - + ODS File (*.ods) Електронна таблиця OpenDocument (*.ods) - OpenDocument Spreadsheet Template (*.ots) - Шаблон електронної таблиці OpenDocument (*.ots) + Шаблон електронної таблиці OpenDocument (*.ots) - + + DOCX Document + Документ DOCX + + + + OpenDocument Document template + Шаблон документа OpenDocument + + + + OpenDocument Presentation Template + Шаблон презентації OpenDocument + + + + Macro-enabled spreadsheet template + Шаблон електронної таблиці з підтримкою макросів + + + + OpenDocument Spreadsheet Template + Шаблон електронної таблиці OpenDocument + + + CSV File (*.csv) Значення, розділені комами (*.csv) - + PDF File (*.pdf) Портативний документ (*.pdf) - + PDFA File (*.pdf) Портативний документ /A (*.pdf) - + DJVU File (*.djvu) Цифровий документ (*.djvu) - + XPS File (*.xps) Документ OpenXPS (*.xps) - + + SVG Image (*.svg) + Зображення SVG (*.svg) + + + JPG Image (*.jpg *.jpeg) - + Зображення JPG (*.jpg *.jpeg) - + PNG Image (*.png) Зображення PNG (*.png) - + Save As Зберегти як - + %1 already exists.<br>Do you want to replace it? %1 вже існує.<br>Замінити? - + Word Document Документ Word - + Excel Workbook Електронна таблиця Excel - + PowerPoint Presentation Презентація PowerPoint - + %1 File (*.%2) Файл %1 (*.%2) - - - + + + Text documents Текстові документи - - - + + + Spreadsheets Електронні таблиці - - - + + + Presentations Презентації - + Web Page Веб-сторінка - + Text files Текстові файли - - - + + + All supported files - + Усі підтримувані файли + + + + + Spreadsheet template + Шаблон електронної таблиці - + + + Presentation template + Шаблон презентації + + + + + Document template + Шаблон документа + + + Open Document Відкрити документ - - + + All Images Усі зображення - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Файл Plugin (*.plugin) - + Video file Файл відео - + Audio file Файл аудіо - + Select Folder - + Вибрати папку CMainWindow - - + + More than one document is open.<br>Close the window anyway? + Відкрито більше одного документа.<br>Все одно закрити вікно? + + + + Don't ask again. + Більше не запитувати. + + + + File format not supported. - Формат файлу не підтримується. + Формат файлу не підтримується. - + %1 doesn't exists!<br>Remove file from the list? - Файл %1 недоступний. Він може бути перейменований, переміщений або видалений.<br>Видалити цей файл зі списку? + Файл %1 недоступний. Він може бути перейменований, переміщений або видалений.<br>Видалити цей файл зі списку? - + Document must be saved firstly. - You must save the document first. + You must save the document first. - + Document must be saved to continue.<br>Save the document? - Щоб продовжити, потрібно зберегти документ.<br>Зберегти документ? + Щоб продовжити, потрібно зберегти документ.<br>Зберегти документ? - + There are no printers available - + Немає доступних принтерів - + Print Document - Друк документа + Друк документа - + Sign Up - Створити портал + Створити портал - + %1 is modified.<br>Do you want to keep changes? - %1 змінено.<br>Зберегти зміни? + %1 змінено.<br>Зберегти зміни? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Друк документа: сторінка %1 з %2 - + Document is preparing Підготовка документа - + &Cancel &Відмінити - + Printing... Друк... @@ -567,26 +613,172 @@ CUpdateManager - + + Check for updates + Перевірка оновлень + + + + Unable to check update: URL not defined. + Не вдалося перевірити оновлення: URL-адреса не визначена. + + + + To finish updating, restart app + Щоб завершити оновлення, перезапустіть застосунок + + + + Restart + Перезапустити + + + + Checking for updates... + Перевіряння оновлень… + + + + Updates are not allowed! + Оновлення не дозволені! + + + This folder configuration does not allow for updates! The folder name should be: + Ця конфігурація папки не дозволяє оновлення! Назва папки має бути: + + + + An error occurred while check updates: Update Service not found! + Під час перевірки оновлень сталася помилка: служба оновлень не знайдена! + + + + Downloading new version %1 (%2%) + Завантаження нової версії %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + Під час завантаження оновлень сталася помилка: служба оновлень не знайдена! + + + + Cancel + Відмінити + + + + An error occurred while loading updates: package Url is empty! + Під час завантаження оновлень сталася помилка: URL-адреса пакета порожня! + + + + Update package error: md5 sum does not match the original. + Помилка пакета оновлення: сума md5 не відповідає оригіналу. + + + + Preparing update... + Підготування оновлення… + + + + An error occurred while unzip updates: Update Service not found! + Під час розпакування оновлень сталася помилка: служба оновлень не знайдена! + + + + Update is available (version %1) + Оновлення доступне (версія %1) + + + + Download update + Завантажити оновлення + + + + Current version is up to date + Поточна версія є актуальною + + + + An error occured while unpacking the archive - - - A new version of %1 is available! + + Update download failed: out of memory! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + Останню перевірку виконано %1 + + + + Error opening JSON file. + + + + + Update is available + Оновлення доступне + + + + + Current version + Поточна версія + + + + + Update version + Версія оновлення + + + + Would you like to download update now? + Бажаєте завантажити оновлення зараз? + + + + Update is ready to install + Оновлення готове до інсталювання + + + + Would you like to restart app now? + Бажаєте перезапустити застосунок зараз? + QObject @@ -596,7 +788,7 @@ Файл %1 недоступний. Він може бути перейменований, переміщений або видалений.<br>Видалити цей файл зі списку? - + File %1 cannot be opened or doesn't exists. Файл %1 не може бути відкритий або не існує. @@ -605,147 +797,136 @@ Усі підтримувані файли (*.txt *.csv) - - + + All files (*.*) Усі файли (*.*) - + XML File (*.xml) - + Файл XML (*.xml) - - + + Access to file '%1' is denied! - + Доступ до файлу '%1' заборонено! - + Read only - + Лише для читання - + + Skip this version - + Пропустити цю версію - + + Remind me later - + Нагадати мені пізніше - + + Install update - + Інсталювати оновлення - - Install on Next Start - + + + Install later + Інсталювати пізніше - + + Save and Restart Now - + Зберегти й перезапустити зараз - + + Save and Install Now Установити - + + Download update - + Завантажити оновлення - + + Software Update - + Оновлення програмного забезпечення - + + Release notes - - - - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - + Нотатки про випуск - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + Під час запуску інсталювання оновлень сталася помилка! - + An error occurred while start replacing files: Update Service not found! - + Під час запуску заміни файлів сталася помилка: служба оновлень не знайдена! - + Cancel - Відмінити + Відмінити - + Yes - Так + Так - + No - Ні + Ні - + OK - OK + OK - + Skip - + Пропустити - + Buy Now - + Купити зараз - + Activate - + Активувати - + Continue - + Продовжити An error occurred while opening the portal:<br>%1 - - - - - App can't working correctly under admin rights. - + Під час відкриття порталу сталася помилка:<br>%1 &OK diff --git a/win-linux/langs/vi.qm b/win-linux/langs/vi.qm index 7adc685a1..faf9ca1da 100644 Binary files a/win-linux/langs/vi.qm and b/win-linux/langs/vi.qm differ diff --git a/win-linux/langs/vi.ts b/win-linux/langs/vi.ts index 209308b17..af4029f44 100644 --- a/win-linux/langs/vi.ts +++ b/win-linux/langs/vi.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View Chế độ xem của người thuyết trình @@ -21,18 +21,18 @@ Tất cả màn hình chỉnh sửa sẽ được đóng. Bạn có muốn tiếp tục không? - - + + Document%1.docx Document%1.docx - + Book%1.xlsx Book%1.xlsx - + Presentation%1.pptx Presentation%1.pptx @@ -40,8 +40,8 @@ CAscTabWidget - - + + Document Đang mở... @@ -65,70 +65,70 @@ CDialogOpenSsl - + Select certificate Chọn chứng nhận - + select certificate file... chọn tập tin chứng nhận... - + Certifacate password: Mật khẩu của chứng nhận: - + select key file... chọn tập tin mã khóa... - + Key password: Mật khẩu mã khóa: - - - - + + + + Open Document Mở tài liệu - + Enter certificate path Nhập đường dẫn đến chứng nhận - + Certificate is not supported Chứng nhận không được hỗ trợ - + Enter certificate password Nhập mật khẩu của chứng nhận - + Wrong certificate password.<br>Please enter again Mật khẩu chứng nhận bị sai.<br>Vui lòng nhập lại - + Enter valid private key Hãy nhập mã khóa riêng hợp lệ - + Key is not supported Mã khóa không được hỗ trợ - + Enter key password Nhập mật khẩu mã khóa @@ -136,7 +136,7 @@ CDownloadWidget - + Cancel Hủy @@ -149,27 +149,27 @@ %1 đã được chỉnh sửa.<br>Bạn có muốn lưu thay đổi không? - + Some data will lost.<br>Continue? Nếu bạn tiếp tục lưu theo định dạng này, tất cả các tính năng ngoại trừ văn bản sẽ bị mất đi.<br>Bạn có chắc muốn tiếp tục không? - + Open main window Mở cửa sổ chính - + Document must be saved to continue.<br>Save the document? Phải lưu tài liệu để tiếp tục.<br>Lưu tài liệu? - + Print Document In tài liệu - + Document must be saved firstly. Cần lưu tài liệu trước. @@ -177,7 +177,7 @@ CEditorWindowPrivate - + There are no printers available @@ -185,283 +185,319 @@ CFileDialogWrapper - + All files (*.*) Tất cả tập tin (*.*) - DOCX Document (*.docx) - Tài liệu Office Open XML (*.docx) + Tài liệu Office Open XML (*.docx) - Document template (*.dotx) - Word Open XML Mẫu văn bản (*.dotx) + Word Open XML Mẫu văn bản (*.dotx) - + DOC Document (*.doc) Tài liệu Word 97-2003 (*.doc) - + ODT Document (*.odt) OpenDocument File văn bản (*.odt) - OpenDocument Document template (*.ott) - OpenDocument Mẫu văn bản (*.ott) + OpenDocument Mẫu văn bản (*.ott) - + RTF File (*.rtf) Tệp định dạng văn bản đa dạng thức (*.rtf) - + TXT File (*.txt) Tập tin văn bản thuần (*.txt) - + HTML File (*.html) Tập tin HyperText Markup Language (*.html) - + MHT File (*.mht) Tập tin kho lưu trữ trang web (*.mht) - + EPUB File (*.epub) Tập tin Electronic Publication (*.epub) - + FB2 File (*.fb2) Tập tin FictionBook 2 (*.fb2) - + MOBI File (*.mobi) Sách điện tử Mobipocket (*.mobi) - + OFORM Document (*.oform) Biểu mẫu trực tuyến có thể điền ONLYOFFICE (*.oform) - + DOCXF Document (*.docxf) Mẫu biểu mẫu tài liệu ONLYOFFICE (*.docxf) - + PPTX File (*.pptx) Bản trình bày Office Open XML (*.pptx) - + PPT File (*.ppt) Bản trình bày PowerPoint 97-2003 (*.ppt) - Presentation template (*.potx) - PowerPoint Open XML Mẫu trình chiếu (*.potx) + PowerPoint Open XML Mẫu trình chiếu (*.potx) - + ODP File (*.odp) OpenDocument Trình chiếu (*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument Mẫu trình chiếu (*.otp) + OpenDocument Mẫu trình chiếu (*.otp) - + PPSX File (*.ppsx) Trình chiếu Office Open XML (*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Bảng tính Office Open XML (*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML Mẫu bảng tính (*.xltx) - - - - Macro-enabled spreadsheet template (*.xltm) - + Excel Open XML Mẫu bảng tính (*.xltx) - + XLS File (*.xls) Bảng tính Excel 97-2003 (*.xls) - + ODS File (*.ods) OpenDocument Bảng tính (*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument Mẫu bảng tính (*.ots) + OpenDocument Mẫu bảng tính (*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) Các giá trị được ngăn cách với nhau bằng dấu phẩy (*.csv) - + PDF File (*.pdf) Tài liệu di động (*.pdf) - + PDFA File (*.pdf) Tài liệu di động /A (*.pdf) - + DJVU File (*.djvu) Tài liệu kỹ thuật số (*.djvu) - + XPS File (*.xps) Tài liệu OpenXPS (*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) - + PNG Image (*.png) Hình ảnh PNG (*.png) - + Save As Lưu thành - + %1 already exists.<br>Do you want to replace it? %1 đã tồn tại.<br>Bạn có muốn thay thế nó? - + Word Document Tập tin Word - + Excel Workbook Bảng tính Excel - + PowerPoint Presentation Tập tin trình chiếu PowerPoint - + %1 File (*.%2) Tập tin %1 (*.%2) - - - + + + Text documents Tập tin văn bản - - - + + + Spreadsheets Bảng tính - - - + + + Presentations Tập tin trình chiếu - + Web Page Trang web - + Text files Các tập tin văn bản - - - + + + All supported files - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document Mở tài liệu - - + + All Images Tất cả hình ảnh - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) Tập tin plugin (*.plugin) - + Video file Tập tin video - + Audio file Tập tin âm thanh - + Select Folder @@ -469,43 +505,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. Định dạng tập tin không được hỗ trợ. - + %1 doesn't exists!<br>Remove file from the list? Không có %1. Có thể nó đã được đổi tên, chuyển đi hay xóa.<br>Bạn có muốn xóa tập tin này khỏi danh sách không? - + Document must be saved firstly. Cần lưu tài liệu trước. - + Document must be saved to continue.<br>Save the document? Phải lưu tài liệu để tiếp tục.<br>Lưu tài liệu? - + There are no printers available - + Print Document In tài liệu - + Sign Up Tạo cổng - + %1 is modified.<br>Do you want to keep changes? %1 đã được chỉnh sửa.<br>Bạn có muốn lưu thay đổi không?? @@ -544,22 +590,22 @@ CPrintProgress - + Document is printing: page %1 of %2 Đang in tài liệu: trang %1 trên %2 - + Document is preparing Đang chuẩn bị tài liệu - + &Cancel &Hủy - + Printing... Đang in... @@ -567,24 +613,170 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - - A new version of %1 is available! + + An error occurred while check updates: Update Service not found! - - %1 %2 is now available (you have %3). Would you like to download it now? + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + Hủy + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! - - %1 %2 is now downloaded (you have %3). Would you like to install it now? + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? @@ -596,7 +788,7 @@ Không có %1. Có thể nó đã được đổi tên, chuyển đi hay xóa.<br>Bạn có muốn xóa tập tin này khỏi danh sách không? - + File %1 cannot be opened or doesn't exists. Không thê ̉ mở tập tin %1 hoặc tập tin không tồn tại. @@ -605,135 +797,129 @@ Tất cả các tập tin được hỗ trợ̣ (*.txt *.csv) - - + + All files (*.*) Tất cả tập tin (*.*) - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only - + + Skip this version - + + Remind me later - + + Install update - - Install on Next Start + + + Install later - + + Save and Restart Now - + + Save and Install Now Cài đặt - + + Download update - + + Software Update - + + Release notes - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel Hủy - + Yes - + No Không - + OK OK - + Skip - + Buy Now - + Activate - + Continue @@ -742,11 +928,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &OK diff --git a/win-linux/langs/zh_CN.qm b/win-linux/langs/zh_CN.qm index 33344355c..6da1559f5 100644 Binary files a/win-linux/langs/zh_CN.qm and b/win-linux/langs/zh_CN.qm differ diff --git a/win-linux/langs/zh_CN.ts b/win-linux/langs/zh_CN.ts index 0bd6e122e..e3a5855a3 100644 --- a/win-linux/langs/zh_CN.ts +++ b/win-linux/langs/zh_CN.ts @@ -4,7 +4,7 @@ CAscApplicationManagerWrapper - + Presenter View 演示者视图 @@ -21,18 +21,18 @@ 所有编辑器窗口都将关闭。 你想继续吗? - - + + Document%1.docx 文档%1.docx - + Book%1.xlsx 工作簿%1.xlsx - + Presentation%1.pptx 演示文稿%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document 打开中... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate 选择证书 - + select certificate file... 选择证书文件… - + Certifacate password: 证书密码: - + select key file... 选择证书文件… - + Key password: 密钥密码: - - - - + + + + Open Document 打开文档 - + Enter certificate path 输入证书路径 - + Certificate is not supported 不支持该证书 - + Enter certificate password 输入证书密码 - + Wrong certificate password.<br>Please enter again 证书密码错误。<br>请重新输入 - + Enter valid private key 输入有效私钥 - + Key is not supported 不支持该密钥 - + Enter key password 输入密钥密码 @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel 取消 @@ -160,22 +160,22 @@ CEditorWindow - + Open main window 打开主要窗口 - + Document must be saved to continue.<br>Save the document? 文档必须先保存才能继续。<br>是否保存文档? - + Print Document 打印文件 - + Document must be saved firstly. 必须先保存文档。 @@ -185,7 +185,7 @@ %1已被修改。<br>您要保存更改吗? - + Some data will lost.<br>Continue? 如果您继续以此格式保存,除文本之外的所有功能将丢失。<br>您确定要继续吗? @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available 无可用的打印机 @@ -201,283 +201,323 @@ CFileDialogWrapper - + All files (*.*) 所有文件 (*.*) - DOCX Document (*.docx) - Office Open XML 文档(*.docx) + Office Open XML 文档(*.docx) - Document template (*.dotx) - Word开放式XML文档模板(*.dotx) + Word开放式XML文档模板(*.dotx) - + DOC Document (*.doc) Word 97-2003 文档(*.doc) - + ODT Document (*.odt) OpenDocument文本文件(*.odt) - OpenDocument Document template (*.ott) - OpenDocument文档模板(*.ott) + OpenDocument文档模板(*.ott) - + RTF File (*.rtf) 富文本格式(*.rtf) - + TXT File (*.txt) 纯文本文件(*.txt) - + HTML File (*.html) 超文本标记语言文件(*.html) - + MHT File (*.mht) 网页存档文件(*.mht) - + EPUB File (*.epub) 电子出版物文件(*.epub) - + FB2 File (*.fb2) 小说书2文件(*.fb2) - + MOBI File (*.mobi) Mobipocket文件(*.mobi) - + OFORM Document (*.oform) ONLYOFFICE可填写的在线表格(*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE表单模板(*.docxf) - + PPTX File (*.pptx) Office Open XML 演示文稿(*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 演示文稿(*.ppt) - Presentation template (*.potx) - PowerPoint开放式XML演示模板(*.potx) + PowerPoint开放式XML演示模板(*.potx) - + ODP File (*.odp) OpenDocument演示文稿(*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument演示模板(*.otp) + OpenDocument演示模板(*.otp) - + PPSX File (*.ppsx) Office Open XML 幻灯片(*.ppsx) - + Macro-enabled Presentation File (*.pptm) 支持宏的演示文稿(*.pptm) - + XLSX File (*.xlsx) Office Open XML 电子表格(*.xlsx) - Spreadsheet template (*.xltx) - Excel开放式XML电子表格模板(*.xltx) + Excel开放式XML电子表格模板(*.xltx) - Macro-enabled spreadsheet template (*.xltm) - 支持宏的电子表格模板(*.xltm) + 支持宏的电子表格模板(*.xltm) - + XLS File (*.xls) Excel 97-2003 电子表格(*.xls) - + ODS File (*.ods) OpenDocument电子表格(*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument电子表格模板(*.ots) + OpenDocument电子表格模板(*.ots) - + + DOCX Document + DOCX 文档 + + + + OpenDocument Document template + OpenDocument 文本文档模板 + + + + OpenDocument Presentation Template + OpenDocument 演示文稿模板 + + + + Macro-enabled spreadsheet template + 支持宏的电子表格模板 + + + + OpenDocument Spreadsheet Template + OpenDocument 电子表格模板 + + + CSV File (*.csv) 逗号分隔值(*.csv) - + PDF File (*.pdf) 便携式文件(*.pdf) - + PDFA File (*.pdf) 便携式文件/A (*.pdf) - + DJVU File (*.djvu) 数字文件(*.djvu) - + XPS File (*.xps) OpenXPS文件(*.xps) - + + SVG Image (*.svg) + SVG 图像 (*.svg) + + + JPG Image (*.jpg *.jpeg) JPG图像(*.jpg, *jpeg) - + PNG Image (*.png) PNG图像(*.png) - + Save As 另存为 - + %1 already exists.<br>Do you want to replace it? %1%1已存在。<br>您要替换它吗? - + Word Document Word文档 - + Excel Workbook Excel 电子表格 - + PowerPoint Presentation PowerPoint演示文稿 - + %1 File (*.%2) %1 文件 (*.%2) - - - + + + Text documents 文本文档 - - - + + + Spreadsheets 电子表格 - - - + + + Presentations 演示文稿 - + Web Page 网页 - + Text files 文本文件 - - - + + + All supported files 所有支持的文件 - + + + Spreadsheet template + 电子表格模板 + + + + + Presentation template + 演示文稿模板 + + + + + Document template + 文本文档模板 + + + Open Document 打开文档 - - + + All Images 打开文档 - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) 插件文件(*.plugin) - + Video file 視訊檔案 - + Audio file 音訊檔案 - + Select Folder 选择文件夹 @@ -485,43 +525,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + 您还有其他已打开的文档。<br>无论如何都要关闭? + + + + Don't ask again. + 别再问了。 + + + + File format not supported. 不支持该文件格式。 - + %1 doesn't exists!<br>Remove file from the list? %1不可用。它可能被重命名、移动或删除。<br>您要从列表中删除该文件吗? - + Document must be saved firstly. 必须先保存文档。 - + Document must be saved to continue.<br>Save the document? 文档必须先保存才能继续。<br>是否保存文档? - + There are no printers available 无可用的打印机 - + Print Document 打印文件 - + Sign Up 创建门户 - + %1 is modified.<br>Do you want to keep changes? %1已被修改。<br>您要保存更改吗? @@ -564,22 +614,22 @@ CPrintProgress - + Document is printing: page %1 of %2 正在打印文档:第%1页,共%2页 - + Document is preparing 准备文件中 - + &Cancel &取消 - + Printing... 打印中… @@ -587,25 +637,191 @@ CUpdateManager - + Last check performed + 上次检查 + + + + Check for updates + 检查更新 + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + 要完成更新,请重新启动应用程序 + + + + Restart + 重新启动 + + + + Checking for updates... + 检查更新... + + + + Updates are not allowed! + 不允许更新! + + + This folder configuration does not allow for updates! The folder name should be: + 此文件夹配置不允许更新!文件夹名称应为: + + + + An error occurred while check updates: Update Service not found! + 检查更新时发生错误: 未找到更新服务! + + + + Downloading new version %1 (%2%) + 下载新版本 %1 (%2%) + + + + An error occurred while loading updates: Update Service not found! + 加载更新时发生错误: 未找到更新服务! + + + Downloading new version %1 (0%) + 下载新版本 %1 (0%) + + + + Cancel + 取消 + + + + An error occurred while loading updates: package Url is empty! + 加载更新时发生错误:软件包 Url 为空! + + + + Update package error: md5 sum does not match the original. + 更新软件包错误:md5 不匹配。 + + + + Preparing update... + 准备更新... + + + + An error occurred while unzip updates: Update Service not found! + 解压更新时发生错误: 未找到更新服务! + + + + Update is available (version %1) + 可更新(版本 %1) + + + + Download update + 下载更新 + + + + Current version is up to date + 当前版本已更新 + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. - - + + Update is available + 可更新 + + + + + Current version + 当前版本 + + + + + Update version + 更新版本 + + + + Would you like to download update now? + 现在要下载更新吗? + + + + Update is ready to install + 更新已准备就绪,可以安装 + + + + Would you like to restart app now? + 现在要重启应用程序吗? + + A new version of %1 is available! - %1 的新版本现已发布! + %1 的新版本现已发布! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2 现已可用(您使用的是 %3)。您是否要立即下载新版本? + %1 %2 现已可用(您使用的是 %3)。您是否要立即下载新版本? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2 已经下载完成(您使用的是 %3)。您是否要立即安装新版本? + %1 %2 已经下载完成(您使用的是 %3)。您是否要立即安装新版本? @@ -616,7 +832,7 @@ %1不可用。它可能被重命名、移动或删除。<br>您要从列表中删除该文件吗? - + File %1 cannot be opened or doesn't exists. 文件%1无法打开或不存在。 @@ -625,8 +841,8 @@ 所有支持的文件(*.txt *.csv) - - + + All files (*.*) 所有文件 (*.*) @@ -635,141 +851,150 @@ 所有支持的文件 - + XML File (*.xml) - + XML 文件 (*.xml) - - + + Access to file '%1' is denied! - + 拒绝访问‘%1’文件! - + Read only 只读 - + + Skip this version 跳过此版本 - + + Remind me later 稍后提醒我 - + + Install update 安装更新 - Install on Next Start - 在下次启动时安装 + 在下次启动时安装 - + + + Install later + 稍后安装 + + + + Save and Restart Now 保存并重新启动 - + + Save and Install Now 安装 - + + Download update 下载更新 - + + Software Update 软件更新 - + + Release notes 产品发布新闻 - An error occurred while check updates: Update Service not found! - + 检查更新时发生错误: 未找到更新服务! - An error occurred while loading updates: Update Service not found! - + 加载更新时发生错误: 未找到更新服务! - An error occurred while unzip updates: Update Service not found! - + 解压更新时发生错误: 未找到更新服务! - + An error occurred while start install updates! - + 开始安装更新时发生错误! - + An error occurred while start replacing files: Update Service not found! - + 开始替换文件时发生错误: 未找到更新服务! - + Cancel - 取消 + 取消 - + Yes - + - + No - + - + OK - 确定 + 确定 - + Skip - 跳过 + 跳过 - + Buy Now - + 立即购买 - + Activate - + 激活 - + Continue - + 继续 An error occurred while opening the portal:<br>%1 - + 打开门户网站时发生错误: <br>%1 - App can't working correctly under admin rights. - + 应用程序在管理员权限下无法正常运行。 &OK diff --git a/win-linux/langs/zh_HK.qm b/win-linux/langs/zh_HK.qm deleted file mode 100644 index 559acae92..000000000 Binary files a/win-linux/langs/zh_HK.qm and /dev/null differ diff --git a/win-linux/langs/zh_TW.qm b/win-linux/langs/zh_TW.qm new file mode 100644 index 000000000..3597eb500 Binary files /dev/null and b/win-linux/langs/zh_TW.qm differ diff --git a/win-linux/langs/zh_HK.ts b/win-linux/langs/zh_TW.ts similarity index 71% rename from win-linux/langs/zh_HK.ts rename to win-linux/langs/zh_TW.ts index 29a9165db..338384901 100644 --- a/win-linux/langs/zh_HK.ts +++ b/win-linux/langs/zh_TW.ts @@ -1,10 +1,10 @@ - + CAscApplicationManagerWrapper - + Presenter View 簡報者檢視畫面 @@ -21,18 +21,18 @@ 所有編輯器視窗將會關閉。您要繼續嗎? - - + + Document%1.docx 文件%1.docx - + Book%1.xlsx 書%1.xlsx - + Presentation%1.pptx 簡報%1.pptx @@ -56,8 +56,8 @@ CAscTabWidget - - + + Document 開啟中... @@ -81,70 +81,70 @@ CDialogOpenSsl - + Select certificate 選擇憑證 - + select certificate file... 選擇憑證檔案... - + Certifacate password: 憑證密碼: - + select key file... 選擇金鑰檔案... - + Key password: 金鑰密碼: - - - - + + + + Open Document 開啟文件 - + Enter certificate path 輸入憑證路徑 - + Certificate is not supported 不支持憑證 - + Enter certificate password 輸入憑證密碼 - + Wrong certificate password.<br>Please enter again 憑證密碼錯誤<br>請再輸入一次 - + Enter valid private key 輸入有效的私密金鑰 - + Key is not supported 不支持金鑰 - + Enter key password 輸入金鑰密碼 @@ -152,7 +152,7 @@ CDownloadWidget - + Cancel 取消 @@ -165,27 +165,27 @@ %1 已經被修改。<br>您要儲存變更嗎? - + Some data will lost.<br>Continue? 如您繼續以此格式儲存,除了文字以外的所有功能都將會遺失。<br>您確定要繼續嗎? - + Open main window 開啟主視窗 - + Document must be saved to continue.<br>Save the document? 必須先儲存文件才能繼續。<br>儲存文件? - + Print Document 列印文件 - + Document must be saved firstly. 必須先儲存文件。 @@ -193,7 +193,7 @@ CEditorWindowPrivate - + There are no printers available 沒有可用的印表機 @@ -201,283 +201,319 @@ CFileDialogWrapper - + All files (*.*) 所有檔案 (*.*) - DOCX Document (*.docx) - Office Open XML 文件(*.docx) + Office Open XML 文件(*.docx) - Document template (*.dotx) - Word Open XML 文件範本(*.dotx) + Word Open XML 文件範本(*.dotx) - + DOC Document (*.doc) Word 97-2003 文件(*.doc) - + ODT Document (*.odt) OpenDocument文件(*.odt) - OpenDocument Document template (*.ott) - OpenDocument文件範本(*.ott) + OpenDocument文件範本(*.ott) - + RTF File (*.rtf) RTF 檔案(*.rtf) - + TXT File (*.txt) 純文字(*.txt) - + HTML File (*.html) HTML 檔案(*.html) - + MHT File (*.mht) MHT 檔案 (*.mht) - + EPUB File (*.epub) EPUB 檔案(*.epub) - + FB2 File (*.fb2) FB2 檔案(*.fb2) - + MOBI File (*.mobi) Mobipocket 電子書(*.mobi) - + OFORM Document (*.oform) ONLYOFFICE可填写的在线表格(*.oform) - + DOCXF Document (*.docxf) ONLYOFFICE 文档表单模板(*.docxf) - + PPTX File (*.pptx) Office Open XML 簡報(*.pptx) - + PPT File (*.ppt) PowerPoint 97-2003 簡報(*.ppt) - Presentation template (*.potx) - PowerPoint Open XML 簡報範本(*.potx) + PowerPoint Open XML 簡報範本(*.potx) - + ODP File (*.odp) OpenDocument簡報(*.odp) - OpenDocument Presentation Template (*.otp) - OpenDocument簡報範本(*.otp) + OpenDocument簡報範本(*.otp) - + PPSX File (*.ppsx) Office Open XML 投影片(*.ppsx) - + Macro-enabled Presentation File (*.pptm) - + XLSX File (*.xlsx) Office Open XML 試算表(*.xlsx) - Spreadsheet template (*.xltx) - Excel Open XML 試算表範本(*.xltx) + Excel Open XML 試算表範本(*.xltx) - - Macro-enabled spreadsheet template (*.xltm) - - - - + XLS File (*.xls) Excel 97-2003 試算表(*.xls) - + ODS File (*.ods) OpenDocument 試算表(*.ods) - OpenDocument Spreadsheet Template (*.ots) - OpenDocument試算表範本(*.ots) + OpenDocument試算表範本(*.ots) - + + DOCX Document + + + + + OpenDocument Document template + + + + + OpenDocument Presentation Template + + + + + Macro-enabled spreadsheet template + + + + + OpenDocument Spreadsheet Template + + + + CSV File (*.csv) 逗點分隔值(*.csv) - + PDF File (*.pdf) PDF 檔案(*.pdf) - + PDFA File (*.pdf) PDF/單一檔案(*.pdf) - + DJVU File (*.djvu) DjVu 檔案(*.djvu) - + XPS File (*.xps) OpenXPS 檔案(*.xps) - + + SVG Image (*.svg) + + + + JPG Image (*.jpg *.jpeg) JPG圖像 (*.jpg *.jpeg) - + PNG Image (*.png) PNG圖像 (*.png) - + Save As 另存新檔 - + %1 already exists.<br>Do you want to replace it? %1 已經存在。<br>您要取代它嗎? - + Word Document Word 文件 - + Excel Workbook Excel 試算表 - + PowerPoint Presentation PowerPoint 簡報 - + %1 File (*.%2) %1 檔案 (*.%2) - - - + + + Text documents 文字文件 - - - + + + Spreadsheets 試算表 - - - + + + Presentations 簡報 - + Web Page 網頁 - + Text files 文字檔 - - - + + + All supported files 所有支援的檔案 - + + + Spreadsheet template + + + + + + Presentation template + + + + + + Document template + + + + Open Document 開啟文件 - - + + All Images 所有影像 - - + + Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) Jpeg (*.jpeg *.jpg);;Png (*.png);;Gif (*.gif);;Bmp (*.bmp) - - + + Plugin file (*.plugin) 外掛程式檔案 (*.plugin) - + Video file 影片檔案 - + Audio file 音訊檔案 - + Select Folder 選擇資料夾 @@ -485,43 +521,53 @@ CMainWindow - - + + More than one document is open.<br>Close the window anyway? + + + + + Don't ask again. + + + + + File format not supported. 不支援檔案格式。 - + %1 doesn't exists!<br>Remove file from the list? %1 無法使用。它可能已被重新命名、移動或刪除。<br>您要從清單中移除檔案嗎? - + Document must be saved firstly. 文件必須先完成儲存。 - + Document must be saved to continue.<br>Save the document? 必須先儲存文件才能繼續。<br>儲存文件? - + There are no printers available 沒有可用的印表機 - + Print Document 列印文件 - + Sign Up 建立入口 - + %1 is modified.<br>Do you want to keep changes? %1 已經被修改。<br>您要儲存變更嗎? @@ -564,22 +610,22 @@ CPrintProgress - + Document is printing: page %1 of %2 文件列印中:第 %1 頁,共 %2 頁 - + Document is preparing 文件準備中 - + &Cancel &取消 - + Printing... 列印中... @@ -587,25 +633,183 @@ CUpdateManager - + + Check for updates + + + + + Unable to check update: URL not defined. + + + + + To finish updating, restart app + + + + + Restart + + + + + Checking for updates... + + + + + Updates are not allowed! + + + + This folder configuration does not allow for updates! The folder name should be: - - + + An error occurred while check updates: Update Service not found! + + + + + Downloading new version %1 (%2%) + + + + + An error occurred while loading updates: Update Service not found! + + + + + Cancel + 取消 + + + + An error occurred while loading updates: package Url is empty! + + + + + Update package error: md5 sum does not match the original. + + + + + Preparing update... + + + + + An error occurred while unzip updates: Update Service not found! + + + + + Update is available (version %1) + + + + + Download update + 下載更新 + + + + Current version is up to date + + + + + An error occured while unpacking the archive + + + + + Update download failed: out of memory! + + + + + Update download failed: server connection error! + + + + + Update download failed: wrong URL! + + + + + Update download failed: unable to create file! + + + + + Update download failed: network error! + + + + + A service error has occurred! + + + + + Last check performed %1 + + + + + Error opening JSON file. + + + + + Update is available + + + + + + Current version + + + + + + Update version + + + + + Would you like to download update now? + + + + + Update is ready to install + + + + + Would you like to restart app now? + + + A new version of %1 is available! - 新版本的%1已推出! + 新版本的%1已推出! - %1 %2 is now available (you have %3). Would you like to download it now? - %1 %2現已可用(您的版本為%3),您是否要立即下載? + %1 %2現已可用(您的版本為%3),您是否要立即下載? - %1 %2 is now downloaded (you have %3). Would you like to install it now? - %1 %2現已下載(您的版本為%3)。 您是否要立即安裝? + %1 %2現已下載(您的版本為%3)。 您是否要立即安裝? @@ -616,7 +820,7 @@ %1 無法使用。它可能已被重新命名、移動或刪除。<br>您要從清單中移除檔案嗎? - + File %1 cannot be opened or doesn't exists. 檔案%1無法開啟或不存在。 @@ -625,8 +829,8 @@ 所有支援的檔案(*.txt *.csv) - - + + All files (*.*) 所有檔案 (*.*) @@ -635,129 +839,127 @@ 所有支援的檔案 - + XML File (*.xml) - - + + Access to file '%1' is denied! - + Read only 只讀 - + + Skip this version 跳過此版本 - + + Remind me later 稍後提醒我 - + + Install update 安裝更新 - Install on Next Start - 下次啟動時安裝 + 下次啟動時安裝 - + + + Install later + + + + + Save and Restart Now 立即保存並重新啟動 - + + Save and Install Now 安裝 - + + Download update 下載更新 - + + Software Update 軟體更新 - + + Release notes 發行說明 - - An error occurred while check updates: Update Service not found! - - - - - An error occurred while loading updates: Update Service not found! - - - - - An error occurred while unzip updates: Update Service not found! - - - - + An error occurred while start install updates! - + An error occurred while start replacing files: Update Service not found! - + Cancel 取消 - + Yes - + No - + OK - + Skip 跳過 - + Buy Now - + Activate - + Continue @@ -766,11 +968,6 @@ An error occurred while opening the portal:<br>%1 - - - App can't working correctly under admin rights. - - &OK &好 diff --git a/win-linux/package/linux/Makefile b/win-linux/package/linux/Makefile index 1f662e894..9ba820c5e 100644 --- a/win-linux/package/linux/Makefile +++ b/win-linux/package/linux/Makefile @@ -72,6 +72,14 @@ DEB_ASTRA = deb-astra/$(PACKAGE_NAME)_$(PACKAGE_VERSION)$(DEB_ASTRA_RELEASE_SUFF TAR = $(TAR_PACKAGE_DIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)$(TAR_RELEASE_SUFFIX)-$(TAR_ARCH).tar.xz HELP_TAR = $(TAR_PACKAGE_DIR)/$(PACKAGE_NAME)-help-$(PACKAGE_VERSION)$(TAR_RELEASE_SUFFIX)-any.tar.xz +NEWS_RPM = common/usr/share/doc/$(PACKAGE_NAME)/NEWS +NEWS_RPM_M4 = common/usr/share/doc/NEWS.m4 +CHANGELOG_RPM = common/usr/share/doc/$(PACKAGE_NAME)/ChangeLog +CHANGELOG_RPM_M4 = common/usr/share/doc/ChangeLog.m4 +CHANGELOG_DEB = deb/build/debian/changelog +CHANGELOG_DEB_M4 = deb/template/changelog.m4 +CHANGELOG_DEB_ASTRA = deb-astra/build/debian/changelog + ifeq ($(COMPANY_NAME), ONLYOFFICE) DESKTOPEDITORS_PREFIX := $(COMPANY_NAME_LOW)/$(PRODUCT_NAME_LOW) DESKTOPEDITORS_EXEC := $(PACKAGE_NAME) @@ -101,8 +109,9 @@ endif LINUX_DEPS += $(BIN_FILES) LINUX_DEPS += $(DESKTOP_FILES) LINUX_DEPS += $(SYMLINK) +LINUX_DEPS += $(CHANGELOG_RPM) -DEB_DEPS += deb/build/debian/changelog +DEB_DEPS += $(CHANGELOG_DEB) DEB_DEPS += deb/build/debian/compat DEB_DEPS += deb/build/debian/control DEB_DEPS += deb/build/debian/postinst @@ -115,7 +124,7 @@ DEB_DEPS += deb/build/debian/$(PACKAGE_NAME).install DEB_DEPS += deb/build/debian/$(PACKAGE_NAME).links DEB_DEPS += deb/build/debian/$(PACKAGE_NAME)-help.install -DEB_ASTRA_DEPS += deb-astra/build/debian/changelog +DEB_ASTRA_DEPS += $(CHANGELOG_DEB_ASTRA) DEB_ASTRA_DEPS += deb-astra/build/debian/compat DEB_ASTRA_DEPS += deb-astra/build/debian/control DEB_ASTRA_DEPS += deb-astra/build/debian/postinst @@ -192,6 +201,14 @@ else endif RPM_PARAMS += --define '_binary_payload w7.xzdio' +CHANGES_DIR = ../../../common/changes +ifeq ($(COMPANY_NAME), ONLYOFFICE) + CHANGES_HTML = changes.html +else + CHANGES_HTML = changes_ru.html +endif +CHANGES_DIR_LIST = $(shell ls -r $(CHANGES_DIR) | grep -v template) + .PHONY: all clean branding packages rpm deb deb-astra apt-rpm suse-rpm tar desktopeditor qt-redist libstdc++-addon libc-addon all: rpm deb apt-rpm urpmi suse-rpm tar @@ -249,6 +266,9 @@ clean: apt-rpm/$(PACKAGE_NAME).spec \ urpmi/$(PACKAGE_NAME).spec \ suse-rpm/$(PACKAGE_NAME).spec \ + $(shell dirname $(CHANGELOG_RPM)) \ + $(CHANGES_DIR)/*/changes_??? \ + $(CHANGES_DIR)/*/news_??? \ $(INSTALLER) branding: $(BRANDING_DIR) @@ -264,10 +284,10 @@ desktopeditor: branding $(LINUX_DEPS) cp -rf ../../../common/package/mimetypes common/opt/desktopeditors ifeq ($(COMPANY_NAME), ONLYOFFICE) - for path in common documenteditor presentationeditor spreadsheeteditor; do \ - mkdir -p common/help/desktopeditors/editors/web-apps/apps/$$path/main/resources; \ - mv -ft common/help/desktopeditors/editors/web-apps/apps/$$path/main/resources \ - common/opt/desktopeditors/editors/web-apps/apps/$$path/main/resources/help; \ + for path in common/opt/desktopeditors/editors/web-apps/apps/*/main/resources/help; do \ + path_new=$$(echo $$path | sed 's|/opt/|/help/|'); \ + mkdir -p $$path_new; \ + mv -fT $$path $$path_new; \ done endif @@ -310,6 +330,54 @@ deb/build/debian/% : deb/template/% deb/build/debian/% : deb/template/%.m4 mkdir -pv $(@D) && m4 $(M4_DEB_PARAMS) $< > $@ +$(CHANGELOG_DEB_ASTRA) : $(CHANGELOG_DEB) + mkdir -p $(shell dirname $(CHANGELOG_DEB_ASTRA)) + cp $(CHANGELOG_DEB) $(CHANGELOG_DEB_ASTRA) + +$(CHANGELOG_DEB) : $(CHANGELOG_DEB_M4) $(CHANGELOG_RPM) + $(foreach dir, \ + $(CHANGES_DIR_LIST), \ + $(shell \ + sed 's/^[^ *]/* &/' $(CHANGES_DIR)/$(dir)/news_rpm | \ + sed 's/^/ /' \ + > $(CHANGES_DIR)/$(dir)/changes_deb; \ + mkdir -p deb/build/debian; \ + m4 $(M4_DEB_PARAMS) -D M4_PACKAGE_VERSION='$(dir)' -D M4_DATE='$(shell date -d "$(shell grep \"releasedate\" $(CHANGES_DIR)/$(dir)/$(CHANGES_HTML) | sed 's/.* - //' | sed 's/<\/span>.*//' | sed 's/{{DATE}}/$(shell date -R)/')" -R)' $(CHANGELOG_DEB_M4) | sed '2r $(CHANGES_DIR)/$(dir)/changes_deb' >> $(CHANGELOG_DEB))) + $(shell \ + sed -i 's/$(PRODUCT_VERSION)/$(PACKAGE_VERSION)/' $(CHANGELOG_DEB)) + +$(CHANGELOG_RPM) : + $(foreach dir, \ + $(CHANGES_DIR_LIST), \ + $(shell \ + sed '/DOCTYPE/,/div class/d' $(CHANGES_DIR)/$(dir)/$(CHANGES_HTML) | \ + sed '/div class/,/html/d' | \ + sed 's/<\/li>//g' | \ + sed 's/<\/h4>//g' | \ + sed 's/<\/h2>/:/g' | \ + sed 's///g' | \ + sed 's/<\/code>//g' | \ + sed 's/ \{,\}
  • / - /g' | \ + sed 's/ \{,\}

    /* /g' | \ + sed 's/ \{,\}

    //g' | \ + sed '/
      /d' | \ + sed '/<\/ul>/d' | \ + sed '/

      /d' | \ + sed '/^$$/d' \ + > $(CHANGES_DIR)/$(dir)/news_rpm; \ + mkdir -p $(shell dirname $(NEWS_RPM)); \ + m4 $(M4_PARAMS) -D M4_VERSION='$(dir)' -D M4_DATE_SHORT='$(shell date -d "$(shell grep \"releasedate\" $(CHANGES_DIR)/$(dir)/$(CHANGES_HTML) | sed 's/.* - //' | sed 's/<\/span>.*//' | sed 's/{{DATE}}/$(shell date -R)/')" -I)' $(NEWS_RPM_M4) | sed '2r $(CHANGES_DIR)/$(dir)/news_rpm' >> $(NEWS_RPM))) + + $(foreach dir, \ + $(CHANGES_DIR_LIST), \ + $(shell \ + sed 's/ - / - /' $(CHANGES_DIR)/$(dir)/news_rpm | \ + sed 's/* / - /' | \ + sed 's/^[^ *]/- &/' \ + > $(CHANGES_DIR)/$(dir)/changes_rpm; \ + mkdir -p $(shell dirname $(CHANGELOG_RPM)); \ + m4 $(M4_PARAMS) -D M4_VERSION='$(dir)' -D M4_DATE='$(shell LC_TIME="en_US.UTF-8" date -d "$(shell grep \"releasedate\" $(CHANGES_DIR)/$(dir)/$(CHANGES_HTML) | sed 's/.* - //' | sed 's/<\/span>.*//' | sed 's/{{DATE}}/$(shell date -R)/')" +"%a %b %d %Y")' $(CHANGELOG_RPM_M4) | sed '1r $(CHANGES_DIR)/$(dir)/changes_rpm' >> $(CHANGELOG_RPM))) + deb/build/debian/$(PACKAGE_NAME).% : deb/template/package.%.m4 mkdir -pv $(@D) && m4 $(M4_DEB_PARAMS) $< > $@ diff --git a/win-linux/package/linux/branding/common/usr/share/applications/variables.m4 b/win-linux/package/linux/branding/common/usr/share/applications/variables.m4 index ae2058923..b3c42be3a 100644 --- a/win-linux/package/linux/branding/common/usr/share/applications/variables.m4 +++ b/win-linux/package/linux/branding/common/usr/share/applications/variables.m4 @@ -37,3 +37,9 @@ define('VIDEOPLAYER[GenericName[en]]', 'Video Player')dnl define('VIDEOPLAYER[GenericName[ru]]', 'Видео проигрыватель')dnl define('VIDEOPLAYER[Comment[en]]', 'Play video file')dnl define('VIDEOPLAYER[Comment[ru]]', 'Проиграть видео файл')dnl +dnl +define('NEWFORM[Name[en]]', 'New form template')dnl +define('NEWFORM[Name[de]]', 'Neue Formularvorlage')dnl +define('NEWFORM[Name[fr]]', 'Nouveau modèle de formulaire')dnl +define('NEWFORM[Name[es]]', 'Nueva plantilla de formulario')dnl +define('NEWFORM[Name[ru]]', 'Создать шаблон формы')dnl diff --git a/win-linux/package/linux/common/usr/bin/desktopeditors.m4 b/win-linux/package/linux/common/usr/bin/desktopeditors.m4 index 217a99407..aa2bea2ff 100644 --- a/win-linux/package/linux/common/usr/bin/desktopeditors.m4 +++ b/win-linux/package/linux/common/usr/bin/desktopeditors.m4 @@ -1,72 +1,80 @@ #!/bin/sh +ifelse(M4_COMPANY_NAME, ONLYOFFICE, set_names() { case $LANG in - cs*) + cs*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/cs-CZ" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Nový dokument" NEW_XLSX_NAME="Nový sešit" NEW_PPTX_NAME="Nová prezentace" + NEW_DOCXF_NAME="Nová šablona formuláře" ;; - de*) + de*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/de-DE" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Neues Dokument" NEW_XLSX_NAME="Neues Tabellendokument" NEW_PPTX_NAME="Neue Präsentation" + NEW_DOCXF_NAME="Neue Formularvorlage" ;; - es*) + es*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/es-ES" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Documento nuevo" NEW_XLSX_NAME="Hoja de cálculo nueva" NEW_PPTX_NAME="Presentación nueva" + NEW_DOCXF_NAME="Nueva plantilla de formulario" ;; - fr*) + fr*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/fr-FR" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Nouveau document" NEW_XLSX_NAME="Nouveau classeur" NEW_PPTX_NAME="Nouvelle présentation" + NEW_DOCXF_NAME="Nouveau modèle de formulaire" ;; - it*) + it*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/it-IT" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Nuovo documento" NEW_XLSX_NAME="Nuovo foglio di calcolo" NEW_PPTX_NAME="Nuova presentazione" + NEW_DOCXF_NAME="Nuovo modello di modulo" ;; - pt*) + pt*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/pt-BR" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Novo Documento" NEW_XLSX_NAME="Nova planilha" NEW_PPTX_NAME="Nova apresentação" + NEW_DOCXF_NAME="Novo Formulário Mestre" ;; - ru*) + ru*`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/ru-RU" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Новый документ" NEW_XLSX_NAME="Новая эл.таблица" NEW_PPTX_NAME="Новая презентация" + NEW_DOCXF_NAME="Новый шаблон формы" ;; - *) + *`)' SOURCE_DOC_DIR="$SOURCE_DOC_DIR/en-US" SOURCE_DOC_NAME="new" NEW_DOCX_NAME="New Document" NEW_XLSX_NAME="New Spreadsheet" NEW_PPTX_NAME="New Presentation" + NEW_DOCXF_NAME="New form template" ;; esac -} - +}, set_names_ru() { SOURCE_DOC_NAME="new" NEW_DOCX_NAME="Новый документ" NEW_XLSX_NAME="Новая эл.таблица" NEW_PPTX_NAME="Новая презентация" -} +}) check_templates() { if [ "$1" != "--new-document-templates" ]; then @@ -88,6 +96,7 @@ check_templates() { TEMPLATE_DOCX="$TEMPLATE_DIR/$NEW_DOCX_NAME.docx" TEMPLATE_XLSX="$TEMPLATE_DIR/$NEW_XLSX_NAME.xlsx" TEMPLATE_PPTX="$TEMPLATE_DIR/$NEW_PPTX_NAME.pptx" + TEMPLATE_DOCXF="$TEMPLATE_DIR/$NEW_DOCXF_NAME.docxf" mkdir -p $TEMPLATE_DIR @@ -105,6 +114,12 @@ check_templates() { then cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.pptx "$TEMPLATE_PPTX" fi + + ifelse(M4_COMPANY_NAME, ONLYOFFICE, + if [ $(ls -A $TEMPLATE_DIR/*.docxf 2>/dev/null | wc -l) -eq 0 ] + then + cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.docxf "$TEMPLATE_DOCXF" + fi) } check_templates "$@" diff --git a/win-linux/package/linux/common/usr/share/applications/desktopeditors.desktop.m4 b/win-linux/package/linux/common/usr/share/applications/desktopeditors.desktop.m4 index 346187c64..5155e3cc8 100644 --- a/win-linux/package/linux/common/usr/share/applications/desktopeditors.desktop.m4 +++ b/win-linux/package/linux/common/usr/share/applications/desktopeditors.desktop.m4 @@ -24,8 +24,8 @@ Terminal=false Icon=M4_PACKAGE_NAME Keywords=Text;Document;OpenDocument Text;Microsoft Word;Microsoft Works;odt;doc;docx;rtf; Categories=Office;WordProcessor;Spreadsheet;Presentation; -MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/M4_SCHEME_HANDLER;text/docxf;text/oform; -Actions=NewDocument;NewSpreadsheet;NewPresentation; +MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/M4_SCHEME_HANDLER;ifelse(M4_COMPANY_NAME,ONLYOFFICE,text/docxf;text/oform;) +Actions=NewDocument;NewSpreadsheet;NewPresentation;ifelse(M4_COMPANY_NAME, ONLYOFFICE, NewForm;) [Desktop Action NewDocument] Name=defn('NEWDOCUMENT[Name[en]]') @@ -50,3 +50,12 @@ ifdef('NEWPRESENTATION[Name[fr]]',Name[fr]=defn('NEWPRESENTATION[Name[fr]]'),'dn ifdef('NEWPRESENTATION[Name[es]]',Name[es]=defn('NEWPRESENTATION[Name[es]]'),'dnl') ifdef('NEWPRESENTATION[Name[ru]]',Name[ru]=defn('NEWPRESENTATION[Name[ru]]'),'dnl') Exec=/usr/bin/M4_DESKTOPEDITORS_EXEC --new:slide + +ifelse(M4_COMPANY_NAME, ONLYOFFICE, +[Desktop Action NewForm] +Name=defn('NEWFORM[Name[en]]') +ifdef('NEWFORM[Name[de]]',Name[de]=defn('NEWFORM[Name[de]]'),'dnl') +ifdef('NEWFORM[Name[fr]]',Name[fr]=defn('NEWFORM[Name[fr]]'),'dnl') +ifdef('NEWFORM[Name[es]]',Name[es]=defn('NEWFORM[Name[es]]'),'dnl') +ifdef('NEWFORM[Name[ru]]',Name[ru]=defn('NEWFORM[Name[ru]]'),'dnl') +Exec=/usr/bin/M4_DESKTOPEDITORS_EXEC --new:form) diff --git a/win-linux/package/linux/common/usr/share/doc/ChangeLog.m4 b/win-linux/package/linux/common/usr/share/doc/ChangeLog.m4 new file mode 100644 index 000000000..c95783f12 --- /dev/null +++ b/win-linux/package/linux/common/usr/share/doc/ChangeLog.m4 @@ -0,0 +1,2 @@ +* M4_DATE M4_PUBLISHER_NAME M4_VERSION + diff --git a/win-linux/package/linux/common/usr/share/doc/NEWS.m4 b/win-linux/package/linux/common/usr/share/doc/NEWS.m4 new file mode 100644 index 000000000..4e5b036bb --- /dev/null +++ b/win-linux/package/linux/common/usr/share/doc/NEWS.m4 @@ -0,0 +1,3 @@ +News in M4_VERSION, M4_DATE_SHORT +------------------------- + diff --git a/win-linux/package/linux/deb/template/changelog.m4 b/win-linux/package/linux/deb/template/changelog.m4 index 6cb73bd67..791f9157f 100644 --- a/win-linux/package/linux/deb/template/changelog.m4 +++ b/win-linux/package/linux/deb/template/changelog.m4 @@ -1,6 +1,5 @@ -M4_PACKAGE_NAME (M4_PACKAGE_VERSION) stable; urgency=low +M4_PACKAGE_NAME (M4_PACKAGE_VERSION) stable; urgency=medium - * Initial release. - -- M4_PUBLISHER_NAME Wed, 21 Sep 2016 09:50:00 +0000 - \ No newline at end of file + -- M4_PUBLISHER_NAME M4_DATE + diff --git a/win-linux/package/linux/deb/template/control.m4 b/win-linux/package/linux/deb/template/control.m4 index 84009b3a6..07a386b20 100644 --- a/win-linux/package/linux/deb/template/control.m4 +++ b/win-linux/package/linux/deb/template/control.m4 @@ -23,7 +23,6 @@ ifelse(M4_PACKAGE_EDITION, full, libatk1.0-0, libgtk-3-0, libcairo2, - libgconf-2-4, libstdc++6 (>=4.8), fonts-dejavu | ttf-dejavu, fonts-liberation, diff --git a/win-linux/package/linux/deb/template/postinst.m4 b/win-linux/package/linux/deb/template/postinst.m4 index b64430dc5..34306e083 100644 --- a/win-linux/package/linux/deb/template/postinst.m4 +++ b/win-linux/package/linux/deb/template/postinst.m4 @@ -20,23 +20,11 @@ if [ -x "$UPDATE_MENUS" ]; then update-menus fi -MIMEAPPS_LIST="/usr/share/applications/mimeapps.list" -if [ ! -f "$MIMEAPPS_LIST" ]; then - echo "[Default Applications]" >"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep x-scheme-handler/M4_SCHEME_HANDLER | wc -l) -eq "0" ]; then - echo "x-scheme-handler/M4_SCHEME_HANDLER=M4_DESKTOPEDITORS_EXEC.desktop" >>"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep text/docxf | wc -l) -eq "0" ]; then - echo "text/docxf=M4_DESKTOPEDITORS_EXEC.desktop" >>"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep text/oform | wc -l) -eq "0" ]; then - echo "text/oform=M4_DESKTOPEDITORS_EXEC.desktop" >>"$MIMEAPPS_LIST" -fi - ifelse(M4_COMPANY_NAME, ONLYOFFICE, xdg-mime install --mode system /opt/M4_DESKTOPEDITORS_PREFIX/mimetypes/onlyoffice-docxf.xml -xdg-mime install --mode system /opt/M4_DESKTOPEDITORS_PREFIX/mimetypes/onlyoffice-oform.xml, +xdg-mime install --mode system /opt/M4_DESKTOPEDITORS_PREFIX/mimetypes/onlyoffice-oform.xml +update-mime-database /usr/share/mime +update-desktop-database /usr/share/applications, if [ -f /etc/astra_version ] && [ -f /etc/X11/trusted ]; then sed -i '\|/opt/M4_DESKTOPEDITORS_PREFIX/DesktopEditors|d' /etc/X11/trusted echo '/opt/M4_DESKTOPEDITORS_PREFIX/DesktopEditors(KBD_R)' >> /etc/X11/trusted diff --git a/win-linux/package/linux/rpm/common.spec b/win-linux/package/linux/rpm/common.spec index 1a3c778c6..ba9c62ebe 100644 --- a/win-linux/package/linux/rpm/common.spec +++ b/win-linux/package/linux/rpm/common.spec @@ -44,6 +44,8 @@ cp -r $COMMON/opt/desktopeditors/* $DESKTOPEDITORS_PREFIX cp -t $BIN_DIR $COMMON/usr/bin/%{_desktopeditors_exec} cp -t $DATA_DIR/applications $COMMON/usr/share/applications/%{_desktopeditors_exec}.desktop echo "package = rpm" > $DESKTOPEDITORS_PREFIX/converter/package.config +mkdir -p $DATA_DIR/doc/%{_package_name} +cp $COMMON/usr/share/doc/%{_package_name}/NEWS $DATA_DIR/doc/%{_package_name} %if "%{_company_name}" == "ONLYOFFICE" # help @@ -72,13 +74,11 @@ rm -rf "%{buildroot}" %files %attr(-, root, root) /opt/* %attr(-, root, root) %{_datadir}/applications/* +%attr(-, root, root) %{_datadir}/doc/* %attr(755, root, root) %{_bindir}/%{_desktopeditors_exec} %if "%{_company_name}" == "ONLYOFFICE" %attr(-, root, root) %{_bindir}/desktopeditors -%exclude /opt/%{_desktopeditors_prefix}/editors/web-apps/apps/common/main/resources/help -%exclude /opt/%{_desktopeditors_prefix}/editors/web-apps/apps/documenteditor/main/resources/help -%exclude /opt/%{_desktopeditors_prefix}/editors/web-apps/apps/presentationeditor/main/resources/help -%exclude /opt/%{_desktopeditors_prefix}/editors/web-apps/apps/spreadsheeteditor/main/resources/help +%exclude /opt/%{_desktopeditors_prefix}/editors/web-apps/apps/*/main/resources/help %else %attr(755, root, root) %{_bindir}/%{_imageviewer_exec} %attr(755, root, root) %{_bindir}/%{_videoplayer_exec} @@ -89,10 +89,7 @@ rm -rf "%{buildroot}" %if "%{_company_name}" == "ONLYOFFICE" %files help %defattr(-, root, root, -) -/opt/%{_desktopeditors_prefix}/editors/web-apps/apps/common/main/resources/help -/opt/%{_desktopeditors_prefix}/editors/web-apps/apps/documenteditor/main/resources/help -/opt/%{_desktopeditors_prefix}/editors/web-apps/apps/presentationeditor/main/resources/help -/opt/%{_desktopeditors_prefix}/editors/web-apps/apps/spreadsheeteditor/main/resources/help +/opt/%{_desktopeditors_prefix}/editors/web-apps/apps/*/main/resources/help %endif %pre @@ -121,23 +118,12 @@ if [ -x "$UPDATE_MENUS" ]; then update-menus fi -MIMEAPPS_LIST="/usr/share/applications/mimeapps.list" -if [ ! -f "$MIMEAPPS_LIST" ]; then - echo "[Default Applications]" >"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep x-scheme-handler/%{_scheme_handler} | wc -l) -eq "0" ]; then - echo "x-scheme-handler/%{_scheme_handler}=%{_desktopeditors_exec}.desktop" >>"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep text/docxf | wc -l) -eq "0" ]; then - echo "text/docxf=%{_desktopeditors_exec}.desktop" >>"$MIMEAPPS_LIST" -fi -if [ $(cat "$MIMEAPPS_LIST" | grep text/oform | wc -l) -eq "0" ]; then - echo "text/oform=%{_desktopeditors_exec}.desktop" >>"$MIMEAPPS_LIST" -fi - xdg-mime install --mode system /opt/%{_desktopeditors_prefix}/mimetypes/onlyoffice-docxf.xml xdg-mime install --mode system /opt/%{_desktopeditors_prefix}/mimetypes/onlyoffice-oform.xml +update-mime-database /usr/share/mime +update-desktop-database /usr/share/applications + # Update cache of .desktop file MIME types. Non-fatal since it's just a cache. #update-desktop-database > /dev/null 2>&1 || true @@ -192,3 +178,7 @@ for icon in "/opt/%{_desktopeditors_prefix}/asc-de-"*.png; do size="${icon##*/asc-de-}" "$XDG_ICON_RESOURCE" install --size "${size%.png}" "$icon" "%{_package_name}" done + +%changelog + +%include ../common/usr/share/doc/%{_package_name}/ChangeLog diff --git a/win-linux/package/windows/DesktopEditors.aip b/win-linux/package/windows/DesktopEditors.aip index 0af2b8a40..fc2b31445 100644 --- a/win-linux/package/windows/DesktopEditors.aip +++ b/win-linux/package/windows/DesktopEditors.aip @@ -1,5 +1,5 @@ - + @@ -202,10 +202,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -226,7 +255,7 @@ - + @@ -251,7 +280,9 @@ + + @@ -530,7 +561,7 @@ - + @@ -784,6 +815,10 @@ + + + + @@ -792,6 +827,7 @@ + @@ -806,6 +842,7 @@ + @@ -816,8 +853,10 @@ + + @@ -940,7 +979,7 @@ - + @@ -961,15 +1000,16 @@ - - - + + + + @@ -1298,10 +1338,10 @@ - - - - + + + + diff --git a/win-linux/package/windows/associate_page.iss b/win-linux/package/windows/associate_page.iss index 208793ec1..137d7ca39 100644 --- a/win-linux/package/windows/associate_page.iss +++ b/win-linux/package/windows/associate_page.iss @@ -44,8 +44,8 @@ no.AssociateDescription =Tilknytt filtyper for Office-dokumenter til {#ASSC_APP_ uk.AssociateDescription =Асоціювати типи файлів офісних документів з {#ASSC_APP_NAME} be.AssociateDescription =Звязаць тыпы файлаў дакументаў офіса з {#ASSC_APP_NAME} gl.AssociateDescription =Asociar tipos de ficheiros de documentos de oficina con {#ASSC_APP_NAME} -;si.AssociateDescription ={#ASSC_APP_NAME} සමඟ කාර්යාල ලේඛන ගොනු වර්ග සම්බන්ධ කරන්න -;zh_HK.AssociateDescription =與文書處理檔案類型聯結{#ASSC_APP_NAME} +si.AssociateDescription ={#ASSC_APP_NAME} සමඟ කාර්යාල ලේඛන ගොනු වර්ග සම්බන්ධ කරන්න +zh_TW.AssociateDescription =與文書處理檔案類型聯結{#ASSC_APP_NAME} en.AssociateCaption =File Associations bg.AssociateCaption =Свързвания на файлове @@ -86,8 +86,8 @@ no.AssociateCaption =Filtilknytninger uk.AssociateCaption =Асоціації файлів be.AssociateCaption =Асацыяцыя файлаў gl.AssociateCaption =Asociacións do ficheiro -;si.AssociateCaption =ගොනු නිශ්‍රය -;zh_HK.AssociateCaption =檔案聯結 +si.AssociateCaption =ගොනු නිශ්‍රය +zh_TW.AssociateCaption =檔案聯結 en.AssociateDont =Do not associate ca.AssociateDont =No associar @@ -128,8 +128,8 @@ no.AssociateDont =Ikke tilknytt uk.AssociateDont =Не асоціювати be.AssociateDont =Не звязваць gl.AssociateDont =Non asociar -;si.AssociateDont =නිශ්‍ර කොකරන්න -;zh_HK.AssociateDont =不要聯結 +si.AssociateDont =නිශ්‍ර කොකරන්න +zh_TW.AssociateDont =不要聯結 en.AssociateAll =Associate all bg.AssociateAll =Свържи всички @@ -170,8 +170,8 @@ no.AssociateAll =Tilknytt alle uk.AssociateAll =Асоціювати всі be.AssociateAll =Звязаць усе gl.AssociateAll =Asociar todo -;si.AssociateAll =සියල්ල නිහ්ශ්‍රය -;zh_HK.AssociateAll =全部聯結 +si.AssociateAll =සියල්ල නිහ්ශ්‍රය +zh_TW.AssociateAll =全部聯結 en.AssociateSel =Associate selected bg.AssociateSel =Свържи избраните @@ -212,8 +212,8 @@ no.AssociateSel =Tilknytning valgt uk.AssociateSel =Асоціювати вибрані be.AssociateSel =Звязаць выбраныя gl.AssociateSel =Asociación seleccionada -;si.AssociateSel =තේරූ දෑ නිහ්ශ්‍රය -;zh_HK.AssociateSel =聯結已選定 +si.AssociateSel =තේරූ දෑ නිහ්ශ්‍රය +zh_TW.AssociateSel =聯結已選定 en.AssociateAudio =File types bg.AssociateAudio =Типове файлове @@ -254,8 +254,8 @@ no.AssociateAudio =Filtyper uk.AssociateAudio =Типи файлів be.AssociateAudio =Тыпы файлаў gl.AssociateAudio =Tipos de ficheiros -;si.AssociateAudio =ගොනු වර්ග -;zh_HK.AssociateAudio =檔案類型 +si.AssociateAudio =ගොනු වර්ග +zh_TW.AssociateAudio =檔案類型 en.extMSWord =Microsoft Word Document bg.extMSWord =Microsoft Word документ @@ -296,8 +296,8 @@ no.extMSWord =Microsoft Word-dokument uk.extMSWord =Документ Microsoft Word be.extMSWord =Дакумент Microsoft Word gl.extMSWord =Documentos de Microsoft Word -;si.extMSWord =මයික්‍රොසොෆ්ට් වර්ඩ් ලේඛනය -;zh_HK.extMSWord =Microsoft Word 文件 +si.extMSWord =මයික්‍රොසොෆ්ට් වර්ඩ් ලේඛනය +zh_TW.extMSWord =Microsoft Word 文件 en.extMSExcel =Microsoft Excel Workbook bg.extMSExcel =Microsoft Excel работна книга @@ -338,8 +338,8 @@ no.extMSExcel =Microsoft Excel-arbeidsbok uk.extMSExcel =Книга Microsoft Excel be.extMSExcel =Рабочы сшытак Microsoft Excel gl.extMSExcel =Caderno de traballo do Microsoft Excel -;si.extMSExcel =මයික්‍රොසොෆ්ට් එක්සෙල් ලේඛනය -;zh_HK.extMSExcel =Microsoft Excel 活頁簿 +si.extMSExcel =මයික්‍රොසොෆ්ට් එක්සෙල් ලේඛනය +zh_TW.extMSExcel =Microsoft Excel 活頁簿 en.extMSPresentation =Microsoft PowerPoint Presentation bg.extMSPresentation =Microsoft PowerPoint презентация @@ -380,8 +380,8 @@ no.extMSPresentation =Microsoft PowerPoint-presentasjon uk.extMSPresentation =Презентація Microsoft PowerPoint be.extMSPresentation =Прэзентацыя Microsoft PowerPoint gl.extMSPresentation =Presentación de PowerPoint de Microsoft -;si.extMSPresentation =මයික්‍රොසොෆ්ට් පවර්පොයින්ට් සමර්පණය -;zh_HK.extMSPresentation =Microsoft PowerPoint 簡報 +si.extMSPresentation =මයික්‍රොසොෆ්ට් පවර්පොයින්ට් සමර්පණය +zh_TW.extMSPresentation =Microsoft PowerPoint 簡報 en.extMSSlideshow =Microsoft PowerPoint Slideshow bg.extMSSlideshow =Microsoft PowerPoint слайдшоу @@ -422,8 +422,8 @@ no.extMSSlideshow =Microsoft PowerPoint-lysbildefremvisning uk.extMSSlideshow =Показ слайдів Microsoft PowerPoint be.extMSSlideshow =Слайд-шоу Microsoft PowerPoint gl.extMSSlideshow =Presentación de Microsoft PowerPoint -;si.extMSSlideshow =මයික්‍රොසොෆ්ට් පවර්පොයින්ට් සල්යිඩ්ෂෝ -;zh_HK.extMSSlideshow =Microsoft PowerPoint 投影片 +si.extMSSlideshow =මයික්‍රොසොෆ්ට් පවර්පොයින්ට් සල්යිඩ්ෂෝ +zh_TW.extMSSlideshow =Microsoft PowerPoint 投影片 en.extODT =OpenDocument Text File bg.extODT =OpenDocument текстов файл @@ -464,8 +464,8 @@ no.extODT =OpenDocument-tekstfil uk.extODT =Текстовий файл OpenDocument be.extODT =Тэкставы файл OpenDocument gl.extODT =Ficheiro de texto OpenDocument -;si.extODT =ඕපන්ඩොකියුමන්ට් පෙළ ලේඛනය -;zh_HK.extODT =OpenDocument Text 文件 +si.extODT =ඕපන්ඩොකියුමන්ට් පෙළ ලේඛනය +zh_TW.extODT =OpenDocument Text 文件 en.extODS =OpenDocument Spreadsheet bg.extODS =OpenDocument електронна таблица @@ -506,8 +506,8 @@ no.extODS =OpenDocument-regneark uk.extODS =Електронна таблиця OpenDocument be.extODS =Электронная табліца OpenDocument gl.extODS =Folla de cálculo de OpenDocument -;si.extODS =ඕපන්ඩොකියුමන්ට් පැතුරුම්පත -;zh_HK.extODS =OpenDocument 試算表 +si.extODS =ඕපන්ඩොකියුමන්ට් පැතුරුම්පත +zh_TW.extODS =OpenDocument 試算表 en.extODP =OpenDocument Presentation bg.extODP =OpenDocument презентация @@ -548,8 +548,8 @@ no.extODP =OpenDocument-presentasjon uk.extODP =Презентація OpenDocument be.extODP =Прэзентацыя OpenDocument gl.extODP =Presentación de OpenDocument -;si.extODP =ඕපන්ඩොකියුමන්ට් සමර්පණය -;zh_HK.extODP =OpenDocument 簡報 +si.extODP =ඕපන්ඩොකියුමන්ට් සමර්පණය +zh_TW.extODP =OpenDocument 簡報 en.extDOC =Word 97-2003 Document bg.extDOC =Word 97-2003 документ @@ -590,8 +590,8 @@ no.extDOC =Word 97-2003-dokument uk.extDOC =Документ Word 97-2003 be.extDOC =Дакумент Word 97-2003 gl.extDOC =Documento Word 97-2003 -;si.extDOC =වර්ඩ් 97-2003 ලේඛනය -;zh_HK.extDOC =Word 97-2003 文件 +si.extDOC =වර්ඩ් 97-2003 ලේඛනය +zh_TW.extDOC =Word 97-2003 文件 en.extDOCX =Office Open XML Document bg.extDOCX =Office Open XML документ @@ -632,8 +632,8 @@ no.extDOCX =Office Open XML-dokument uk.extDOCX =Документ Office Open XML be.extDOCX =Дакумент Office Open XML gl.extDOCX =Documento Office Open XML -;si.extDOCX =ඔෆිස් විවෘත XML ලේඛනය -;zh_HK.extDOCX =Office Open XML 文件 +si.extDOCX =ඔෆිස් විවෘත XML ලේඛනය +zh_TW.extDOCX =Office Open XML 文件 en.extDOCXF =ONLYOFFICE Form Template bg.extDOCXF =ONLYOFFICE Шаблон на формуляр @@ -674,8 +674,8 @@ no.extDOCXF =ONLYOFFICE-Skjemamal uk.extDOCXF =Шаблон форми ONLYOFFICE be.extDOCXF =Шаблон формы ONLYOFFICE gl.extDOCXF =ONLYOFFICE Modelo de formulario -;si.extDOCXF =ඔන්ලිඔෆිස් ආකෘතිපත්‍ර අච්චුව -;zh_HK.extDOCXF =ONLYOFFICE 文档表单模板 +si.extDOCXF =ඔන්ලිඔෆිස් ආකෘතිපත්‍ර අච්චුව +zh_TW.extDOCXF =ONLYOFFICE 文档表单模板 en.extXLS =Excel 97-2003 Spreadsheet bg.extXLS =Excel 97-2003 таблица @@ -716,8 +716,8 @@ no.extXLS =Microsoft Excel 97-2003-regneark uk.extXLS =Електронна таблиця Excel 97-2003 be.extXLS =Электронная табліца Excel 97-2003 gl.extXLS =Folla de cálculo Excel 97-2003 -;si.extXLS =එක්සෙල් 97-2003 පැතුරුම්පත -;zh_HK.extXLS =Excel 97-2003 試算表 +si.extXLS =එක්සෙල් 97-2003 පැතුරුම්පත +zh_TW.extXLS =Excel 97-2003 試算表 en.extXLSX =Office Open XML Spreadsheet bg.extXLSX =Office Open XML таблица @@ -758,8 +758,8 @@ no.extXLSX =Office Open XML-regneark uk.extXLSX =Електронна таблиця Office Open XML be.extXLSX =Электронная табліца Office Open XML gl.extXLSX =Folla de cálcula Office Open XML -;si.extXLSX =ඔෆිස් විවෘත XML පැතුරුම්පත -;zh_HK.extXLSX =Office Open XML 試算表 +si.extXLSX =ඔෆිස් විවෘත XML පැතුරුම්පත +zh_TW.extXLSX =Office Open XML 試算表 en.extPPT =PowerPoint 97-2003 Presentation bg.extPPT =PowerPoint 97-2003 Презентация @@ -800,8 +800,8 @@ no.extPPT =PowerPoint 97-2003-presentasjon uk.extPPT =Презентація PowerPoint 97-2003 be.extPPT =Прэзентацыя PowerPoint 97-2003 gl.extPPT =Presentación de Powerpoint 97-2003 -;si.extPPT =පවර්පොයින්ට් 97-2003 සමර්පණය -;zh_HK.extPPT =PowerPoint 97-2003 簡報 +si.extPPT =පවර්පොයින්ට් 97-2003 සමර්පණය +zh_TW.extPPT =PowerPoint 97-2003 簡報 en.extPPTX =Office Open XML Presentation bg.extPPTX =Office Open XML Презентация @@ -842,8 +842,8 @@ no.extPPTX =Office Open XML-presentasjon uk.extPPTX =Презентація Office Open XML be.extPPTX =Прэзентацыя Office Open XML gl.extPPTX =Presentación do Office Open XML -;si.extPPTX =ඔෆිස් විවෘත XML සමර්පණය -;zh_HK.extPPTX =Office Open XML 簡報 +si.extPPTX =ඔෆිස් විවෘත XML සමර්පණය +zh_TW.extPPTX =Office Open XML 簡報 en.extPPS =PowerPoint 97-2003 Slide Show bg.extPPS =PowerPoint 97-2003 Слайдшоу @@ -884,8 +884,8 @@ no.extPPS =Microsoft PowerPoint 97-2003-lysbildefremvisning uk.extPPS =Показ слайдів PowerPoint 97-2003 be.extPPS =Слайд-шоу PowerPoint 97-2003 gl.extPPS =Presentación de diapositivas de Powerpoint 97-2003 -;si.extPPS =පවර්පොයින්ට් 97-2003 චිත්‍රකාච දැක්ම -;zh_HK.extPPS =PowerPoint 97-2003投影片 +si.extPPS =පවර්පොයින්ට් 97-2003 චිත්‍රකාච දැක්ම +zh_TW.extPPS =PowerPoint 97-2003投影片 en.extPPSX =Office Open XML Slide Show bg.extPPSX =Office Open XML Слайдшоу @@ -926,8 +926,8 @@ no.extPPSX =Office Open XML-lysbildefremvisning uk.extPPSX =Показ слайдів Office Open XML be.extPPSX =Слайд-шоу Office Open XML gl.extPPSX =Presentación de diapositivas de Office Open XML -;si.extPPSX =ඔෆිස් විවෘත XML චිත්‍රකාච දැක්ම -;zh_HK.extPPSX =Office Open XML 投影片 +si.extPPSX =ඔෆිස් විවෘත XML චිත්‍රකාච දැක්ම +zh_TW.extPPSX =Office Open XML 投影片 en.extRTF =Rich Text Format File bg.extRTF =Файл с богат текстов формат @@ -968,8 +968,8 @@ no.extRTF =Rikt tekstformat-fil uk.extRTF =Файл вдосконаленого текстового формату be.extRTF =Багаты тэкставы дакумент gl.extRTF =Ficheiro con formato de texto enriquecido -;si.extRTF =පොහොසත් පෙළ ආකෘති ගොනුව -;zh_HK.extRTF =Rich Text Format 文件 +si.extRTF =පොහොසත් පෙළ ආකෘති ගොනුව +zh_TW.extRTF =Rich Text Format 文件 en.extCSV =Comma Separated Values bg.extCSV =Стойности, разделени със запетая @@ -1010,8 +1010,8 @@ no.extCSV =Kommadelte verdier uk.extCSV =Значення, розділені комами be.extCSV =Значэнні, падзеленыя коскамі gl.extCSV =Valores separados por comas -;si.extCSV =අල්පවිරාම මගින් වෙන්කළ අගයන් -;zh_HK.extCSV =逗點分隔值 +si.extCSV =අල්පවිරාම මගින් වෙන්කළ අගයන් +zh_TW.extCSV =逗點分隔值 en.extPDF =Portable Document bg.extPDF =Преносим документ @@ -1052,8 +1052,8 @@ no.extPDF =Portable Document uk.extPDF =Портативний документ be.extPDF =Пераносны дакумент gl.extPDF =Documento portátil -;si.extPDF =සුවහ ලේඛනය -;zh_HK.extPDF =PDF 檔案 +si.extPDF =සුවහ ලේඛනය +zh_TW.extPDF =PDF 檔案 en.extDJVU =Digital Document bg.extDJVU =Дигитален документ @@ -1094,8 +1094,8 @@ no.extDJVU =Digitalt dokument uk.extDJVU =Цифровий документ be.extDJVU =Лічбавы дакумент gl.extDJVU =Documento dixital -;si.extDJVU =සංඛ්‍යාංක ලේඛනය -;zh_HK.extDJVU =DjVu 檔案 +si.extDJVU =සංඛ්‍යාංක ලේඛනය +zh_TW.extDJVU =DjVu 檔案 en.extXPS =OpenXPS Document bg.extXPS =OpenXPS Документ @@ -1136,8 +1136,8 @@ no.extXPS =OpenXPS-dokument uk.extXPS =Документ OpenXPS be.extXPS =Дакумент OpenXPS gl.extXPS =Documento OpenXPS -;si.extXPS =ඕපන්XPS ලේඛනය -;zh_HK.extXPS =OpenXPS 檔案 +si.extXPS =ඕපන් XPS ලේඛනය +zh_TW.extXPS =OpenXPS 檔案 en.extOFORM =ONLYOFFICE Fillable Online Form bg.extOFORM =ONLYOFFICE Онлайн формуляр за попълване @@ -1178,8 +1178,8 @@ no.extOFORM =ONLYOFFICE utfyllbart elektronisk skjema uk.extOFORM =Онлайн-форма для заповнення ONLYOFFICE be.extOFORM =Запаўняльная анлайн-форма ONLYOFFICE gl.extOFORM =Formulario en liña encheble ONLYOFFICE -;si.extOFORM =ඔන්ලිඔෆිස් පුරවන මාර්ගගත ආකෘතිපත්‍ර -;zh_HK.extOFORM =ONLYOFFICE可填写的在线表格 +si.extOFORM =ඔන්ලිඔෆිස් පුරවන මාර්ගගත ආකෘතිපත්‍ර +zh_TW.extOFORM =ONLYOFFICE可填写的在线表格 ;====================================================================================================== en.jumpDOCX =New document @@ -1221,8 +1221,8 @@ no.jumpDOCX =Nytt dokument uk.jumpDOCX =Новий документ be.jumpDOCX =Новы дакумент gl.jumpDOCX =Novo documento -;si.jumpDOCX =නව ලේඛනය -;zh_HK.jumpDOCX =新文件 +si.jumpDOCX =නව ලේඛනය +zh_TW.jumpDOCX =新文件 en.jumpXLSX =New spreadsheet bg.jumpXLSX =Нова електронна таблица @@ -1263,8 +1263,8 @@ no.jumpXLSX =Nytt regneark uk.jumpXLSX =Нова таблиця be.jumpXLSX =Новая электронная табліца gl.jumpXLSX =Nova folla de cálculo -;si.jumpXLSX =නව පැතුරුම්පත -;zh_HK.jumpXLSX =新試算表 +si.jumpXLSX =නව පැතුරුම්පත +zh_TW.jumpXLSX =新試算表 en.jumpPPTX =New presentation bg.jumpPPTX =Нова презентация @@ -1305,8 +1305,8 @@ no.jumpPPTX =Ny presentasjon uk.jumpPPTX =Нова презентація be.jumpPPTX =Новая прэзентацыя gl.jumpPPTX =Nova presentación -;si.jumpPPTX =නව සමර්පණය -;zh_HK.jumpPPTX =新簡報 +si.jumpPPTX =නව සමර්පණය +zh_TW.jumpPPTX =新簡報 en.jumpDOCXF =New form template bg.jumpDOCXF =Нов шаблон на формуляр @@ -1347,8 +1347,8 @@ no.jumpDOCXF =Ny skjemamal uk.jumpDOCXF =Новий шаблон форми be.jumpDOCXF =Новы шаблон формы gl.jumpDOCXF =Novo Modelo de Formulario -;si.jumpDOCXF =නව ආකෘතිපත්‍ර අච්චුව -;zh_HK.jumpDOCXF =New form template +si.jumpDOCXF =නව ආකෘතිපත්‍ර අච්චුව +zh_TW.jumpDOCXF =New form template en.defprogAppDescription=Free desktop office suite for document editing and collaboration bg.defprogAppDescription=Безплатен офис пакет за редактиране и съвместна работа по документи @@ -1389,8 +1389,8 @@ no.defprogAppDescription=Gratis office-pakke til PC for dokumentredigering og sa uk.defprogAppDescription=Безкоштовний пакет настільних офісних програм для редагування документів та спільної роботи be.defprogAppDescription=Бясплатны настольны офісны пакет для рэдагавання дакументаў і сумеснай працы gl.defprogAppDescription=Suite ofimática de escritorio gratuíta para a edición e colaboración de documentos -;si.defprogAppDescription=ලේඛන සංස්කරණය සහ සහයෝගිත්‍වය සඳහා නොමිලේ වැඩතල කාර්යාල කට්ටලය -;zh_HK.defprogAppDescription=使用於檔案編輯和協作的免費桌面辦公套件 +si.defprogAppDescription=ලේඛන සංස්කරණය සහ සහයෝගිත්‍වය සඳහා නොමිලේ වැඩතල කාර්යාල කට්ටලය +zh_TW.defprogAppDescription=使用於檔案編輯和協作的免費桌面辦公套件 en.warnWin10FileAssociationDesc=To associate the files with the application, open the following window after the installation is complete: bg.warnWin10FileAssociationDesc=За да свържете файловете с приложението, отворете следния прозорец, след като инсталацията приключи: @@ -1431,8 +1431,8 @@ no.warnWin10FileAssociationDesc=For å tilknytte filene til programmet, åpne de uk.warnWin10FileAssociationDesc=Щоб асоціювати файли з програмою, після завершення інсталяції відкрийте таке вікно: be.warnWin10FileAssociationDesc=Каб звязаць файлы з прыкладаннем, пасля завяршэння ўстаноўкі адкрыйце наступнае акно: gl.warnWin10FileAssociationDesc=Para asociar os ficheiros co aplicativo, abra a seguinte xanela despois de completar a instalación: -;si.warnWin10FileAssociationDesc=යෙදුම සමඟ ගොනු නිහ්ශ්‍රයට, ස්ථාපනය අවසන් වූ පසු පහත කවුළුව විවෘත කරන්න: -;zh_HK.warnWin10FileAssociationDesc=當安裝完成後,開啟以下的視窗將檔案與應用程式聯結: +si.warnWin10FileAssociationDesc=යෙදුම සමඟ ගොනු නිහ්ශ්‍රයට, ස්ථාපනය අවසන් වූ පසු පහත කවුළුව විවෘත කරන්න: +zh_TW.warnWin10FileAssociationDesc=當安裝完成後,開啟以下的視窗將檔案與應用程式聯結: en.warnWin10FileAssociationPath=Settings > Apps > Default apps bg.warnWin10FileAssociationPath=Настройки> Приложения> Приложение по подразбиране @@ -1473,8 +1473,8 @@ no.warnWin10FileAssociationPath=Innstillinger > Apper > Standard-apper uk.warnWin10FileAssociationPath=Налаштування > Програми > Програми за замовчуванням be.warnWin10FileAssociationPath=Налады> Прыкладанні> Прыкладанні па змаўчанні gl.warnWin10FileAssociationPath=Configuración> Aplicativos> Aplicativos por defecto -;si.warnWin10FileAssociationPath=සැකසුම් > යෙදුම් > පෙරනිමි යෙදුම් -;zh_HK.warnWin10FileAssociationPath=設定 > 應用程式 > 預設應用程式 +si.warnWin10FileAssociationPath=සැකසුම් > යෙදුම් > පෙරනිමි යෙදුම් +zh_TW.warnWin10FileAssociationPath=設定 > 應用程式 > 預設應用程式 en.runOpenDefaultApps=Open Default apps bg.runOpenDefaultApps=Отвори приложения по подразбиране @@ -1515,8 +1515,8 @@ no.runOpenDefaultApps=Åpne standard-apper uk.runOpenDefaultApps=Відкрити програми за замовчуванням be.runOpenDefaultApps=Адкрыць прыкладанні па змаўчанні gl.runOpenDefaultApps=Abrir aplicativos por defecto -;si.runOpenDefaultApps=පෙරනිමි යෙදුම් අරින්න -;zh_HK.runOpenDefaultApps=開啟預設應用程式 +si.runOpenDefaultApps=පෙරනිමි යෙදුම් අරින්න +zh_TW.runOpenDefaultApps=開啟預設應用程式 [Run] Filename: ms-settings:defaultapps; Description: {cm:runOpenDefaultApps}; Flags:postinstall shellexec nowait unchecked; MinVersion: 10.0.10240; @@ -1725,21 +1725,16 @@ begin end else begin labelDesc := TNewStaticText.Create(associatePage); labelDesc.Parent := associatePage.Surface; + labelDesc.Width := associatePage.SurfaceWidth; labelDesc.WordWrap := True; labelDesc.Caption := ExpandConstant('{cm:warnWin10FileAssociationDesc}'); - labelDesc.AutoSize := True; - labelDesc.Width := associatePage.SurfaceWidth; - labelDesc.Left := 0; - labelDesc.Top := 0; labelPath := TNewStaticText.Create(associatePage); labelPath.Parent := associatePage.Surface; + labelPath.Top := labelDesc.Top + labelDesc.Height + ScaleY(8); + labelPath.Width := associatePage.SurfaceWidth; labelPath.WordWrap := True; labelPath.Caption := ExpandConstant('{cm:warnWin10FileAssociationPath}'); - labelPath.AutoSize := True; - labelPath.Width := associatePage.SurfaceWidth; - labelPath.Left := 0; - labelPath.Top := labelDesc.Top + 50; labelPath.Font.Style := [fsBold]; end end else begin @@ -1807,61 +1802,46 @@ end; procedure AddContextMenuNewItems; var - langs: TArrayOfValues; - args, regpath: String; - progpath, oldValue: String; - argsArray: TArrayOfString; + dir, regpath, progpath, oldValue: String; + langs, args, values: TArrayOfString; version: TWindowsVersion; + i: Integer; begin - AddKeyValue(langs, 'cs', 'cs-CZ:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'de', 'de-DE:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'es', 'es-ES:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'fr', 'fr-FR:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'it_IT', 'it-IT:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'pt_BR', 'pt-BR:new.docx:new.pptx:new.xlsx'); - AddKeyValue(langs, 'ru', 'ru-RU:new.docx:new.pptx:new.xlsx'); - - if not TryGetValue(langs, ExpandConstant('{language}'), args) then - args := '.:mm_new.docx:mm_new.pptx:mm_new.xlsx'; - - Explode(argsArray, args, ':'); - - if argsArray[0] = '.' then - progpath := ExpandConstant('{app}\converter\empty') - else progpath := ExpandConstant('{app}\converter\empty\' + argsArray[0]); - - regpath := ExpandConstant('Software\Classes\.docx\{#ASCC_REG_PREFIX}.Document.12\ShellNew'); - if not RegKeyExists(HKEY_LOCAL_MACHINE, regpath) then - begin - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'IconPath', ExpandConstant('{app}\{#iconsExe},7')); - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'FileName', progpath + '\' + argsArray[1]); - end; - - regpath := ExpandConstant('Software\Classes\.pptx\{#ASCC_REG_PREFIX}.Show.12\ShellNew'); - if not RegKeyExists(HKEY_LOCAL_MACHINE, regpath) then - begin - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'IconPath', ExpandConstant('{app}\{#iconsExe},9')); - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'FileName', progpath + '\' + argsArray[2]); - end; - - regpath := ExpandConstant('Software\Classes\.xlsx\{#ASCC_REG_PREFIX}.Sheet.12\ShellNew'); - if not RegKeyExists(HKEY_LOCAL_MACHINE, regpath) then - begin - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'IconPath', ExpandConstant('{app}\{#iconsExe},10')); - RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'FileName', progpath + '\' + argsArray[3]); + langs := ['az-Latn-AZ', 'bg-BG', 'cs-CZ', 'de-DE', 'el-GR', 'en-GB', 'en-US', 'es-ES', + 'eu-ES', 'fr-FR', 'gl-ES', 'hy-AM', 'it-IT', 'ja-JP', 'ko-KR', 'lv-LV', + 'ms-MY', 'nl-NL', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sk-SK', 'sv-SE', + 'tr-TR', 'uk-UA', 'vi-VN', 'zh-CN', 'zh-TW']; + + dir := 'en-US'; + for i := 0 to GetArrayLength(langs) - 1 do begin + if langs[i] = ExpandConstant('{language}') then begin + dir := langs[i]; + break; + end; end; + + args := ['new.docx:.docx:.Document.12:7', + 'new.pptx:.pptx:.Show.12:9', + 'new.xlsx:.xlsx:.Sheet.12:10' +#ifdef _ONLYOFFICE + ,'new.docxf:.docxf:.Docxf:13' +#endif + ]; GetWindowsVersionEx(version); - if version.Major = 10 then begin - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docx', '', oldValue); - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docx', '{#ASCC_REG_PREFIX}', oldValue); - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.xlsx', '', oldValue); - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.xlsx', '{#ASCC_REG_PREFIX}', oldValue); - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '', oldValue); - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '{#ASCC_REG_PREFIX}', oldValue); - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docx', '', '{#ASCC_REG_PREFIX}.Document.12') - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.xlsx', '', '{#ASCC_REG_PREFIX}.Sheet.12') - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '', '{#ASCC_REG_PREFIX}.Show.12') + progpath := ExpandConstant('{app}\converter\empty\' + dir); + for i := 0 to GetArrayLength(args) - 1 do begin + Explode(values, args[i],':'); + regpath := ExpandConstant('Software\Classes\' + values[1] + '\{#ASCC_REG_PREFIX}' + values[2] + '\ShellNew'); + if not RegKeyExists(HKEY_LOCAL_MACHINE, regpath) then begin + RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'IconPath', ExpandConstant('{app}\{#iconsExe},' + values[3])); + RegWriteStringValue(HKEY_LOCAL_MACHINE, regpath, 'FileName', progpath + '\' + values[0]); + end; + if version.Major = 10 then begin + RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\' + values[1], '', oldValue); + RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\' + values[1], '{#ASCC_REG_PREFIX}', oldValue); + RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\' + values[1], '', '{#ASCC_REG_PREFIX}' + values[2]); + end; end; end; @@ -2012,6 +1992,9 @@ begin RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, ExpandConstant('Software\Classes\.docx\{#ASCC_REG_PREFIX}.Document.12')); RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, ExpandConstant('Software\Classes\.pptx\{#ASCC_REG_PREFIX}.Show.12')); RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, ExpandConstant('Software\Classes\.xlsx\{#ASCC_REG_PREFIX}.Sheet.12')); +#ifdef _ONLYOFFICE + RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, ExpandConstant('Software\Classes\.docxf\{#ASCC_REG_PREFIX}.Docxf')); +#endif GetWindowsVersionEx(version); if version.Major = 10 then begin @@ -2021,6 +2004,11 @@ begin RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.xlsx', '', oldValue); if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '{#ASCC_REG_PREFIX}', oldValue) then RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '', oldValue); +#ifdef _ONLYOFFICE + if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docxf', '{#ASCC_REG_PREFIX}', oldValue) then + RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docxf', '', oldValue); + RegDeleteValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docxf', '{#ASCC_REG_PREFIX}'); +#endif RegDeleteValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.docx', '{#ASCC_REG_PREFIX}'); RegDeleteValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.xlsx', '{#ASCC_REG_PREFIX}'); RegDeleteValue(HKEY_LOCAL_MACHINE, 'Software\Classes\.pptx', '{#ASCC_REG_PREFIX}'); diff --git a/win-linux/package/windows/common.iss b/win-linux/package/windows/common.iss index df15f6ba5..9e09c5e1c 100644 --- a/win-linux/package/windows/common.iss +++ b/win-linux/package/windows/common.iss @@ -156,8 +156,8 @@ Name: no; MessagesFile: compiler:Languages\Norwegian.isl; LicenseFile: {#sBr Name: uk; MessagesFile: compiler:Languages\Ukrainian.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; Name: be; MessagesFile: compiler:Languages\Belarusian.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; Name: gl; MessagesFile: compiler:Languages\Galician.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; -;Name: si; MessagesFile: compiler:Languages\Sinhala.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; -;Name: zh_HK; MessagesFile: compiler:Languages\ChineseTraditional.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; +Name: si; MessagesFile: compiler:Languages\Sinhala.islu; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; +Name: zh_TW; MessagesFile: compiler:Languages\ChineseTraditional.isl; LicenseFile: {#sBrandingFolder}\common\package\license\{#LIC_FILE}.rtf; [LangOptions] lo.LanguageName=ພາສາລາວ @@ -207,8 +207,8 @@ no.Launch =Kjør %1 uk.Launch =Запустити %1 be.Launch =Запусціць %1 gl.Launch =Iniciar %1 -;si.Launch =%1 දියත් කරන්න -;zh_HK.Launch =啓動 %1 +si.Launch =%1 දියත් කරන්න +zh_TW.Launch =啓動 %1 ;====================================================================================================== en.CreateDesktopIcon =Create %1 &desktop icon bg.CreateDesktopIcon =Създаване на %1 &икона на работния плот @@ -249,8 +249,8 @@ no.CreateDesktopIcon =Opprett %1 &skrivebordsikon uk.CreateDesktopIcon =Створити &іконку %1 на робочому столі be.CreateDesktopIcon =Стварыце значок %1 на &працоўным стале gl.CreateDesktopIcon =Crear unha icona de escritorio& %1 -;si.CreateDesktopIcon =%1 වැඩතල නිරූපකය සාදන්න -;zh_HK.CreateDesktopIcon =建立 %1 和桌面圖示 +si.CreateDesktopIcon =%1 වැඩතල නිරූපකය සාදන්න +zh_TW.CreateDesktopIcon =建立 %1 和桌面圖示 ;====================================================================================================== en.InstallAdditionalComponents =Installing additional system components. Please wait... ca.InstallAdditionalComponents =Instal·lació de components de sistema addicionals. Si us plau, espereu... @@ -291,8 +291,8 @@ no.InstallAdditionalComponents =Installerer flere systemkomponenter. Vennligst v uk.InstallAdditionalComponents =Інсталюються додаткові компоненти системи. Зачекайте... be.InstallAdditionalComponents =Устаноўка дадатковых кампанентаў сістэмы. Калі ласка пачакай... gl.InstallAdditionalComponents =Estase a instalar compoñentes adicionais do sistema. Agarda... -;si.InstallAdditionalComponents =අතිරේක පද්ධති සංරචක ස්ථාපනය වෙමින්. රැඳී සිටින්න... -;zh_HK.InstallAdditionalComponents =正在安裝附加系統元件,請稍候... +si.InstallAdditionalComponents =අතිරේක පද්ධති සංරචක ස්ථාපනය වෙමින්. රැඳී සිටින්න... +zh_TW.InstallAdditionalComponents =正在安裝附加系統元件,請稍候... ;====================================================================================================== en.AdditionalTasks =Tasks: bg.AdditionalTasks =Задачи: @@ -333,8 +333,8 @@ no.AdditionalTasks =Oppgaver: uk.AdditionalTasks =Завдання: be.AdditionalTasks =Задачы: gl.AdditionalTasks =Tarefas: -;si.AdditionalTasks =කාර්යයන්: -;zh_HK.AdditionalTasks =工作: +si.AdditionalTasks =කාර්යන්: +zh_TW.AdditionalTasks =工作: ;====================================================================================================== en.Uninstall =Uninstall bg.AdditionalTasks =Деинсталиране @@ -375,8 +375,8 @@ no.Uninstall =Avinstaller uk.Uninstall =Видалити be.Uninstall =Выдаліць gl.Uninstall =Desinstalar -;si.Uninstall =අස්ථාපනය -;zh_HK.Uninstall =解除安裝 +si.Uninstall =අස්ථාපනය +zh_TW.Uninstall =解除安裝 ;====================================================================================================== en.WarningWrongArchitecture =You are trying to install the %1-bit application version over the %2-bit version installed. Please uninstall the previous version first or download the correct version for installation. bg.WarningWrongArchitecture =Опитвате се да инсталирате %1-битовата версия на приложението над инсталираната %2-битова версия. Моля, деинсталирайте първо предишната версия или изтеглете правилната версия за инсталиране. @@ -417,8 +417,8 @@ no.WarningWrongArchitecture =Du forsøker å installere %1-bits-versjonen av pro uk.WarningWrongArchitecture =Ви намагаєтесь інсталювати %1-розрядну версію програми поверх інстальованої %2-розрядної версії. Спочатку видаліть попередню версію або завантажте належну версію для інсталяції. be.WarningWrongArchitecture =Вы спрабуеце ўсталяваць %1-бітную версію прыкладання паверх усталяванай %2-бітнай версіі. Спачатку выдаліце папярэднюю версію або загрузіце правільную версію для ўстаноўкі. gl.WarningWrongArchitecture =Está a intentar instalar a versión do aplicativo %1 bits sobre a versión instalada de %2 bits. Desinstale primeiro a versión anterior ou descargue a versión correcta para a instalación. -;si.WarningWrongArchitecture =ඔබ ස්ථාපිත බිටු-%2 අනුවාදයට උඩින්ග යෙදුමේ බිටු-%1 අනුවාදය ස්ථාපනයට තැත් කරයි. කරුණාකර පෙර අනුවාදය අස්ථාපනය කරන්න හෝ ස්ථාපනය සඳහා නිවැරදි අනුවාදය බාගන්න. -;zh_HK.WarningWrongArchitecture =您正在嘗試安裝 %1-bit 應用程式版本超過 %2-bit 目前已安裝的版本。 請先解除安裝先前的版本或下載正確的版本再進行安裝。 +si.WarningWrongArchitecture =ඔබ ස්ථාපිත බිටු-%2 අනුවාදයට උඩින්ග යෙදුමේ බිටු-%1 අනුවාදය ස්ථාපනයට තැත් කරයි. කරුණාකර පෙර අනුවාදය අස්ථාපනය කරන්න හෝ ස්ථාපනය සඳහා නිවැරදි අනුවාදය බාගන්න. +zh_TW.WarningWrongArchitecture =您正在嘗試安裝 %1-bit 應用程式版本超過 %2-bit 目前已安裝的版本。 請先解除安裝先前的版本或下載正確的版本再進行安裝。 ;====================================================================================================== en.UpdateAppRunning=Setup has detected that %1 is currently running.%n%nIt'll be closed automatically. Click OK to continue, or Cancel to exit. @@ -460,8 +460,8 @@ no.UpdateAppRunning=Installasjonen har oppdaget at %1 kjører for øyeblikket.%n uk.UpdateAppRunning=Програма інсталяції виявила, що запущено %1.%n%nЦя програма буде закрита автоматично. Натисніть "ОК", щоб продовжити, або "Скасувати", щоб вийти. be.UpdateAppRunning=Налада выявіла, што %1 зараз працуе.%n%nЯно будзе аўтаматычна зачынена. Націсніце OK, каб працягнуць, або Адмяніць, каб выйсці. gl.UpdateAppRunning=A instalación detectou que %1 está en execución.%En% Pecharase automaticamente. Preme en Aceptar para continuar ou en Cancelar para saír. -;si.UpdateAppRunning=%1 දැනට ධාවනය වන බව පිහිටුමට අනාවරණය වී ඇත.%n%nඑය ස්වයංක්‍රීයව වසා දමනු ඇත. ඉදිරියට යාමට හරි ද, හෝ පිටවීමට අවලංගු ද ඔබන්න. -;zh_HK.UpdateAppRunning=安裝程式偵測到 %1 正在執行中。%n%n將會自動關閉。 點擊 確認 繼續,或 取消 離開。 +si.UpdateAppRunning=%1 දැනට ධාවනය වන බව පිහිටුමට අනාවරණය වී ඇත.%n%nඑය ස්වයංක්‍රීයව වසා දමනු ඇත. ඉදිරියට යාමට හරි ද, හෝ පිටවීමට අවලංගු ද ඔබන්න. +zh_TW.UpdateAppRunning=安裝程式偵測到 %1 正在執行中。%n%n將會自動關閉。 點擊 確認 繼續,或 取消 離開。 ;====================================================================================================== en.WarningClearAppData =Do you want to clear the user settings and application cached data? bg.WarningClearAppData =Искате ли да изчистите потребителските настройки и кешираните данни на приложението? @@ -502,8 +502,8 @@ no.WarningClearAppData =Vil du slette brukerinnstillinger og bufrede data for pr uk.WarningClearAppData =Очистити налаштування користувача та кешовані дані програми? be.WarningClearAppData =Хочаце ачысціць налады карыстальніка і кэшаваныя даныя прыкладання? gl.WarningClearAppData =Quere borrar a configuración do usuario e os datos da caché do aplicativo? -;si.WarningClearAppData =ඔබට පරිශ්‍රීලක සැකසුම් හා නිහිතගත යෙදුමේ දත්ත හිස් කිරීමට අවශ්‍යද? -;zh_HK.WarningClearAppData =您想要清除使用者設定和應用程式內的快取資料嗎? +si.WarningClearAppData =ඔබට පරිශ්‍රීලක සැකසුම් හා යෙදුමේ නිහිතගත දත්ත හිස් කිරීමට වුවමනාද? +zh_TW.WarningClearAppData =您想要清除使用者設定和應用程式內的快取資料嗎? ;====================================================================================================== @@ -527,7 +527,7 @@ gl.WarningClearAppData =Quere borrar a configuración do usuario e os datos da c ;be.AssociateDescription =Звязаць тыпы файлаў дакументаў офіса з %1 ;gl.AssociateDescription =Asociar tipos de ficheiros de documentos de oficina con %1 ;si.AssociateDescription =%1 සමඟ කාර්යාල ලේඛන ගොනු වර්ග සම්බන්ධ කරන්න -;zh_HK.AssociateDescription =與文書處理檔案類型聯結 %1 +;zh_TW.AssociateDescription =與文書處理檔案類型聯結 %1 ;====================================================================================================== en.UpdateService =Update service for {#sAppName} cs.UpdateService =Služba aktualizace {#sAppName} @@ -993,10 +993,9 @@ Source: {#sBrandingFolder}\win-linux\package\windows\data\VisualElementsManifest Source: {#sBrandingFolder}\win-linux\package\windows\data\visual_elements_icon_150x150.png; DestDir: {app}\browser; MinVersion: 6.3; Source: {#sBrandingFolder}\win-linux\package\windows\data\visual_elements_icon_71x71.png; DestDir: {app}\browser; MinVersion: 6.3; -#if defined(_WIN_XP) + defined(EMBED_HELP) Source: {#DEPLOY_PATH}\*; DestDir: {app}; Flags: recursesubdirs; -#else -Source: {#DEPLOY_PATH}\*; DestDir: {app}; Excludes: "editors\web-apps\apps\*\main\resources\help"; Flags: recursesubdirs; +#if defined(_WIN_XP) | defined(EMBED_HELP) +Source: "{#DEPLOY_PATH}-Help\*"; DestDir: {app}; Flags: recursesubdirs; #endif Source: {#DEPLOY_PATH}\*.exe; DestDir: {app}; Flags: signonce; Source: {#DEPLOY_PATH}\*.dll; DestDir: {app}; Flags: signonce; diff --git a/win-linux/package/windows/make_zip.ps1 b/win-linux/package/windows/make_zip.ps1 index 93642490f..46f052be6 100644 --- a/win-linux/package/windows/make_zip.ps1 +++ b/win-linux/package/windows/make_zip.ps1 @@ -1,8 +1,9 @@ param ( + [Parameter(Mandatory)][string]$Target, [string]$BuildDir = "build", [string]$DesktopDir = "DesktopEditors", [string]$MultimediaDir, - [Parameter(Mandatory)][string]$OutFile, + [string]$BrandingDir = ".", [switch]$ExcludeHelp, [switch]$Sign, [string]$CertName = "Ascensio System SIA", @@ -12,52 +13,104 @@ param ( $ErrorActionPreference = "Stop" Set-Location $PSScriptRoot +$Suffix = switch ( $Target ) +{ + "windows_x64" { "x64" } + "windows_x86" { "x86" } + "windows_x64_xp" { "x64-xp" } + "windows_x86_xp" { "x86-xp" } +} +$DesktopHelpDir = "$DesktopDir-Help" + # Check directory -if ( -Not (Test-Path -Path $BuildDir) ) { +if ( -Not (Test-Path $BuildDir) ) { Write-Error "Path $BuildDir does not exist" } -if ( $Sign ) { - if ( $DesktopDir ) { - Set-Location "$BuildDir\$DesktopDir" +# Copy VisualElements +Write-Host "Copy: $BrandingDir\data\VisualElementsManifest.xml > $BuildDir\$DesktopDir\DesktopEditors.VisualElementsManifest.xml" -ForegroundColor Yellow +Copy-Item -Path "$BrandingDir\data\VisualElementsManifest.xml" ` + -Destination "$BuildDir\$DesktopDir\DesktopEditors.VisualElementsManifest.xml" ` + -Force +Write-Host "Copy: $BrandingDir\data\visual_elements_icon_* > $BuildDir\$DesktopDir\browser" -ForegroundColor Yellow +New-Item "$BuildDir\$DesktopDir\browser" -ItemType Directory -Force | Out-Null +Copy-Item -Path "$BrandingDir\data\visual_elements_icon_*" ` + -Destination "$BuildDir\$DesktopDir\browser" -Force - $SignFiles = Get-ChildItem *.exe, *.dll, converter\*.exe, converter\*.dll ` +# Move Help +Get-ChildItem "$BuildDir\$DesktopDir\editors\web-apps\apps\*\main\resources\help" -Directory ` + | ForEach-Object { + $src = $(Split-Path $_.FullName -Parent | Resolve-Path -Relative) + $dst = $src.Replace("\$DesktopDir\","\$DesktopHelpDir\") + Write-Host "Move: $src\help > $dst" -ForegroundColor Yellow + New-Item "$dst" -ItemType Directory | Out-Null + Move-Item -Path "$src\help" -Destination "$dst" + } + +if ( $DesktopDir ) { + Set-Location "$BuildDir\$DesktopDir" + if ( $Sign ) { + $SignFiles = Get-ChildItem ` + *.exe, *.dll, converter\*.exe, converter\*.dll, plugins\*\*.dll ` | Resolve-Path -Relative # Sign - Write-Host "signtool sign /a /n $CertName /t $TimestampServer /v $SignFiles" -ForegroundColor Yellow + Write-Host "signtool sign /a /n $CertName /t $TimestampServer $SignFiles" -ForegroundColor Yellow & signtool sign /a /n $CertName /t $TimestampServer /v $SignFiles if ( $LastExitCode -ne 0 ) { throw } # Verify - Write-Host "signtool verify /pa /all /v $SignFiles" -ForegroundColor Yellow - & signtool verify /pa /all /v $SignFiles + Write-Host "signtool verify /pa /all $SignFiles" -ForegroundColor Yellow + & signtool verify /pa /all $SignFiles + if ( $LastExitCode -ne 0 ) { throw } + # VLC plugin cache + Write-Host ".\vlc-cache-gen $PWD\plugins" -ForegroundColor Yellow + & .\vlc-cache-gen "$PWD\plugins" if ( $LastExitCode -ne 0 ) { throw } - - Set-Location $PSScriptRoot } + if ( Test-Path "vlc-cache-gen.exe" ) { + Write-Host "Delete: vlc-cache-gen.exe" -ForegroundColor Yellow + Remove-Item "vlc-cache-gen.exe" -Force + } + Set-Location $PSScriptRoot +} - if ( $MultimediaDir ) { - Set-Location "$BuildDir\$MultimediaDir" - - $SignFiles = Get-ChildItem *.exe, *.dll | Resolve-Path -Relative +if ( $MultimediaDir ) { + Set-Location "$BuildDir\$MultimediaDir" + if ( $Sign ) { + $SignFiles = Get-ChildItem *.exe, *.dll, plugins\*\*.dll ` + | Resolve-Path -Relative # Sign Write-Host "signtool sign /a /n $CertName /t $TimestampServer /v $SignFiles" -ForegroundColor Yellow & signtool sign /a /n $CertName /t $TimestampServer /v $SignFiles if ( $LastExitCode -ne 0 ) { throw } # Verify - Write-Host "signtool verify /pa /all /v $SignFiles" -ForegroundColor Yellow - & signtool verify /pa /all /v $SignFiles + Write-Host "signtool verify /pa /all $SignFiles" -ForegroundColor Yellow + & signtool verify /pa /all $SignFiles + if ( $LastExitCode -ne 0 ) { throw } + # VLC plugin cache + Write-Host ".\vlc-cache-gen $PWD\plugins" -ForegroundColor Yellow + & .\vlc-cache-gen "$PWD\plugins" if ( $LastExitCode -ne 0 ) { throw } - - Set-Location $PSScriptRoot } + if ( Test-Path "vlc-cache-gen.exe" ) { + Write-Host "Delete: vlc-cache-gen.exe" -ForegroundColor Yellow + Remove-Item "vlc-cache-gen.exe" -Force + } + Set-Location $PSScriptRoot } -# Create archive +# Create archives +$OutFile = "$Env:COMPANY_NAME-$DesktopDir-$Env:PRODUCT_VERSION.$Env:BUILD_NUMBER-$Suffix.zip" +Write-Host "7z a -y $OutFile .\$BuildDir\$DesktopDir\*" -ForegroundColor Yellow +& 7z a -y $OutFile .\$BuildDir\$DesktopDir\* +if ( $LastExitCode -ne 0 ) { throw } if ( !$ExcludeHelp ) { - Write-Host "7z a -y $OutFile .\$BuildDir\*" -ForegroundColor Yellow - & 7z a -y $OutFile .\$BuildDir\* -} else { - Write-Host "7z a -y $OutFile .\$BuildDir\* -xr!$DesktopDir\editors\web-apps\apps\*\main\resources\help" -ForegroundColor Yellow - & 7z a -y $OutFile .\$BuildDir\* -xr!$DesktopDir\editors\web-apps\apps\*\main\resources\help + Write-Host "7z a -y $OutFile .\$BuildDir\$DesktopHelpDir\*" -ForegroundColor Yellow + & 7z a -y $OutFile .\$BuildDir\$DesktopHelpDir\* + if ( $LastExitCode -ne 0 ) { throw } +} +if ( $MultimediaDir ) { + $OutFile = "$Env:COMPANY_NAME-$MultimediaDir-$Env:PRODUCT_VERSION.$Env:BUILD_NUMBER-$Suffix.zip" + Write-Host "7z a -y $OutFile .\$BuildDir\$MultimediaDir\*" -ForegroundColor Yellow + & 7z a -y $OutFile .\$BuildDir\$MultimediaDir\* + if ( $LastExitCode -ne 0 ) { throw } } -if ( $LastExitCode -ne 0 ) { throw } diff --git a/win-linux/package/windows/uninstall_page.iss b/win-linux/package/windows/uninstall_page.iss index 57468eb16..206255041 100644 --- a/win-linux/package/windows/uninstall_page.iss +++ b/win-linux/package/windows/uninstall_page.iss @@ -13,8 +13,8 @@ pl.UninstallPageLabel=Kliknij Odinstaluj, aby rozpocząć proces odinstalowywani lo.UninstallPageLabel=ກົດປຸ່ມຖອນການຕິດຕັ້ງ ເພື່ອດຳເນີນການຖອນການຕິດຕັ້ງ. nl.UninstallPageLabel=Druk op Verwijderen om verder te gaan met het verwijderen. hy_AM.UninstallPageLabel=Ապատեղադրեք՝ ապատեղադրումը շարունակելու համար: -;si.UninstallPageLabel=අස්ථාපනය සඳහා ඉදිරියට යාමට අස්ථාපනය ඔබන්න. -;zh_HK.UninstallPageLabel=按解除安裝以進行解除安裝。 +si.UninstallPageLabel=අස්ථාපනය සඳහා ඉදිරියට යාමට අස්ථාපනය ඔබන්න. +zh_TW.UninstallPageLabel=按解除安裝以進行解除安裝。 da.UninstallPageLabel=Tryk Afinstaller for at fortsætte med afinstallationen. @@ -31,8 +31,8 @@ pl.UninstallOptionClearData=Usuń wszystkie ustawienia użytkownika oraz dane pa lo.UninstallOptionClearData=ລືບຂໍ້ມູນທີ່ເຫັບໄວ້ໃນແອັບພລິເຄຊັ່ນ ແລະ ລືບການຕັ້ງຄ່າຜູ້ໃຊ້ທັ້ງໝົດ nl.UninstallOptionClearData=Alle gebruikersinstellingen en cachegegevens van toepassingen wissen hy_AM.UninstallOptionClearData=Մաքրել օգտատիրոջ բոլոր կարգավորումները և հավելվածի քեշավորված տվյալները -;si.UninstallOptionClearData=සියළුම පරිශ්‍රීලක සැකසුම් හා නිහිතගත යෙදුමේ දත්ත මකන්න -;zh_HK.UninstallOptionClearData=清除所有使用者戶設定和應用程序暫存資料 +si.UninstallOptionClearData=සියළුම පරිශ්‍රීලක සැකසුම් හා යෙදුමේ නිහිතගත දත්ත මකන්න +zh_TW.UninstallOptionClearData=清除所有使用者戶設定和應用程序暫存資料 da.UninstallOptionClearData=Slet alle brugerdata og applikationens cachede data @@ -74,9 +74,10 @@ begin CheckBox := TNewCheckBox.Create(UninstallProgressForm); CheckBox.Parent := UninstallFirstPage; - CheckBox.Top := PageText.Top + ScaleY(50); + CheckBox.Top := PageText.Top + PageText.Height + ScaleY(8); CheckBox.Left := PageText.Left; CheckBox.Width := UninstallProgressForm.Width; + CheckBox.Height := ScaleY(17); CheckBox.Caption := ' ' + ExpandConstant('{cm:UninstallOptionClearData}'); UninstallProgressForm.InnerNotebook.ActivePage := UninstallFirstPage; diff --git a/win-linux/package/windows/update/changes/7.5.0/changes.html b/win-linux/package/windows/update/changes/7.5.0/changes.html new file mode 100644 index 000000000..cdfe6d5a8 --- /dev/null +++ b/win-linux/package/windows/update/changes/7.5.0/changes.html @@ -0,0 +1,122 @@ + + + + + ONLYOFFICE Desktop Editors Release Notes + + + +
      +

      ONLYOFFICE Desktop Editors 7.5.0 - {{DATE}}

      + +

      New Features

      + +

      All Editors

      +
        +
      • Added support for interface scales >200% (225, 250, 275, 300, 350, 400, 450, 500)
      • +
      • Files from the "Recent files" list of the application have been added to the "File" > “Open Recent” section, according to the editor formats
      • +
      • Updated VLC libraries (for Windows)
      • +
      • Updated the “About” page and the “Check for updates” block (for Windows)
      • +
      • Added a list of changes to deb/rpm packages (for Linux)
      • +
      • The "Last used" option has been added to the editors settings for "Default Zoom Value"
      • +
      • Add a menu for quick access to the most popular symbols to the button for inserting symbols
      • +
      • Support for SVG images
      • +
      • Add a setting to hide the toolbar for equation
      • +
      • Add hints for images in SmartArt objects
      • +
      • Add the ability to open files protected with a password in the embedded viewer
      • +
      • Add the ability to edit points of the autoshape border to the right panel
      • +
      • Only Ctrl + ./Ctrl + , keyboard shortcuts are now used for superscript/subscript characters
      • +
      • Change keyboard shortcuts for moving through the text on macOS
      • +
      +

      Document Editor

      +
        +
      • Automatic hyphenation
      • +
      • Change the selection logic, add the “Smart paragraph selection” option in Advanced Setting
      • +
      • Add the “Remove content control when contents are edited” option to content control settings
      • +
      • Change behavior of the Accept/Reject review buttons in the toolbar
      • +
      • Disable the Zoom out action for the Ctrl + Numpad keyboard shortcut due to the conflict with inserting an em dash
      • +
      • Change the keyboard shortcut for strikeout text formatting on macOS: Ctrl + 5 replaced with Cmd + Shift + X
      • +
      • Change the keyboard shortcut for inserting ellipsis on macOS: Ctrl + Option + . replaced with Option + ;
      • +
      +

      Spreadsheet Editor

      +
        +
      • The ability to display only formulas in cells
      • +
      • Trace precedents / dependents
      • +
      • New function: SORTBY
      • +
      • Added presets for "Margins" and the ability to show/hide "Print titles" in the "File" > "Print" menu
      • +
      • Add the ability to set a number format in the field settings for pivot tables
      • +
      • The Show details feature for working with a Pivot Table
      • +
      • Improvement of the ability to open data on a new sheet by double-clicking a value in a Pivot Table
      • +
      • Autocompletion for days of the week and months when stretching a cell value
      • +
      • Drag-and-drop for columns and rows
      • +
      • Add filters by date and the ability to display data with the "Date" format in the form of a tree in the Autofilter window
      • +
      • Inserting images into headers/footers
      • +
      • External data update for the currently edited source file
      • +
      • The last used Delimiter and Encoding setting for CSV files is now stored locally on the client side
      • +
      • The ability to insert page breaks from the Layout toolbar
      • +
      • Add the ability to open the source for external links
      • +
      • Add the Alt + Down keyboard shortcut for opening the Autofilter window when the header of a column with a filter is selected
      • + +
      +

      Presentation Editor

      +
        +
      • Add the "Morph" transition
      • +
      • Assigning names to objects in advanced settings
      • +
      • The "Number slides from" option has been added to the slide size settings
      • +
      • Notes and Handouts in headers/footers settings
      • +
      • Slide placeholders have alternative descriptions
      • +
      • SmartArt insertion is available via a slide placeholder
      • +
      • Add the ability to navigate to the specific slide with the consecutive pressing of the *slide number* + Enter when previewing a presentation
      • +
      • Change the keyboard shortcut for starting a presentation on macOS: Cmd + Shift + Return is used
      • +
      +

      Forms

      +
        +
      • Bring settings on the right toolbar to unified appearance
      • +
      +

      PDF Editor

      +
        +
      • Support for the PDF form, annotations, comments and drawings
      • +
      + +
      + + diff --git a/win-linux/package/windows/update/changes/7.5.0/changes_ru.html b/win-linux/package/windows/update/changes/7.5.0/changes_ru.html new file mode 100644 index 000000000..73e3455b2 --- /dev/null +++ b/win-linux/package/windows/update/changes/7.5.0/changes_ru.html @@ -0,0 +1,121 @@ + + + + + История изменений ONLYOFFICE Desktop Editors + + + +
      +

      ONLYOFFICE Desktop Editors 7.5.0 - {{DATE}}

      + +

      Новые функции

      + +

      Все редакторы

      +
        +
      • Добавлена поддержка масштабов интерфейса >200% (225, 250, 275, 300, 350, 400, 450, 500)
      • +
      • В меню "Файл" > "Открыть недавние" добавлены файлы из списка "Последние файлы" приложения, по формату соответствующие редактору
      • +
      • Обновлены библиотеки VLC (для Windows)
      • +
      • Обновлена страница О программе и блок обновлений (для Windows)
      • +
      • Добавлен список изменений в deb/rpm пакеты (для Linux)
      • +
      • В "Дополнительные параметры" редакторов в список "Стандартное значение масштаба" добавлена опция "Последний использованный"
      • +
      • В кнопку вставки символов добавлено меню для быстрого доступа к наиболее популярным символам
      • +
      • Добавлена возможность вставки SVG изображений
      • +
      • Добавлена настройка, позволяющая скрыть тулбар для уравнений
      • +
      • Добавлены подсказки к изображениям в SmartArt
      • +
      • Добавлена возможность открытия файлов с паролем в embedded viewer
      • +
      • В правую панель добавлена возможность редактировать точки для границы автофигуры
      • +
      • Горячие клавиши для надстрочных/подстрочных знаков теперь только Ctrl + . / Ctrl + ,
      • +
      • Изменена работа перемещения по тексту с помощью горячих клавиш для macOS
      • +
      +

      Редактор документов

      +
        +
      • Добавлена возможность автоматической расстановки переносов
      • +
      • Изменена логика работы выделения, добавлена настройка "Использовать умное выделение абзацев"
      • +
      • Добавлена настройка "Удалять элемент управления содержимым при редактировании содержимого" в настройки элементов управления содержимым
      • +
      • Изменено поведение кнопок для рецензирования в тулбаре Принять/Отклонить
      • +
      • Отключено действие Уменьшить для Ctrl + Numpad – из-за конфликта со вставкой короткого тире
      • +
      • Изменена клавиша применения Зачеркнутый c Ctrl + 5 на Cmd + Shift + X для macOS
      • +
      • Изменено сочетание для вставки многоточия для macOS с Ctrl + Option + . на Option + ;
      • +
      +

      Редактор таблиц

      +
        +
      • Добавлена возможность показать формулы в ячейках
      • +
      • Добавлена возможность отображения связей между формулами и ячейками
      • +
      • Добавлена поддержка новой функции СОРТПО
      • +
      • В меню "Файл" > "Печать" для опции "Поля" добавлены пресеты и возможность скрыть/показать для "Печатать залоговки"
      • +
      • В настройки полей для сводных таблиц добавлена возможность задать формат числа
      • +
      • В контекстное меню сводных таблиц добавлен пункт Показать детали для отображения подробных сведений о поле значений
      • +
      • Возможность показать детали двойным кликом по ячейке сводной таблицы
      • +
      • Добавлено автозаполнение днями недели и месяцами
      • +
      • Добавлена возможность перемещения строк и столбцов таблицы с помощью drag-n-drop
      • +
      • В окно Автофильтра добавлены фильтры по датам и вывод данных с форматом Дата в форме дерева
      • +
      • Добавлена возможность вставлять изображения в колонтитулы
      • +
      • Добавлена возможность обновления внешних данных в редакторе таблиц для файла-источника, который находится в процессе редактирования
      • +
      • Последние использованные настройки "Кодировка" и "Разделитель" для CSV-файлов теперь хранятся локально на стороне клиента
      • +
      • На панель инструментов "Макет" добавлена возможность вставлять разрывы страниц
      • +
      • Добавлена возможность открытия источника для внешних ссылок
      • +
      • Добавлена горячая клавиша Alt + Down для вызова окна Автофильтра, если выделен заголовок столбца с фильтром
      • +
      +

      Редактор презентаций

      +
        +
      • Добавлен переход "Трансформация"
      • +
      • В "Дополнительные параметры" для объектов на слайде добавлена возможность присваивать имена
      • +
      • В "Настройки размера слайда" добавлена опция "Нумеровать слайды с"
      • +
      • Добавлена вкладка Заметки и раздаточные материалы в настройки колонтитулов
      • +
      • Добавлены подсказки к плейсхолдерам на слайдах в редакторе презентаций
      • +
      • Добавлена возможность добавлять SmartArt через плейсхолдер на слайде
      • +
      • Добавлена возможность перехода к нужному слайду через последовательное нажатие *номер слайда* + Enter в режиме демонстрации
      • +
      • Запуск слайдшоу в редакторе презентаций для macOS изменен на Cmd + Shift + Return
      • +
      +

      Формы

      +
        +
      • Названия настроек на правой панели инструментов приведены к общему виду
      • +
      +

      Редактор PDF

      +
        +
      • Заполнение форм, аннотации, комментарии и рисование
      • +
      + +
      + + diff --git a/win-linux/res/icons/app-icon_128.png b/win-linux/res/icons/app-icon_128.png new file mode 100644 index 000000000..8993ca163 Binary files /dev/null and b/win-linux/res/icons/app-icon_128.png differ diff --git a/win-linux/res/icons/app-icon_256.png b/win-linux/res/icons/app-icon_256.png new file mode 100644 index 000000000..5c48ba150 Binary files /dev/null and b/win-linux/res/icons/app-icon_256.png differ diff --git a/win-linux/res/icons/app-icon_64.png b/win-linux/res/icons/app-icon_64.png new file mode 100644 index 000000000..d30da72e1 Binary files /dev/null and b/win-linux/res/icons/app-icon_64.png differ diff --git a/win-linux/res/icons/app-icon_96.png b/win-linux/res/icons/app-icon_96.png new file mode 100644 index 000000000..d9a120ba5 Binary files /dev/null and b/win-linux/res/icons/app-icon_96.png differ diff --git a/win-linux/res/icons/close.svg b/win-linux/res/icons/close.svg new file mode 100644 index 000000000..d845e2de7 --- /dev/null +++ b/win-linux/res/icons/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/close_light.svg b/win-linux/res/icons/close_light.svg new file mode 100644 index 000000000..941efc802 --- /dev/null +++ b/win-linux/res/icons/close_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/maximize.png b/win-linux/res/icons/maximize.png deleted file mode 100644 index 696d3c503..000000000 Binary files a/win-linux/res/icons/maximize.png and /dev/null differ diff --git a/win-linux/res/icons/maximize.svg b/win-linux/res/icons/maximize.svg new file mode 100644 index 000000000..871afa377 --- /dev/null +++ b/win-linux/res/icons/maximize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/maximize@1.25x.png b/win-linux/res/icons/maximize@1.25x.png deleted file mode 100644 index fa681c714..000000000 Binary files a/win-linux/res/icons/maximize@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize@1.5x.png b/win-linux/res/icons/maximize@1.5x.png deleted file mode 100644 index ccb80a31b..000000000 Binary files a/win-linux/res/icons/maximize@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize@1.75x.png b/win-linux/res/icons/maximize@1.75x.png deleted file mode 100644 index cb62187f1..000000000 Binary files a/win-linux/res/icons/maximize@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize@2x.png b/win-linux/res/icons/maximize@2x.png deleted file mode 100644 index 5e26cac51..000000000 Binary files a/win-linux/res/icons/maximize@2x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize_light.png b/win-linux/res/icons/maximize_light.png deleted file mode 100644 index 9c80daa2e..000000000 Binary files a/win-linux/res/icons/maximize_light.png and /dev/null differ diff --git a/win-linux/res/icons/maximize_light.svg b/win-linux/res/icons/maximize_light.svg new file mode 100644 index 000000000..8d2d28540 --- /dev/null +++ b/win-linux/res/icons/maximize_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/maximize_light@1.25x.png b/win-linux/res/icons/maximize_light@1.25x.png deleted file mode 100644 index 40d531e21..000000000 Binary files a/win-linux/res/icons/maximize_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize_light@1.5x.png b/win-linux/res/icons/maximize_light@1.5x.png deleted file mode 100644 index 74c87319a..000000000 Binary files a/win-linux/res/icons/maximize_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize_light@1.75x.png b/win-linux/res/icons/maximize_light@1.75x.png deleted file mode 100644 index 8f292d863..000000000 Binary files a/win-linux/res/icons/maximize_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/maximize_light@2x.png b/win-linux/res/icons/maximize_light@2x.png deleted file mode 100644 index 55639a381..000000000 Binary files a/win-linux/res/icons/maximize_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator-dark.png b/win-linux/res/icons/menu-indicator-dark.png deleted file mode 100644 index e7e8cc7ab..000000000 Binary files a/win-linux/res/icons/menu-indicator-dark.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator.png b/win-linux/res/icons/menu-indicator.png deleted file mode 100644 index da6291b61..000000000 Binary files a/win-linux/res/icons/menu-indicator.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator@1.25x.png b/win-linux/res/icons/menu-indicator@1.25x.png deleted file mode 100644 index 8b6ba16a3..000000000 Binary files a/win-linux/res/icons/menu-indicator@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator@1.5x.png b/win-linux/res/icons/menu-indicator@1.5x.png deleted file mode 100644 index 6690e5f1b..000000000 Binary files a/win-linux/res/icons/menu-indicator@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator@1.75x.png b/win-linux/res/icons/menu-indicator@1.75x.png deleted file mode 100644 index f322347cd..000000000 Binary files a/win-linux/res/icons/menu-indicator@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/menu-indicator@2x.png b/win-linux/res/icons/menu-indicator@2x.png deleted file mode 100644 index 5db52bbc9..000000000 Binary files a/win-linux/res/icons/menu-indicator@2x.png and /dev/null differ diff --git a/win-linux/res/icons/menu_indicator_hover.svg b/win-linux/res/icons/menu_indicator_hover.svg new file mode 100644 index 000000000..16405d008 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_hover.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_hover_light.svg b/win-linux/res/icons/menu_indicator_hover_light.svg new file mode 100644 index 000000000..2a23c6be5 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_hover_light.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_normal.svg b/win-linux/res/icons/menu_indicator_normal.svg new file mode 100644 index 000000000..cf8160da1 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_normal.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_normal_light.svg b/win-linux/res/icons/menu_indicator_normal_light.svg new file mode 100644 index 000000000..f9ddfff06 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_normal_light.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_pressed.svg b/win-linux/res/icons/menu_indicator_pressed.svg new file mode 100644 index 000000000..a908e63a5 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_pressed.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_pressed_light.svg b/win-linux/res/icons/menu_indicator_pressed_light.svg new file mode 100644 index 000000000..84509063d --- /dev/null +++ b/win-linux/res/icons/menu_indicator_pressed_light.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/menu_indicator_undef.svg b/win-linux/res/icons/menu_indicator_undef.svg new file mode 100644 index 000000000..ecd328091 --- /dev/null +++ b/win-linux/res/icons/menu_indicator_undef.svg @@ -0,0 +1,55 @@ + + diff --git a/win-linux/res/icons/message_confirm.svg b/win-linux/res/icons/message_confirm.svg new file mode 100644 index 000000000..a302d4ab8 --- /dev/null +++ b/win-linux/res/icons/message_confirm.svg @@ -0,0 +1,54 @@ + + diff --git a/win-linux/res/icons/message_error.svg b/win-linux/res/icons/message_error.svg new file mode 100644 index 000000000..a76876f5e --- /dev/null +++ b/win-linux/res/icons/message_error.svg @@ -0,0 +1,56 @@ + + diff --git a/win-linux/res/icons/message_icons.png b/win-linux/res/icons/message_icons.png deleted file mode 100644 index 908d73c8c..000000000 Binary files a/win-linux/res/icons/message_icons.png and /dev/null differ diff --git a/win-linux/res/icons/message_icons@1.25x.png b/win-linux/res/icons/message_icons@1.25x.png deleted file mode 100644 index 5ab8854e1..000000000 Binary files a/win-linux/res/icons/message_icons@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/message_icons@1.5x.png b/win-linux/res/icons/message_icons@1.5x.png deleted file mode 100644 index ae43b323c..000000000 Binary files a/win-linux/res/icons/message_icons@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/message_icons@1.75x.png b/win-linux/res/icons/message_icons@1.75x.png deleted file mode 100644 index 1e60c5f8f..000000000 Binary files a/win-linux/res/icons/message_icons@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/message_icons@2x.png b/win-linux/res/icons/message_icons@2x.png deleted file mode 100644 index a61e0be4f..000000000 Binary files a/win-linux/res/icons/message_icons@2x.png and /dev/null differ diff --git a/win-linux/res/icons/message_info.svg b/win-linux/res/icons/message_info.svg new file mode 100644 index 000000000..276b7cbfc --- /dev/null +++ b/win-linux/res/icons/message_info.svg @@ -0,0 +1,60 @@ + + + + + diff --git a/win-linux/res/icons/message_warn.svg b/win-linux/res/icons/message_warn.svg new file mode 100644 index 000000000..edfb2af43 --- /dev/null +++ b/win-linux/res/icons/message_warn.svg @@ -0,0 +1,47 @@ + + diff --git a/win-linux/res/icons/minimize-close.png b/win-linux/res/icons/minimize-close.png deleted file mode 100644 index 1cbd0c1da..000000000 Binary files a/win-linux/res/icons/minimize-close.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close@1.25x.png b/win-linux/res/icons/minimize-close@1.25x.png deleted file mode 100644 index 36151eb52..000000000 Binary files a/win-linux/res/icons/minimize-close@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close@1.5x.png b/win-linux/res/icons/minimize-close@1.5x.png deleted file mode 100644 index 8d96f4868..000000000 Binary files a/win-linux/res/icons/minimize-close@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close@1.75x.png b/win-linux/res/icons/minimize-close@1.75x.png deleted file mode 100644 index 65ba6e527..000000000 Binary files a/win-linux/res/icons/minimize-close@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close@2x.png b/win-linux/res/icons/minimize-close@2x.png deleted file mode 100644 index 0f8dc49b2..000000000 Binary files a/win-linux/res/icons/minimize-close@2x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close_light.png b/win-linux/res/icons/minimize-close_light.png deleted file mode 100644 index fc0017e05..000000000 Binary files a/win-linux/res/icons/minimize-close_light.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close_light@1.25x.png b/win-linux/res/icons/minimize-close_light@1.25x.png deleted file mode 100644 index a21005fdf..000000000 Binary files a/win-linux/res/icons/minimize-close_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close_light@1.5x.png b/win-linux/res/icons/minimize-close_light@1.5x.png deleted file mode 100644 index c2f35dce8..000000000 Binary files a/win-linux/res/icons/minimize-close_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close_light@1.75x.png b/win-linux/res/icons/minimize-close_light@1.75x.png deleted file mode 100644 index e97205375..000000000 Binary files a/win-linux/res/icons/minimize-close_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize-close_light@2x.png b/win-linux/res/icons/minimize-close_light@2x.png deleted file mode 100644 index 4a8bc4349..000000000 Binary files a/win-linux/res/icons/minimize-close_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/minimize.svg b/win-linux/res/icons/minimize.svg new file mode 100644 index 000000000..8b519db2e --- /dev/null +++ b/win-linux/res/icons/minimize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/minimize_light.svg b/win-linux/res/icons/minimize_light.svg new file mode 100644 index 000000000..ce7076c52 --- /dev/null +++ b/win-linux/res/icons/minimize_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/restore.svg b/win-linux/res/icons/restore.svg new file mode 100644 index 000000000..04b3c9084 --- /dev/null +++ b/win-linux/res/icons/restore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/restore_light.svg b/win-linux/res/icons/restore_light.svg new file mode 100644 index 000000000..a0beca6d6 --- /dev/null +++ b/win-linux/res/icons/restore_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/win-linux/res/icons/tab_close_active.png b/win-linux/res/icons/tab_close_active.png deleted file mode 100644 index 9e19dd664..000000000 Binary files a/win-linux/res/icons/tab_close_active.png and /dev/null differ diff --git a/win-linux/res/icons/tab_close_active.svg b/win-linux/res/icons/tab_close_active.svg new file mode 100644 index 000000000..9525474fe --- /dev/null +++ b/win-linux/res/icons/tab_close_active.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/tab_close_active_2x.png b/win-linux/res/icons/tab_close_active_2x.png deleted file mode 100644 index 7b45cfb02..000000000 Binary files a/win-linux/res/icons/tab_close_active_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tab_close_hover.png b/win-linux/res/icons/tab_close_hover.png deleted file mode 100644 index 6fdd745ef..000000000 Binary files a/win-linux/res/icons/tab_close_hover.png and /dev/null differ diff --git a/win-linux/res/icons/tab_close_hover.svg b/win-linux/res/icons/tab_close_hover.svg new file mode 100644 index 000000000..8b5a6d974 --- /dev/null +++ b/win-linux/res/icons/tab_close_hover.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/tab_close_hover_2x.png b/win-linux/res/icons/tab_close_hover_2x.png deleted file mode 100644 index 688c4ac44..000000000 Binary files a/win-linux/res/icons/tab_close_hover_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tab_close_normal.png b/win-linux/res/icons/tab_close_normal.png deleted file mode 100644 index bd6472205..000000000 Binary files a/win-linux/res/icons/tab_close_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tab_close_normal.svg b/win-linux/res/icons/tab_close_normal.svg new file mode 100644 index 000000000..0f417576a --- /dev/null +++ b/win-linux/res/icons/tab_close_normal.svg @@ -0,0 +1,41 @@ + + diff --git a/win-linux/res/icons/tab_close_normal_2x.png b/win-linux/res/icons/tab_close_normal_2x.png deleted file mode 100644 index 2a7768c05..000000000 Binary files a/win-linux/res/icons/tab_close_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active.png b/win-linux/res/icons/tabbar/changetab_left_active.png deleted file mode 100644 index 9a241d220..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_active@1.25x.png deleted file mode 100644 index cabb36dbe..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_active@1.5x.png deleted file mode 100644 index 8353d6ed8..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_active@1.75x.png deleted file mode 100644 index d21362909..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active@2x.png b/win-linux/res/icons/tabbar/changetab_left_active@2x.png deleted file mode 100644 index 6b8d5a519..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active_light.png b/win-linux/res/icons/tabbar/changetab_left_active_light.png deleted file mode 100644 index 7d955babb..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_active_light@1.25x.png deleted file mode 100644 index e714d2ffc..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_active_light@1.5x.png deleted file mode 100644 index 38481c419..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_active_light@1.75x.png deleted file mode 100644 index 145ac8a6e..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_active_light@2x.png b/win-linux/res/icons/tabbar/changetab_left_active_light@2x.png deleted file mode 100644 index 97f4e4172..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_active_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled.png b/win-linux/res/icons/tabbar/changetab_left_disabled.png deleted file mode 100644 index 30596888e..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_disabled@1.25x.png deleted file mode 100644 index 5dc640eec..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_disabled@1.5x.png deleted file mode 100644 index 06c9a5a5f..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_disabled@1.75x.png deleted file mode 100644 index a9fc81606..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled@2x.png b/win-linux/res/icons/tabbar/changetab_left_disabled@2x.png deleted file mode 100644 index 306912791..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled_light.png b/win-linux/res/icons/tabbar/changetab_left_disabled_light.png deleted file mode 100644 index 555107529..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.25x.png deleted file mode 100644 index 387f20b98..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.5x.png deleted file mode 100644 index 7a3dc5a83..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.75x.png deleted file mode 100644 index 99e7be50a..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_disabled_light@2x.png b/win-linux/res/icons/tabbar/changetab_left_disabled_light@2x.png deleted file mode 100644 index 48ce49ecc..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_disabled_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover.png b/win-linux/res/icons/tabbar/changetab_left_hover.png deleted file mode 100644 index 9a241d220..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_hover@1.25x.png deleted file mode 100644 index cabb36dbe..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_hover@1.5x.png deleted file mode 100644 index 8353d6ed8..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_hover@1.75x.png deleted file mode 100644 index d21362909..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover@2x.png b/win-linux/res/icons/tabbar/changetab_left_hover@2x.png deleted file mode 100644 index 6b8d5a519..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover_light.png b/win-linux/res/icons/tabbar/changetab_left_hover_light.png deleted file mode 100644 index 7d955babb..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_hover_light@1.25x.png deleted file mode 100644 index e714d2ffc..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_hover_light@1.5x.png deleted file mode 100644 index 38481c419..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_hover_light@1.75x.png deleted file mode 100644 index 145ac8a6e..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_hover_light@2x.png b/win-linux/res/icons/tabbar/changetab_left_hover_light@2x.png deleted file mode 100644 index 97f4e4172..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_hover_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal.png b/win-linux/res/icons/tabbar/changetab_left_normal.png deleted file mode 100644 index 9a241d220..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_normal@1.25x.png deleted file mode 100644 index cabb36dbe..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_normal@1.5x.png deleted file mode 100644 index 8353d6ed8..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_normal@1.75x.png deleted file mode 100644 index d21362909..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal@2x.png b/win-linux/res/icons/tabbar/changetab_left_normal@2x.png deleted file mode 100644 index 6b8d5a519..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal_light.png b/win-linux/res/icons/tabbar/changetab_left_normal_light.png deleted file mode 100644 index 7d955babb..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_left_normal_light@1.25x.png deleted file mode 100644 index e714d2ffc..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_left_normal_light@1.5x.png deleted file mode 100644 index 38481c419..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_left_normal_light@1.75x.png deleted file mode 100644 index 145ac8a6e..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_left_normal_light@2x.png b/win-linux/res/icons/tabbar/changetab_left_normal_light@2x.png deleted file mode 100644 index 97f4e4172..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_left_normal_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active.png b/win-linux/res/icons/tabbar/changetab_right_active.png deleted file mode 100644 index 8db80e1aa..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_active@1.25x.png deleted file mode 100644 index ea6ca5301..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_active@1.5x.png deleted file mode 100644 index 0787de1bd..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_active@1.75x.png deleted file mode 100644 index d66ad3429..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active@2x.png b/win-linux/res/icons/tabbar/changetab_right_active@2x.png deleted file mode 100644 index 732149555..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active_light.png b/win-linux/res/icons/tabbar/changetab_right_active_light.png deleted file mode 100644 index 1b9dc2e36..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_active_light@1.25x.png deleted file mode 100644 index 6a7c4fb73..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_active_light@1.5x.png deleted file mode 100644 index ff205abd3..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_active_light@1.75x.png deleted file mode 100644 index 2027b60a6..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_active_light@2x.png b/win-linux/res/icons/tabbar/changetab_right_active_light@2x.png deleted file mode 100644 index 09851db05..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_active_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled.png b/win-linux/res/icons/tabbar/changetab_right_disabled.png deleted file mode 100644 index f60406fda..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_disabled@1.25x.png deleted file mode 100644 index c1e6012a0..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_disabled@1.5x.png deleted file mode 100644 index ae8672a15..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_disabled@1.75x.png deleted file mode 100644 index 3262974ea..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled@2x.png b/win-linux/res/icons/tabbar/changetab_right_disabled@2x.png deleted file mode 100644 index 345787db6..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled_light.png b/win-linux/res/icons/tabbar/changetab_right_disabled_light.png deleted file mode 100644 index 98c7e88a5..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.25x.png deleted file mode 100644 index 16a222cfb..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.5x.png deleted file mode 100644 index 92d7cb84d..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.75x.png deleted file mode 100644 index 44a648c0e..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_disabled_light@2x.png b/win-linux/res/icons/tabbar/changetab_right_disabled_light@2x.png deleted file mode 100644 index c8ba9bfc2..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_disabled_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover.png b/win-linux/res/icons/tabbar/changetab_right_hover.png deleted file mode 100644 index 8db80e1aa..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_hover@1.25x.png deleted file mode 100644 index ea6ca5301..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_hover@1.5x.png deleted file mode 100644 index 0787de1bd..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_hover@1.75x.png deleted file mode 100644 index d66ad3429..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover@2x.png b/win-linux/res/icons/tabbar/changetab_right_hover@2x.png deleted file mode 100644 index 732149555..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover_light.png b/win-linux/res/icons/tabbar/changetab_right_hover_light.png deleted file mode 100644 index 1b9dc2e36..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_hover_light@1.25x.png deleted file mode 100644 index 6a7c4fb73..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_hover_light@1.5x.png deleted file mode 100644 index ff205abd3..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_hover_light@1.75x.png deleted file mode 100644 index 2027b60a6..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_hover_light@2x.png b/win-linux/res/icons/tabbar/changetab_right_hover_light@2x.png deleted file mode 100644 index 09851db05..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_hover_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal.png b/win-linux/res/icons/tabbar/changetab_right_normal.png deleted file mode 100644 index 8db80e1aa..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_normal@1.25x.png deleted file mode 100644 index ea6ca5301..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_normal@1.5x.png deleted file mode 100644 index 0787de1bd..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_normal@1.75x.png deleted file mode 100644 index d66ad3429..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal@2x.png b/win-linux/res/icons/tabbar/changetab_right_normal@2x.png deleted file mode 100644 index 732149555..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal_light.png b/win-linux/res/icons/tabbar/changetab_right_normal_light.png deleted file mode 100644 index 1b9dc2e36..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.25x.png b/win-linux/res/icons/tabbar/changetab_right_normal_light@1.25x.png deleted file mode 100644 index 6a7c4fb73..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.5x.png b/win-linux/res/icons/tabbar/changetab_right_normal_light@1.5x.png deleted file mode 100644 index ff205abd3..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.75x.png b/win-linux/res/icons/tabbar/changetab_right_normal_light@1.75x.png deleted file mode 100644 index 2027b60a6..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/changetab_right_normal_light@2x.png b/win-linux/res/icons/tabbar/changetab_right_normal_light@2x.png deleted file mode 100644 index 09851db05..000000000 Binary files a/win-linux/res/icons/tabbar/changetab_right_normal_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal.png b/win-linux/res/icons/tabbar/portal.png deleted file mode 100644 index deaed8e86..000000000 Binary files a/win-linux/res/icons/tabbar/portal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal.svg b/win-linux/res/icons/tabbar/portal.svg new file mode 100644 index 000000000..58d7f1ca6 --- /dev/null +++ b/win-linux/res/icons/tabbar/portal.svg @@ -0,0 +1,63 @@ + + diff --git a/win-linux/res/icons/tabbar/portal@1.25x.png b/win-linux/res/icons/tabbar/portal@1.25x.png deleted file mode 100644 index 2a077bc44..000000000 Binary files a/win-linux/res/icons/tabbar/portal@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal@1.5x.png b/win-linux/res/icons/tabbar/portal@1.5x.png deleted file mode 100644 index 892a94c21..000000000 Binary files a/win-linux/res/icons/tabbar/portal@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal@1.75x.png b/win-linux/res/icons/tabbar/portal@1.75x.png deleted file mode 100644 index 7b4548907..000000000 Binary files a/win-linux/res/icons/tabbar/portal@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal@2x.png b/win-linux/res/icons/tabbar/portal@2x.png deleted file mode 100644 index 938998546..000000000 Binary files a/win-linux/res/icons/tabbar/portal@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal_light.png b/win-linux/res/icons/tabbar/portal_light.png deleted file mode 100644 index 0a2b8589e..000000000 Binary files a/win-linux/res/icons/tabbar/portal_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal_light.svg b/win-linux/res/icons/tabbar/portal_light.svg new file mode 100644 index 000000000..278891c63 --- /dev/null +++ b/win-linux/res/icons/tabbar/portal_light.svg @@ -0,0 +1,60 @@ + + diff --git a/win-linux/res/icons/tabbar/portal_light@1.25x.png b/win-linux/res/icons/tabbar/portal_light@1.25x.png deleted file mode 100644 index e1c76c2de..000000000 Binary files a/win-linux/res/icons/tabbar/portal_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal_light@1.5x.png b/win-linux/res/icons/tabbar/portal_light@1.5x.png deleted file mode 100644 index 254c7a5fa..000000000 Binary files a/win-linux/res/icons/tabbar/portal_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal_light@1.75x.png b/win-linux/res/icons/tabbar/portal_light@1.75x.png deleted file mode 100644 index db96ef038..000000000 Binary files a/win-linux/res/icons/tabbar/portal_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/portal_light@2x.png b/win-linux/res/icons/tabbar/portal_light@2x.png deleted file mode 100644 index f23dea057..000000000 Binary files a/win-linux/res/icons/tabbar/portal_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/scroll_left_disabled.svg b/win-linux/res/icons/tabbar/scroll_left_disabled.svg new file mode 100644 index 000000000..f16f77ca9 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_disabled.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_disabled_light.svg b/win-linux/res/icons/tabbar/scroll_left_disabled_light.svg new file mode 100644 index 000000000..1de9c6968 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_disabled_light.svg @@ -0,0 +1,47 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_hover.svg b/win-linux/res/icons/tabbar/scroll_left_hover.svg new file mode 100644 index 000000000..a3d3c2fac --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_hover.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_hover_light.svg b/win-linux/res/icons/tabbar/scroll_left_hover_light.svg new file mode 100644 index 000000000..27af9b0be --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_hover_light.svg @@ -0,0 +1,47 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_normal.svg b/win-linux/res/icons/tabbar/scroll_left_normal.svg new file mode 100644 index 000000000..87a4ed7fc --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_normal.svg @@ -0,0 +1,46 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_normal_light.svg b/win-linux/res/icons/tabbar/scroll_left_normal_light.svg new file mode 100644 index 000000000..f9dcc83c7 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_normal_light.svg @@ -0,0 +1,46 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_pressed.svg b/win-linux/res/icons/tabbar/scroll_left_pressed.svg new file mode 100644 index 000000000..87a4ed7fc --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_pressed.svg @@ -0,0 +1,46 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_left_pressed_light.svg b/win-linux/res/icons/tabbar/scroll_left_pressed_light.svg new file mode 100644 index 000000000..d6404e2d7 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_left_pressed_light.svg @@ -0,0 +1,46 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_disabled.svg b/win-linux/res/icons/tabbar/scroll_right_disabled.svg new file mode 100644 index 000000000..402c7197e --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_disabled.svg @@ -0,0 +1,44 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_disabled_light.svg b/win-linux/res/icons/tabbar/scroll_right_disabled_light.svg new file mode 100644 index 000000000..366254b8d --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_disabled_light.svg @@ -0,0 +1,42 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_hover.svg b/win-linux/res/icons/tabbar/scroll_right_hover.svg new file mode 100644 index 000000000..c6cc6d9c3 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_hover.svg @@ -0,0 +1,44 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_hover_light.svg b/win-linux/res/icons/tabbar/scroll_right_hover_light.svg new file mode 100644 index 000000000..1cd38a01b --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_hover_light.svg @@ -0,0 +1,42 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_normal.svg b/win-linux/res/icons/tabbar/scroll_right_normal.svg new file mode 100644 index 000000000..fe23c9e52 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_normal.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_normal_light.svg b/win-linux/res/icons/tabbar/scroll_right_normal_light.svg new file mode 100644 index 000000000..0a04dd6c9 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_normal_light.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_pressed.svg b/win-linux/res/icons/tabbar/scroll_right_pressed.svg new file mode 100644 index 000000000..fe23c9e52 --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_pressed.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/scroll_right_pressed_light.svg b/win-linux/res/icons/tabbar/scroll_right_pressed_light.svg new file mode 100644 index 000000000..d819e37dc --- /dev/null +++ b/win-linux/res/icons/tabbar/scroll_right_pressed_light.svg @@ -0,0 +1,45 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_dark.png b/win-linux/res/icons/tabbar/tab_close_dark.png deleted file mode 100644 index d564a6da0..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_dark.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_dark@1.25x.png b/win-linux/res/icons/tabbar/tab_close_dark@1.25x.png deleted file mode 100644 index 4a404481d..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_dark@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_dark@1.5x.png b/win-linux/res/icons/tabbar/tab_close_dark@1.5x.png deleted file mode 100644 index 352aff65c..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_dark@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_dark@1.75x.png b/win-linux/res/icons/tabbar/tab_close_dark@1.75x.png deleted file mode 100644 index 27b01c800..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_dark@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_dark@2x.png b/win-linux/res/icons/tabbar/tab_close_dark@2x.png deleted file mode 100644 index 75b5ac468..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_dark@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_hover_dark.svg b/win-linux/res/icons/tabbar/tab_close_hover_dark.svg new file mode 100644 index 000000000..5a3be9b3c --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_hover_dark.svg @@ -0,0 +1,51 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_hover_light.svg b/win-linux/res/icons/tabbar/tab_close_hover_light.svg new file mode 100644 index 000000000..03ac2bc2d --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_hover_light.svg @@ -0,0 +1,50 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_light.png b/win-linux/res/icons/tabbar/tab_close_light.png deleted file mode 100644 index f12db2f40..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_light.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_light@1.25x.png b/win-linux/res/icons/tabbar/tab_close_light@1.25x.png deleted file mode 100644 index c4d30818a..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_light@1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_light@1.5x.png b/win-linux/res/icons/tabbar/tab_close_light@1.5x.png deleted file mode 100644 index 32cab751f..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_light@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_light@1.75x.png b/win-linux/res/icons/tabbar/tab_close_light@1.75x.png deleted file mode 100644 index 3843c8bd4..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_light@1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_light@2x.png b/win-linux/res/icons/tabbar/tab_close_light@2x.png deleted file mode 100644 index a90672366..000000000 Binary files a/win-linux/res/icons/tabbar/tab_close_light@2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tab_close_normal_dark.svg b/win-linux/res/icons/tabbar/tab_close_normal_dark.svg new file mode 100644 index 000000000..ebda26142 --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_normal_dark.svg @@ -0,0 +1,47 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_normal_light.svg b/win-linux/res/icons/tabbar/tab_close_normal_light.svg new file mode 100644 index 000000000..c79e04baa --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_normal_light.svg @@ -0,0 +1,47 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_pressed_dark.svg b/win-linux/res/icons/tabbar/tab_close_pressed_dark.svg new file mode 100644 index 000000000..def11649c --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_pressed_dark.svg @@ -0,0 +1,52 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_pressed_light.svg b/win-linux/res/icons/tabbar/tab_close_pressed_light.svg new file mode 100644 index 000000000..d834643a5 --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_pressed_light.svg @@ -0,0 +1,50 @@ + + diff --git a/win-linux/res/icons/tabbar/tab_close_undef.svg b/win-linux/res/icons/tabbar/tab_close_undef.svg new file mode 100644 index 000000000..df85a23bf --- /dev/null +++ b/win-linux/res/icons/tabbar/tab_close_undef.svg @@ -0,0 +1,50 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal.png b/win-linux/res/icons/tabbar/tabicon_de_normal.png deleted file mode 100644 index fe3010f6c..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_de_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal.svg b/win-linux/res/icons/tabbar/tabicon_de_normal.svg new file mode 100644 index 000000000..3203471cd --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_de_normal.svg @@ -0,0 +1,52 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal_1.25x.png b/win-linux/res/icons/tabbar/tabicon_de_normal_1.25x.png deleted file mode 100644 index fe7b6608f..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_de_normal_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal_1.5x.png b/win-linux/res/icons/tabbar/tabicon_de_normal_1.5x.png deleted file mode 100644 index 9b413f760..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_de_normal_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal_1.75x.png b/win-linux/res/icons/tabbar/tabicon_de_normal_1.75x.png deleted file mode 100644 index a580e460a..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_de_normal_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_de_normal_2x.png b/win-linux/res/icons/tabbar/tabicon_de_normal_2x.png deleted file mode 100644 index 7f3db0a8c..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_de_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal.png b/win-linux/res/icons/tabbar/tabicon_docxf_normal.png deleted file mode 100644 index 796a172a0..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_docxf_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal.svg b/win-linux/res/icons/tabbar/tabicon_docxf_normal.svg new file mode 100644 index 000000000..a07df73ae --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_docxf_normal.svg @@ -0,0 +1,55 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.25x.png b/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.25x.png deleted file mode 100644 index b267746fa..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.5x.png b/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.5x.png deleted file mode 100644 index 5f4d18015..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.75x.png b/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.75x.png deleted file mode 100644 index c9a101981..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_docxf_normal_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_docxf_normal_2x.png b/win-linux/res/icons/tabbar/tabicon_docxf_normal_2x.png deleted file mode 100644 index 23d47ecfb..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_docxf_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal.png b/win-linux/res/icons/tabbar/tabicon_oform_normal.png deleted file mode 100644 index f9c72717e..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_oform_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal.svg b/win-linux/res/icons/tabbar/tabicon_oform_normal.svg new file mode 100644 index 000000000..d16d13a1f --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_oform_normal.svg @@ -0,0 +1,60 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.25x.png b/win-linux/res/icons/tabbar/tabicon_oform_normal_1.25x.png deleted file mode 100644 index 5d8e7390d..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.5x.png b/win-linux/res/icons/tabbar/tabicon_oform_normal_1.5x.png deleted file mode 100644 index 42bf17c30..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.75x.png b/win-linux/res/icons/tabbar/tabicon_oform_normal_1.75x.png deleted file mode 100644 index 7ec68cc40..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_oform_normal_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_oform_normal_2x.png b/win-linux/res/icons/tabbar/tabicon_oform_normal_2x.png deleted file mode 100644 index 612bb0f4c..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_oform_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_pdf_normal.svg b/win-linux/res/icons/tabbar/tabicon_pdf_normal.svg new file mode 100644 index 000000000..a4f2bacec --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_pdf_normal.svg @@ -0,0 +1,52 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal.png b/win-linux/res/icons/tabbar/tabicon_pe_normal.png deleted file mode 100644 index 2a773eb88..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_pe_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal.svg b/win-linux/res/icons/tabbar/tabicon_pe_normal.svg new file mode 100644 index 000000000..79756b762 --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_pe_normal.svg @@ -0,0 +1,49 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.25x.png b/win-linux/res/icons/tabbar/tabicon_pe_normal_1.25x.png deleted file mode 100644 index 4dcba6a61..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.5x.png b/win-linux/res/icons/tabbar/tabicon_pe_normal_1.5x.png deleted file mode 100644 index fe3913520..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.75x.png b/win-linux/res/icons/tabbar/tabicon_pe_normal_1.75x.png deleted file mode 100644 index afe1726ed..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_pe_normal_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_pe_normal_2x.png b/win-linux/res/icons/tabbar/tabicon_pe_normal_2x.png deleted file mode 100644 index 4c38113a1..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_pe_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal.png b/win-linux/res/icons/tabbar/tabicon_se_normal.png deleted file mode 100644 index feaa94e75..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_se_normal.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal.svg b/win-linux/res/icons/tabbar/tabicon_se_normal.svg new file mode 100644 index 000000000..88dae6141 --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_se_normal.svg @@ -0,0 +1,59 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal_1.25x.png b/win-linux/res/icons/tabbar/tabicon_se_normal_1.25x.png deleted file mode 100644 index b8dcb9aed..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_se_normal_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal_1.5x.png b/win-linux/res/icons/tabbar/tabicon_se_normal_1.5x.png deleted file mode 100644 index 8a6a00e68..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_se_normal_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal_1.75x.png b/win-linux/res/icons/tabbar/tabicon_se_normal_1.75x.png deleted file mode 100644 index 2ccc18398..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_se_normal_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_se_normal_2x.png b/win-linux/res/icons/tabbar/tabicon_se_normal_2x.png deleted file mode 100644 index 007fa110a..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_se_normal_2x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_undefined.png b/win-linux/res/icons/tabbar/tabicon_undefined.png deleted file mode 100644 index 0ea2e7608..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_undefined.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_undefined.svg b/win-linux/res/icons/tabbar/tabicon_undefined.svg new file mode 100644 index 000000000..5bfad826d --- /dev/null +++ b/win-linux/res/icons/tabbar/tabicon_undefined.svg @@ -0,0 +1,51 @@ + + diff --git a/win-linux/res/icons/tabbar/tabicon_undefined_1.25x.png b/win-linux/res/icons/tabbar/tabicon_undefined_1.25x.png deleted file mode 100644 index ba0f3cc42..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_undefined_1.25x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_undefined_1.5x.png b/win-linux/res/icons/tabbar/tabicon_undefined_1.5x.png deleted file mode 100644 index bdccce717..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_undefined_1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_undefined_1.75x.png b/win-linux/res/icons/tabbar/tabicon_undefined_1.75x.png deleted file mode 100644 index 5d690ddd0..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_undefined_1.75x.png and /dev/null differ diff --git a/win-linux/res/icons/tabbar/tabicon_undefined_2x.png b/win-linux/res/icons/tabbar/tabicon_undefined_2x.png deleted file mode 100644 index da5b5e267..000000000 Binary files a/win-linux/res/icons/tabbar/tabicon_undefined_2x.png and /dev/null differ diff --git a/win-linux/res/icons/user.png b/win-linux/res/icons/user.png deleted file mode 100644 index b891dcdba..000000000 Binary files a/win-linux/res/icons/user.png and /dev/null differ diff --git a/win-linux/res/icons/user.svg b/win-linux/res/icons/user.svg new file mode 100644 index 000000000..0fec43f91 --- /dev/null +++ b/win-linux/res/icons/user.svg @@ -0,0 +1,54 @@ + + diff --git a/win-linux/res/icons/user@1.5x.png b/win-linux/res/icons/user@1.5x.png deleted file mode 100644 index 95a986435..000000000 Binary files a/win-linux/res/icons/user@1.5x.png and /dev/null differ diff --git a/win-linux/res/icons/user@2x.png b/win-linux/res/icons/user@2x.png deleted file mode 100644 index dc39c0c73..000000000 Binary files a/win-linux/res/icons/user@2x.png and /dev/null differ diff --git a/win-linux/res/styles/editor.qss b/win-linux/res/styles/editor.qss new file mode 100644 index 000000000..cf6accba1 --- /dev/null +++ b/win-linux/res/styles/editor.qss @@ -0,0 +1,204 @@ +#mainPanel {background-color: %1;} +#box-title-tools {background-color: %1;} +#box-title-tools QLabel {font-family: "Arial", "Helvetica", "Helvetica Neue", sans-serif;} +#labelTitle {color: #444; font-weight: normal;} +#iconuser {color: %1; background: #d9ffffff; font-size: 10px;} +QPushButton[act=tool]:hover {background-color: rgba(0,0,0,20%);} +QPushButton#toolButtonClose:hover {background-color: #d42b2b;} +QPushButton#toolButtonClose:pressed {background-color: #d75050;} + +/* pretty */ +#mainPanel[window=pretty] QPushButton[act=tool]:hover +{ + background-color: rgba(255,255,255,20%); +} +#mainPanel[window=pretty] QPushButton#toolButtonMinimize +{ + image: url(:/minimize_light.svg); +} +#mainPanel[window=pretty] QPushButton#toolButtonClose +{ + image: url(:/close_light.svg); +} +#mainPanel[window=pretty] QPushButton#toolButtonClose:hover +{ + background-color: #d42b2b; +} +#mainPanel[window=pretty] QPushButton#toolButtonMaximize +{ + image: url(:/restore_light.svg); +} +#mainPanel[window=pretty] QPushButton#toolButtonMaximize[class=min] { + image: url(:/maximize_light.svg); +} +#mainPanel[window=pretty] #labelTitle +{ + color: #fff; + font-size: 12px; +} + +/* dark style */ +#mainPanel[uitheme=theme-dark] #labelTitle +{ + color: rgba(255,255,255,80%); +} +#mainPanel[uitheme=theme-contrast-dark] #labelTitle +{ + color: #e8e8e8; +} + +/* 1.25x */ +#mainPanel[zoom="1.25x"] #toolButtonMinimize, +#mainPanel[zoom="1.25x"] #toolButtonClose, +#mainPanel[zoom="1.25x"] #toolButtonMaximize +{ + padding: 6px 15px 9px; +} +#mainPanel[zoom="1.25x"] #iconuser {font-size: 13px;} +#mainPanel[zoom="1.25x"] #labelTitle +{ + font-size: 15px; +} + +/* 1.5x */ +#mainPanel[zoom="1.5x"] #toolButtonMinimize, +#mainPanel[zoom="1.5x"] #toolButtonClose, +#mainPanel[zoom="1.5x"] #toolButtonMaximize +{ + padding: 8px 18px 11px; +} +#mainPanel[zoom="1.5x"] #iconuser {font-size: 15px;} +#mainPanel[zoom="1.5x"] #labelTitle +{ + font-size: 18px; +} + +/* 1.75x */ +#mainPanel[zoom="1.75x"] #toolButtonMinimize, +#mainPanel[zoom="1.75x"] #toolButtonClose, +#mainPanel[zoom="1.75x"] #toolButtonMaximize +{ + padding: 9px 21px 12px; +} +#mainPanel[zoom="1.75x"] #iconuser {font-size: 18px;} +#mainPanel[zoom="1.75x"] #labelTitle +{ + font-size: 21px; +} + +/* 2x */ +#mainPanel[zoom="2x"] #toolButtonMinimize, +#mainPanel[zoom="2x"] #toolButtonClose, +#mainPanel[zoom="2x"] #toolButtonMaximize +{ + padding: 10px 24px 14px; +} +#mainPanel[zoom="2x"] #iconuser {font-size: 21px;} +#mainPanel[zoom="2x"] #labelTitle +{ + font-size: 24px; +} + +/* 2.25x */ +#mainPanel[zoom="2.25x"] #toolButtonMinimize, +#mainPanel[zoom="2.25x"] #toolButtonClose, +#mainPanel[zoom="2.25x"] #toolButtonMaximize +{ + padding: 11px 27px 16px; +} +#mainPanel[zoom="2.25x"] #iconuser {font-size: 23px;} +#mainPanel[zoom="2.25x"] #labelTitle +{ + font-size: 27px; +} + +/* 2.5x */ +#mainPanel[zoom="2.5x"] #toolButtonMinimize, +#mainPanel[zoom="2.5x"] #toolButtonClose, +#mainPanel[zoom="2.5x"] #toolButtonMaximize +{ + padding: 13px 30px 18px; +} +#mainPanel[zoom="2.5x"] #iconuser {font-size: 25px;} +#mainPanel[zoom="2.5x"] #labelTitle +{ + font-size: 30px; +} + +/* 2.75x */ +#mainPanel[zoom="2.75x"] #toolButtonMinimize, +#mainPanel[zoom="2.75x"] #toolButtonClose, +#mainPanel[zoom="2.75x"] #toolButtonMaximize +{ + padding: 14px 33px 19px; +} +#mainPanel[zoom="2.75x"] #iconuser {font-size: 28px;} +#mainPanel[zoom="2.75x"] #labelTitle +{ + font-size: 33px; +} + +/* 3x */ +#mainPanel[zoom="3x"] #toolButtonMinimize, +#mainPanel[zoom="3x"] #toolButtonClose, +#mainPanel[zoom="3x"] #toolButtonMaximize +{ + padding: 15px 36px 21px; +} +#mainPanel[zoom="3x"] #iconuser {font-size: 30px;} +#mainPanel[zoom="3x"] #labelTitle +{ + font-size: 36px; +} + +/* 3.5x */ +#mainPanel[zoom="3.5x"] #toolButtonMinimize, +#mainPanel[zoom="3.5x"] #toolButtonClose, +#mainPanel[zoom="3.5x"] #toolButtonMaximize +{ + padding: 18px 42px 25px; +} +#mainPanel[zoom="3.5x"] #iconuser {font-size: 35px;} +#mainPanel[zoom="3.5x"] #labelTitle +{ + font-size: 42px; +} + +/* 4x */ +#mainPanel[zoom="4x"] #toolButtonMinimize, +#mainPanel[zoom="4x"] #toolButtonClose, +#mainPanel[zoom="4x"] #toolButtonMaximize +{ + padding: 20px 48px 28px; +} +#mainPanel[zoom="4x"] #iconuser {font-size: 40px;} +#mainPanel[zoom="4x"] #labelTitle +{ + font-size: 48px; +} + +/* 4.5x */ +#mainPanel[zoom="4.5x"] #toolButtonMinimize, +#mainPanel[zoom="4.5x"] #toolButtonClose, +#mainPanel[zoom="4.5x"] #toolButtonMaximize +{ + padding: 23px 54px 32px; +} +#mainPanel[zoom="4.5x"] #iconuser {font-size: 45px;} +#mainPanel[zoom="4.5x"] #labelTitle +{ + font-size: 54px; +} + +/* 5x */ +#mainPanel[zoom="5x"] #toolButtonMinimize, +#mainPanel[zoom="5x"] #toolButtonClose, +#mainPanel[zoom="5x"] #toolButtonMaximize +{ + padding: 25px 60px 35px; +} +#mainPanel[zoom="5x"] #iconuser {font-size: 50px;} +#mainPanel[zoom="5x"] #labelTitle +{ + font-size: 60px; +} diff --git a/win-linux/res/styles/message.qss b/win-linux/res/styles/message.qss index 3142878a6..1d8a3dbe6 100644 --- a/win-linux/res/styles/message.qss +++ b/win-linux/res/styles/message.qss @@ -1,30 +1,17 @@ -QLabel[class=msg-icon] { - background-image: url(":/res/icons/message_icons.png"); -} + QLabel[class=msg-icon][type=msg-warn] { - background-position: bottom right; + image: url(":/message_warn.svg"); } QLabel[class=msg-icon][type=msg-error] { - background-position: top left; + image: url(":/message_error.svg"); } QLabel[class=msg-icon][type=msg-info] { - background-position: bottom left; + image: url(":/message_info.svg"); } QLabel[class=msg-icon][type=msg-confirm] { - background-position: top right; -} -#messageBody[scaling="1.25x"] QLabel[class=msg-icon] { - background-image: url(":/message_icons_1.25x.png"); -} -#messageBody[scaling="1.5x"] QLabel[class=msg-icon] { - background-image: url(":/message_icons_1.5x.png"); -} -#messageBody[scaling="1.75x"] QLabel[class=msg-icon] { - background-image: url(":/message_icons_1.75x.png"); -} -#messageBody[scaling="2x"] QLabel[class=msg-icon] { - background-image: url(":/message_icons_2x.png"); + image: url(":/message_confirm.svg"); } + #messageBody QLabel[class=msg-report] { font-size: 11px; } @@ -40,6 +27,31 @@ QLabel[class=msg-icon][type=msg-confirm] { #messageBody[scaling="2x"] QLabel[class=msg-report] { font-size: 22px; } +#messageBody[scaling="2.25x"] QLabel[class=msg-report] { + font-size: 25px; +} +#messageBody[scaling="2.5x"] QLabel[class=msg-report] { + font-size: 28px; +} +#messageBody[scaling="2.75x"] QLabel[class=msg-report] { + font-size: 30px; +} +#messageBody[scaling="3x"] QLabel[class=msg-report] { + font-size: 33px; +} +#messageBody[scaling="3.5x"] QLabel[class=msg-report] { + font-size: 39px; +} +#messageBody[scaling="4x"] QLabel[class=msg-report] { + font-size: 44px; +} +#messageBody[scaling="4.5x"] QLabel[class=msg-report] { + font-size: 50px; +} +#messageBody[scaling="5x"] QLabel[class=msg-report] { + font-size: 55px; +} + #messageBody[scaling="2x"] QPushButton { /* border: 2px solid #cbcbcb; */ /* border-radius:4px; */ @@ -57,17 +69,56 @@ QLabel[class=msg-icon][type=msg-confirm] { height: 28px; font-size: 14px; } - #messageBody[scaling="1.75x"] QPushButton { padding:0 35px; height: 38px; font-size: 19px; } - +#messageBody[scaling="2.25x"] QPushButton { + padding:0 45px; + height: 50px; + font-size: 25px; +} +#messageBody[scaling="2.5x"] QPushButton { + padding:0 50px; + height: 55px; + font-size: 28px; +} +#messageBody[scaling="2.75x"] QPushButton { + padding:0 55px; + height: 61px; + font-size: 30px; +} +#messageBody[scaling="3x"] QPushButton { + padding:0 60px; + height: 66px; + font-size: 33px; +} +#messageBody[scaling="3.5x"] QPushButton { + padding:0 70px; + height: 77px; + font-size: 39px; +} +#messageBody[scaling="4x"] QPushButton { + padding:0 80px; + height: 88px; + font-size: 44px; +} +#messageBody[scaling="4.5x"] QPushButton { + padding:0 90px; + height: 99px; + font-size: 50px; +} +#messageBody[scaling="5x"] QPushButton { + padding:0 100px; + height: 110px; + font-size: 55px; +} QPushButton { outline: 0 none; } +/* dark theme */ #messageBody[uitheme=theme-dark] { background-color: #404040; color: rgba(255,255,255,.8); @@ -83,22 +134,59 @@ QPushButton { border: 1px solid rgba(255,255,255,.8); } +#messageBody[uitheme=theme-dark][scaling="2.25x"] QPushButton, #messageBody[uitheme=theme-dark][scaling="2x"] QPushButton, +#messageBody[uitheme=theme-dark][scaling="1.75x"] QPushButton, #messageBody[uitheme=theme-dark][scaling="1.5x"] QPushButton { - border: 2px solid rgba(255,255,255,.8); + border-width: 2px; +} +#messageBody[uitheme=theme-dark][scaling="2.5x"] QPushButton, +#messageBody[uitheme=theme-dark][scaling="2.75x"] QPushButton, +#messageBody[uitheme=theme-dark][scaling="3x"] QPushButton +{ + border-width: 3px; +} +#messageBody[uitheme=theme-dark][scaling="3.5x"] QPushButton, +#messageBody[uitheme=theme-dark][scaling="4x"] QPushButton +{ + border-width: 4px; +} +#messageBody[uitheme=theme-dark][scaling="4.5x"] QPushButton, +#messageBody[uitheme=theme-dark][scaling="5x"] QPushButton +{ + border-width: 5px; } #messageBody[uitheme=theme-dark] QPushButton:focus { border: 2px solid rgba(255,255,255,.9); } - #messageBody[uitheme=theme-dark][scaling="1.5x"] QPushButton:focus { - border: 3px solid rgba(255,255,255,.9); + border-width: 3px; } - +#messageBody[uitheme=theme-dark][scaling="1.75x"] QPushButton:focus, #messageBody[uitheme=theme-dark][scaling="2x"] QPushButton:focus { - border: 4px solid rgba(255,255,255,.9); + border-width: 4px; +} +#messageBody[uitheme=theme-dark][scaling="2.25x"] QPushButton:focus, +#messageBody[uitheme=theme-dark][scaling="2.5x"] QPushButton:focus { + border-width: 5px; +} +#messageBody[uitheme=theme-dark][scaling="2.75x"] QPushButton:focus, +#messageBody[uitheme=theme-dark][scaling="3x"] QPushButton:focus { + border-width: 6px; +} +#messageBody[uitheme=theme-dark][scaling="3.5x"] QPushButton:focus { + border-width: 7px; +} +#messageBody[uitheme=theme-dark][scaling="4x"] QPushButton:focus { + border-width: 8px; +} +#messageBody[uitheme=theme-dark][scaling="4.5x"] QPushButton:focus { + border-width: 9px; +} +#messageBody[uitheme=theme-dark][scaling="5x"] QPushButton:focus { + border-width: 10px; } #messageBody[uitheme=theme-dark] QPushButton:pressed { @@ -121,23 +209,60 @@ QPushButton { border: 1px solid #e8e8e8; } +#messageBody[uitheme=theme-contrast-dark][scaling="2.25x"] QPushButton, #messageBody[uitheme=theme-contrast-dark][scaling="2x"] QPushButton, +#messageBody[uitheme=theme-contrast-dark][scaling="1.75x"] QPushButton, #messageBody[uitheme=theme-contrast-dark][scaling="1.5x"] QPushButton { - border: 2px solid rgba#e8e8e8; + border-width: 2px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="2.5x"] QPushButton, +#messageBody[uitheme=theme-contrast-dark][scaling="2.75x"] QPushButton, +#messageBody[uitheme=theme-contrast-dark][scaling="3x"] QPushButton +{ + border-width: 3px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="3.5x"] QPushButton, +#messageBody[uitheme=theme-contrast-dark][scaling="4x"] QPushButton +{ + border-width: 4px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="4.5x"] QPushButton, +#messageBody[uitheme=theme-contrast-dark][scaling="5x"] QPushButton +{ + border-width: 5px; } #messageBody[uitheme=theme-contrast-dark] QPushButton:focus { border: 2px solid #e6e6e6; } - #messageBody[uitheme=theme-contrast-dark][scaling="1.5x"] QPushButton:focus { border-width: 3px; } - +#messageBody[uitheme=theme-contrast-dark][scaling="1.75x"] QPushButton:focus, #messageBody[uitheme=theme-contrast-dark][scaling="2x"] QPushButton:focus { border-width: 4px; } +#messageBody[uitheme=theme-contrast-dark][scaling="2.25x"] QPushButton:focus, +#messageBody[uitheme=theme-contrast-dark][scaling="2.5x"] QPushButton:focus { + border-width: 5px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="2.75x"] QPushButton:focus, +#messageBody[uitheme=theme-contrast-dark][scaling="3x"] QPushButton:focus { + border-width: 6px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="3.5x"] QPushButton:focus { + border-width: 7px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="4x"] QPushButton:focus { + border-width: 8px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="4.5x"] QPushButton:focus { + border-width: 9px; +} +#messageBody[uitheme=theme-contrast-dark][scaling="5x"] QPushButton:focus { + border-width: 10px; +} #messageBody[uitheme=theme-contrast-dark] QPushButton:pressed { background-color: #707070; diff --git a/win-linux/res/styles/printdialog.qss b/win-linux/res/styles/printdialog.qss new file mode 100644 index 000000000..143f24dbd --- /dev/null +++ b/win-linux/res/styles/printdialog.qss @@ -0,0 +1,759 @@ + +/* 1x */ +QDialog QPushButton { + min-width: 40px; +} + +QPrintDialog, QPrintPropertiesDialog { + /*background-color:#fff;*/ + font-family: 'Helvetica Neue',Arial; + /*color: #444;*/ +} + +QPrintDialog QWidget { + /*selection-background-color: rgba(0,0,0,0.4);*/ +} + +QPrintDialog QLabel { + /*color:#444;*/ + font-size: 11px; + font-weight: bold; +} + +QPrintDialog QToolButton{ + /*background-color: red;*/ + border: 1px solid #cbcbcb; + border-radius:2px; + height: 22px; +} + +QPrintDialog QLineEdit{ + font-weight: normal; + font-size: 11px; + /*color: #444;*/ + border: 1px solid #cbcbcb; + height: 22px; + border-radius:2px; +} + +QPrintDialog QGroupBox { + border: 1px solid #cbcbcb; + margin-top: 4ex; + border-radius:2px; + font-size: 11px; + padding:8px; +} + +QPrintDialog QGroupBox::title { + subcontrol-origin: margin; +} + +QPrintDialog QComboBox{ + border: 1px solid #cbcbcb; + font-family: 'Helvetica Neue',Arial; + font-size: 11px; + height: 22px; + border-radius:2px; + /*background-color: #fff;*/ + + /*selection-background-color: red;*/ + show-decoration-selected: 1; +} + +QPrintDialog QComboBox::down-arrow{ + /* border-image: url(:/res/icons/arrow_down.png) 0 0 0 0 repeat repeat; */ + /* width: 5px; */ + /* height: 3px; */ +} + +QPrintDialog QComboBox::drop-down{ + border:0 none; +} + +QPrintDialog QComboBox:!editable:on { + /*background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #D3D3D3, stop:0.4 #D8D8D8, stop:0.5 #DDDDDD, stop:1.0 #E1E1E1);*/ + /*background:#cbced1;*/ +} + +QPrintDialog QComboBox QAbstractItemView { + border: 1px solid #cbcbcb; + border-radius:2px; + /*background-color: #fff;*/ + /*selection-background-color: rgba(255, 255, 255, 0.5);*/ +} + +QPrintDialog QRadioButton::indicator{ + width:13px; + height:13px; +} + +QPrintDialog QRadioButton, QPrintDialog QCheckBox { + font-size: 11px; + /*color: 444;*/ +} + +QPrintDialog QRadioButton::indicator::unchecked{ + border-image: url(:/res/icons/radiobox.png) 0 0 0 0 repeat repeat; +} + +QPrintDialog QRadioButton::indicator::checked{ + border-image: url(:/res/icons/radiobox.png) 13 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator{ + width:14px; + height:14px; +} + +QPrintDialog QCheckBox::indicator::checked{ + border-image: url(:/res/icons/checkbox.png) 14 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator::unchecked{ + border-image: url(:/res/icons/checkbox.png) 0 0 0 0 repeat repeat; +} + +QSpinBox, QDoubleSpinBox, QTimeEdit { + border: 1px solid #cbcbcb; + border-radius:2px; + height:22px; + font-size: 11px; + /*background-color:#fff;*/ +} + +QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { + width: 5px; + height: 3px; +} + +QPrintDialog *::up-arrow { + border-image: url(:/res/icons/arrow_down.png) 3 0 0 0 repeat repeat; + margin-bottom:1px; +} + +QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { + border-image: url(:/res/icons/arrow_down.png) 3 0 0 5 repeat repeat; +} + +/*QSpinBox::down-arrow, QDoubleSpinBox::down-arrow, QTimeEdit::down-arrow {*/ +QPrintDialog *::down-arrow { + border-image: url(:/res/icons/arrow_down.png) 0 0 0 0 repeat repeat; + margin-top:1px; +} + +QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { + border-image: url(:/res/icons/arrow_down.png) 0 0 0 5 repeat repeat; +} + +QPrintDialog *::up-button, QPrintDialog *::down-button { + border: 0 none; +} + +QPrintDialog QTabWidget::pane{ + /*background-color: white;*/ + /*border: 1px solid #cbcbcb;*/ + /*position:absolute;*/ + /*top: -1px;*/ +} +QPrintDialog QTabBar::tab { + /*background-color:#fff;*/ + border: 1px solid #cbcbcb; + padding: 0 10px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + margin-right:-1px; + font-size: 11px; +} + +QPrintDialog QTabBar::tab:first { +} + +QPrintDialog QTabBar::tab:last { + margin-right:0; +} + +QPrintDialog QTabBar::tab:selected { + padding: 0 10px; +} + +QPrintDialog QTabBar::tab:selected { + background-color:rgba(255,255,255,0.3); + /*border-bottom-color: transparent;*/ +} + +QPrintDialog QTabBar::tab:!selected { + /*margin-top: 2px;*/ + /*color:#444;*/ +} + + +#mainPanel[uitheme=theme-dark] QPrintDialog, + #mainPanel[uitheme=theme-dark] QPrintPropertiesDialog +{ + background-color: #404040; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QLabel { + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QPushButton, + #mainPanel[uitheme=theme-dark] QPrintDialog QToolButton +{ + background-color: #555; + color: #d9d9d9; + border: 1px solid rgba(255,255,255,.8); +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QPushButton:focus { + border: 2px solid rgba(255,255,255,.9); +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QLineEdit { + background-color: #404040; + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QGroupBox { + background-color: #404040; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QGroupBox::title { + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QComboBox{ + background-color: #404040; + selection-background-color: #606060; + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QComboBox QAbstractItemView { + background-color: #404040; +} + + +#mainPanel[uitheme=theme-dark] QPrintDialog QRadioButton, + #mainPanel[uitheme=theme-dark] QPrintDialog QCheckBox +{ + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QTabWidget::pane { + background-color: #404040; + border: 1px solid rgba(255,255,255,.8); + position:absolute; + top:-1px; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QWidget { + background-color: #404040; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog QTabBar::tab { + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QSpinBox, + #mainPanel[uitheme=theme-dark] QDoubleSpinBox, + #mainPanel[uitheme=theme-dark] QTimeEdit +{ + background-color: #404040; + color: #d9d9d9; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow { + border-image: url(:/arrow_down_dark.png) 3 0 0 0 repeat repeat; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow:disabled, + #mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow:off +{ + border-image: url(:/arrow_down_dark.png) 3 0 0 5 repeat repeat; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog *::down-arrow { + border-image: url(:/arrow_down_dark.png) 0 0 0 0 repeat repeat; +} + +#mainPanel[uitheme=theme-dark] QPrintDialog *::down-arrow:disabled, + #mainPanel[uitheme=theme-dark] QPrintDialog ::down-arrow:off +{ + border-image: url(:/arrow_down_dark.png) 0 0 0 5 repeat repeat; +} + +/* 1.25x */ +QDialog QPushButton { + min-width: 100px; +} + +QPrintDialog QLabel { + font-size: 14px; +} + +QPrintDialog QToolButton{ + border-width: 1px; + border-radius: 2px; + height: 33px; +} + +QPrintDialog QLineEdit{ + font-size: 14px; + border-width: 1px; + height: 28px; + border-radius: 2px; +} + +QPrintDialog QGroupBox { + border-width: 1px; + margin-top: 5ex; + border-radius: 2px; + font-size: 14px; + padding: 10px; +} + +QPrintDialog QComboBox{ + border-width: 1px; + font-size: 14px; + height: 28px; + border-radius:2px; +} + +QPrintDialog QComboBox QAbstractItemView { + border-width: 1px; + border-radius: 2px; +} + +QPrintDialog QRadioButton::indicator{ + width: 16px; + height: 16px; +} + +QPrintDialog QRadioButton, QPrintDialog QCheckBox { + font-size: 14px; +} + +QPrintDialog QRadioButton::indicator::unchecked{ + border-image: url(:/radiobox_1.25x.png) 0 0 0 0 repeat repeat; +} + +QPrintDialog QRadioButton::indicator::checked{ + border-image: url(:/radiobox_1.25x.png) 20 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator{ + width: 18px; + height: 18px; +} + +QPrintDialog QCheckBox::indicator::checked{ + border-image: url(:/checkbox_1.25x.png) 21 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator::unchecked{ + border-image: url(:/checkbox_1.25x.png) 0 0 0 0 repeat repeat; +} + +QSpinBox, QDoubleSpinBox, QTimeEdit { + border-width: 1px; + border-radius: 2px; + height: 28px; + font-size: 14px; +} + +QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { + width: 6px; + height: 4px; +} + +QPrintDialog *::up-arrow { + border-image: url(:/arrow_down_1.25x.png) 5 0 0 0 repeat repeat; + margin-bottom:1px; +} + +QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { + border-image: url(:/arrow_down_1.25x.png) 5 0 0 8 repeat repeat; +} + +QPrintDialog *::down-arrow { + border-image: url(:/arrow_down_1.25x.png) 0 0 0 0 repeat repeat; + margin-top:1px; +} + +QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { + border-image: url(:/arrow_down_1.25x.png) 0 0 0 8 repeat repeat; +} + +QPrintDialog QTabWidget::pane{ + border-width: 1px; + top: -1px; +} +QPrintDialog QTabBar::tab { + border-width: 1px; + padding: 0 13px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + margin-right:-1px; + font-size: 14px; +} + +QPrintDialog QTabBar::tab:selected { + padding: 0 13px; +} + +/* 1.5x */ +QDialog QPushButton { + min-width: 120px; +} + +QPrintDialog QLabel { + font-size: 17px; +} + +QPrintDialog QToolButton{ + border-width: 1px; + border-radius: 3px; + height: 33px; +} + +QPrintDialog QLineEdit{ + font-size: 17px; + border-width: 2px; + height: 33px; + border-radius: 3px; +} + +QPrintDialog QGroupBox { + border-width: 2px; + margin-top: 6ex; + border-radius: 3px; + font-size: 17px; + padding: 12px; +} + +QPrintDialog QComboBox{ + border-width: 2px; + font-size: 17px; + height: 33px; + border-radius:3px; +} + +QPrintDialog QComboBox QAbstractItemView { + border-width: 2px; + border-radius: 3px; +} + +QPrintDialog QRadioButton::indicator{ + width: 20px; + height: 20px; +} + +QPrintDialog QRadioButton, QPrintDialog QCheckBox { + font-size: 17px; +} + +QPrintDialog QRadioButton::indicator::unchecked{ + border-image: url(:/radiobox_1.5x.png) 0 0 0 0 repeat repeat; +} + +QPrintDialog QRadioButton::indicator::checked{ + border-image: url(:/radiobox_1.5x.png) 20 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator{ + width: 21px; + height: 21px; +} + +QPrintDialog QCheckBox::indicator::checked{ + border-image: url(:/checkbox_1.5x.png) 21 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator::unchecked{ + border-image: url(:/checkbox_1.5x.png) 0 0 0 0 repeat repeat; +} + +QSpinBox, QDoubleSpinBox, QTimeEdit { + border-width: 2px; + border-radius: 3px; + height: 33px; + font-size: 17px; +} + +QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { + width: 8px; + height: 5px; +} + +QPrintDialog *::up-arrow { + border-image: url(:/arrow_down_1.5x.png) 5 0 0 0 repeat repeat; + margin-bottom:1px; +} + +QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { + border-image: url(:/arrow_down_1.5x.png) 5 0 0 8 repeat repeat; +} + +QPrintDialog *::down-arrow { + border-image: url(:/arrow_down_1.5x.png) 0 0 0 0 repeat repeat; + margin-top:1px; +} + +QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { + border-image: url(:/arrow_down_1.5x.png) 0 0 0 8 repeat repeat; +} + +QPrintDialog QTabWidget::pane{ + border-width: 2px; + top: -2px; +} +QPrintDialog QTabBar::tab { + border-width: 2px; + padding: 0 15px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + margin-right:-2px; + font-size: 17px; +} + +QPrintDialog QTabBar::tab:selected { + padding: 0 15px; +} + +/* 1.75x */ +QDialog QPushButton { + min-width: 140px; +} + +QPrintDialog QLabel { + font-size: 20px; +} + +QPrintDialog QToolButton{ + border-width: 1px; + border-radius: 3px; + height: 39px; +} + +QPrintDialog QLineEdit{ + font-size: 20px; + border-width: 2px; + height: 39px; + border-radius: 3px; +} + +QPrintDialog QGroupBox { + border-width: 2px; + margin-top: 7ex; + border-radius: 3px; + font-size: 20px; + padding: 14px; +} + +QPrintDialog QComboBox{ + border-width: 2px; + font-size: 20px; + height: 39px; + border-radius: 4px; +} + +QPrintDialog QComboBox QAbstractItemView { + border-width: 2px; + border-radius: 3px; +} + +QPrintDialog QRadioButton::indicator{ + width: 23px; + height: 23px; +} + +QPrintDialog QRadioButton, QPrintDialog QCheckBox { + font-size: 20px; +} + +QPrintDialog QRadioButton::indicator::unchecked{ + border-image: url(:/radiobox_1.75x.png) 0 0 0 0 repeat repeat; +} + +QPrintDialog QRadioButton::indicator::checked{ + border-image: url(:/radiobox_1.75x.png) 20 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator{ + width: 25px; + height: 25px; +} + +QPrintDialog QCheckBox::indicator::checked{ + border-image: url(:/checkbox_1.75x.png) 21 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator::unchecked{ + border-image: url(:/checkbox_1.5x.png) 0 0 0 0 repeat repeat; +} + +QSpinBox, QDoubleSpinBox, QTimeEdit { + border-width: 2px; + border-radius: 3px; + height: 39px; + font-size: 20px; +} + +QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { + width: 9px; + height: 6px; +} + +QPrintDialog *::up-arrow { + border-image: url(:/arrow_down_1.75x.png) 5 0 0 0 repeat repeat; + margin-bottom:1px; +} + +QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { + border-image: url(:/arrow_down_1.75x.png) 5 0 0 8 repeat repeat; +} + +QPrintDialog *::down-arrow { + border-image: url(:/arrow_down_1.75x.png) 0 0 0 0 repeat repeat; + margin-top:1px; +} + +QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { + border-image: url(:/arrow_down_1.75x.png) 0 0 0 8 repeat repeat; +} + +QPrintDialog QTabWidget::pane{ + border-width: 2px; + top: -2px; +} +QPrintDialog QTabBar::tab { + border-width: 2px; + padding: 0 18px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + margin-right:-2px; + font-size: 20px; +} + +QPrintDialog QTabBar::tab:selected { + padding: 0 18px; +} + +/* 2x */ +QDialog QPushButton { + min-width: 80px; +} + +QPrintDialog QLabel { + font-size: 22px; +} + +QPrintDialog QToolButton{ + border-width: 1px; + border-radius:4px; + height: 44px; +} + +QPrintDialog QLineEdit{ + font-size: 22px; + border-width: 2px; + height: 44px; + border-radius:4px; +} + +QPrintDialog QGroupBox { + border-width: 2px; + margin-top: 8ex; + border-radius:4px; + font-size: 22px; + padding:16px; +} + +QPrintDialog QComboBox{ + border-width: 2px; + font-size: 22px; + height: 44px; + border-radius:4px; +} + +QPrintDialog QComboBox QAbstractItemView { + border-width: 2px; + border-radius:4px; +} + +QPrintDialog QRadioButton::indicator{ + width:26px; + height:26px; +} + +QPrintDialog QRadioButton, QPrintDialog QCheckBox { + font-size: 22px; +} + +QPrintDialog QRadioButton::indicator::unchecked{ + border-image: url(:/radiobox_2x.png) 0 0 0 0 repeat repeat; +} + +QPrintDialog QRadioButton::indicator::checked{ + border-image: url(:/radiobox_2x.png) 26 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator{ + width:28px; + height:28px; +} + +QPrintDialog QCheckBox::indicator::checked{ + border-image: url(:/checkbox_2x.png) 28 0 0 0 repeat repeat; +} + +QPrintDialog QCheckBox::indicator::unchecked{ + border-image: url(:/checkbox_2x.png) 0 0 0 0 repeat repeat; +} + +QSpinBox, QDoubleSpinBox, QTimeEdit { + border-width: 2px; + border-radius:4px; + height:44px; + font-size:22px; +} + +QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { + width: 10px; + height: 6px; +} + +QPrintDialog *::up-arrow { + border-image: url(:/arrow_down_2x.png) 6 0 0 0 repeat repeat; + margin-bottom:1px; +} + +QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { + border-image: url(:/arrow_down_2x.png) 6 0 0 10 repeat repeat; +} + +QPrintDialog *::down-arrow { + border-image: url(:/arrow_down_2x.png) 0 0 0 0 repeat repeat; + margin-top:1px; +} + +QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { + border-image: url(:/arrow_down_2x.png) 0 0 0 10 repeat repeat; +} + +QPrintDialog QTabWidget::pane{ + border-width: 2px; + top: -2px; +} +QPrintDialog QTabBar::tab { + border-width: 2px; + padding: 0 20px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + margin-right:-2px; + font-size: 22px; +} + +QPrintDialog QTabBar::tab:selected { + padding: 0 20px; +} diff --git a/win-linux/res/styles/styles.qss b/win-linux/res/styles/styles.qss index 75e09cb46..28a17e0e0 100644 --- a/win-linux/res/styles/styles.qss +++ b/win-linux/res/styles/styles.qss @@ -1,6 +1,5 @@ -#mainPanel, -#tabWrapper { +#mainPanel { margin: 0; padding: 0; background: #f1f1f1; @@ -18,55 +17,29 @@ font-size: 11px; } -#paddingWidget { - min-width: 0px; - max-width: 0px; - border: none; background: transparent; -} - -#scrollerFrame { - min-width: 32px; - max-width: 32px; - border: none; background: transparent; -} - -#scrollerFrame>QToolButton { - margin: 0px; - border: none; background-color: #f1f1f1; -} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} - -#scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn.png) center no-repeat; +QPushButton { + /*background-color:#d9d9d9;*/ + padding:0 20px; + font-weight: normal; + height: 22px; + font-size: 12px; } -#scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd.png) center no-repeat; +QPushButton[act=tool] { + /*background-origin: content;*/ + /*padding: 6px;*/ + border: none; + margin: 0; + padding: 0; + border-radius:0; } -#scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh.png) center no-repeat; +QPushButton[act=tool]:hover { + background-color:#cecece; } -#scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp.png) center no-repeat; +QPushButton[act=tool]:pressed { + background-color:#b7b7b7; } QPushButton#toolButtonMaximize, QPushButton#toolButtonMain, @@ -78,34 +51,12 @@ QPushButton#toolButtonMaximize, QPushButton#toolButtonMain, border-radius:0; } -QPushButton#toolButtonDownload { - background-origin: content; - padding: 6px; -} - QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { background-origin: content; padding: 5px 12px 7px; } -QPushButton[act=tool] { - /*background-origin: content;*/ - /*padding: 6px;*/ - border: none; - margin: 0; - padding: 0; - border-radius:0; -} - -QPushButton[act=tool]:hover { - background-color:#cecece; -} - -QPushButton[act=tool]:pressed { - background-color:#b7b7b7; -} - QPushButton#toolButtonClose:hover { background-color:#d42b2b; } @@ -115,48 +66,24 @@ QPushButton#toolButtonClose:pressed { } QPushButton#toolButtonMaximize { - background-image:url(:/res/icons/maximize.png); + image: url(:/restore.svg) center no-repeat; } -QPushButton#toolButtonMaximize[class=normal] { - background-position: left top; -} - -QPushButton#toolButtonMaximize[class=normal]:hover, - QPushButton#pushButtonMaximize[class=normal]:pressed { - background-position: right top; -} - - QPushButton#toolButtonMaximize[class=min] { - background-position: left bottom; -} - -QPushButton#toolButtonMaximize[class=min]:hover, - QPushButton#toolButtonMaximize[class=min]:pressed { - background-position: right bottom; + image: url(:/maximize.svg) center no-repeat; } -QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { - background-image:url(:/res/icons/minimize-close.png); +QPushButton#toolButtonMinimize { + image: url(:/minimize.svg) center no-repeat; } -QPushButton#toolButtonMinimize[class=normal] { - background-position: left top; -} - -QPushButton#toolButtonMinimize[class=normal]:hover, - QPushButton#toolButtonMinimize[class=normal]:pressed { - background-position: right top; -} - -QPushButton#toolButtonClose[class=normal] { - background-position: left bottom; +QPushButton#toolButtonClose { + image: url(:/close.svg) center no-repeat; } QPushButton#toolButtonClose[class=normal]:hover, QPushButton#toolButtonClose[class=normal]:pressed { - background-position: right bottom; + image: url(:/close_light.svg) center no-repeat; } QPushButton#toolButtonMain { @@ -205,17 +132,17 @@ QPushButton::menu-indicator { /*border: 1px solid white;*/ width: 10px; height: 10px; - border-image: url(:/res/icons/menu-indicator.png) 0 0 0 0 repeat repeat; + image: url(:/menu_indicator_normal_light.svg); left: -2px; top: -2px; } QPushButton::menu-indicator:disabled { - border-image: url(:/res/icons/menu-indicator.png) 0 0 0 10 repeat repeat; + image: url(:/menu_indicator_pressed_light.svg); } QPushButton::menu-indicator:hover { - border-image: url(:/res/icons/menu-indicator.png) 0 10 0 0 repeat repeat; + image: url(:/menu_indicator_hover_light.svg); } /*QPushButton[theme=dark]::menu-indicator {*/ @@ -231,7 +158,8 @@ QPushButton::menu-indicator:hover { /*}*/ QPushButton#toolButtonDownload { - /*background-repeat: no-repeat;*/ + background-origin: content; + padding: 6px; } QPushButton#toolButtonDownload::menu-indicator { @@ -244,9 +172,7 @@ QPushButton#toolButtonDownload::menu-indicator { /**************************/ #mainPanel[uitheme=theme-dark], -#mainPanel[uitheme=theme-dark] #tabWrapper, -#mainPanel[uitheme=theme-dark] #CX11Caption, -#mainPanel[uitheme=theme-dark] QTabBar { +#mainPanel[uitheme=theme-dark] #CX11Caption { background-color: #404040; } @@ -271,13 +197,19 @@ QPushButton#toolButtonDownload::menu-indicator { } #mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize { - background-image:url(:/max_light.png); + image: url(:/restore_light.svg) center no-repeat; } -#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize, - #mainPanel[uithemetype=dark] QPushButton#toolButtonClose -{ - background-image:url(:/minclose_light.png); +#mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize[class=min] { + image: url(:/maximize_light.svg) center no-repeat; +} + +#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize { + image: url(:/minimize_light.svg) center no-repeat; +} + +#mainPanel[uithemetype=dark] QPushButton#toolButtonClose { + image: url(:/close_light.svg) center no-repeat; } #mainPanel[uitheme=theme-dark] QPushButton#toolButtonMinimize:hover, @@ -292,110 +224,37 @@ QPushButton#toolButtonDownload::menu-indicator { background-color: #606060; } -#mainPanel[uitheme=theme-dark] QTabBar QToolButton::left-arrow, - #mainPanel[uitheme=theme-dark] QTabBar QToolButton::right-arrow -{ - background-color: #606060; -} - -#mainPanel[uitheme=theme-dark] QTabBar QToolButton:pressed { - background-color: #606060; -} - - -#mainPanel[uitheme=theme-dark] QPrintDialog, - #mainPanel[uitheme=theme-dark] QPrintPropertiesDialog -{ - background-color: #404040; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QLabel { - color: #d9d9d9; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QPushButton, - #mainPanel[uitheme=theme-dark] QPrintDialog QToolButton -{ - background-color: #555; - color: #d9d9d9; - border: 1px solid rgba(255,255,255,.8); -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QPushButton:focus { - border: 2px solid rgba(255,255,255,.9); -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QLineEdit { - background-color: #404040; - color: #d9d9d9; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QGroupBox { - background-color: #404040; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QGroupBox::title { - color: #d9d9d9; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog QComboBox{ - background-color: #404040; - selection-background-color: #606060; - color: #d9d9d9; -} +/* Contrast-Dark*/ -#mainPanel[uitheme=theme-dark] QPrintDialog QComboBox QAbstractItemView { - background-color: #404040; +#mainPanel[uitheme=theme-contrast-dark], +#mainPanel[uitheme=theme-contrast-dark] #CX11Caption { + background-color: #2a2a2a; } - -#mainPanel[uitheme=theme-dark] QPrintDialog QRadioButton, - #mainPanel[uitheme=theme-dark] QPrintDialog QCheckBox -{ +#mainPanel[uitheme=theme-contrast-dark] #labelAppTitle { color: #d9d9d9; } -#mainPanel[uitheme=theme-dark] QPrintDialog QTabWidget::pane { - background-color: #404040; - border: 1px solid rgba(255,255,255,.8); - position:absolute; - top:-1px; +#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=active] { + background: #1e1e1e; } -#mainPanel[uitheme=theme-dark] QPrintDialog QWidget { - background-color: #404040; +#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain { + border-right-color: #414141; } -#mainPanel[uitheme=theme-dark] QPrintDialog QTabBar::tab { - color: #d9d9d9; +#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=normal] { + background: #2a2a2a; } -#mainPanel[uitheme=theme-dark] QSpinBox, - #mainPanel[uitheme=theme-dark] QDoubleSpinBox, - #mainPanel[uitheme=theme-dark] QTimeEdit -{ - background-color: #404040; - color: #d9d9d9; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow { - border-image: url(:/arrow_down_dark.png) 3 0 0 0 repeat repeat; +#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=normal]:hover { + background: #424242; } -#mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow:disabled, - #mainPanel[uitheme=theme-dark] QPrintDialog *::up-arrow:off +#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMinimize:hover, + #mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMaximize:hover { - border-image: url(:/arrow_down_dark.png) 3 0 0 5 repeat repeat; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog *::down-arrow { - border-image: url(:/arrow_down_dark.png) 0 0 0 0 repeat repeat; -} - -#mainPanel[uitheme=theme-dark] QPrintDialog *::down-arrow:disabled, - #mainPanel[uitheme=theme-dark] QPrintDialog ::down-arrow:off -{ - border-image: url(:/arrow_down_dark.png) 0 0 0 5 repeat repeat; + background-color: #555; } /***********************************/ @@ -414,74 +273,9 @@ QPushButton#toolButtonDownload::menu-indicator { border-right-color:#dfdfdf; } -/***********************************/ - -QTabBar { - font-size: 11px; - background-color: #f1f1f1; -} - -QTabBar::tab { } - -QTabBar::tab::selected { - padding-left: 0px; -} - -QTabBar::tear { width: 0px; } -QTabBar::tab:first { } -QTabBar::tab:only-one { } -QTabBar::tab:last { } - -QTabBar::close-button { - image: url(:/res/icons/tab_close_normal.png); - margin-top: -1px; - icon-size:16px; -} - -QTabBar::close-button:hover { - image:url(:/res/icons/tab_close_hover.png); -} - -QTabBar::close-button:pressed { - image:url(:/res/icons/tab_close_active.png); -} - -QTabBar QToolButton, - QTabBar QToolButton:disabled { - background-color:#f1f1f1; - border:0 none; - width: 40px; -} - -QTabBar::scroller { - width: 0px; -} - -QLabel[class=tab-icon] { - padding:0 0 2px 4px; -} - -QTabBar QToolButton[class=tab-close]{ - background-image:url(:/tabbar/icons/close_normal.png); -} -QTabBar QToolButton[class=tab-close][state=active]{ - background-image:url(:/tabbar/icons/close_active.png); -} -QTabBar QToolButton[class=tab-close]:hover{ - background-position:right top; -} -QTabBar QToolButton[class=tab-close]:pressed{ - background-position:left bottom; -} -QTabBar QToolButton[class=tab-close]{ - background-color:rgba(255,255,255,0); -} - - -/*MyLabel { qproperty-pixmap: url(pixmap.png); }*/ -/*MyGroupBox { qproperty-titleColor: rgb(100, 200, 100); }*/ /* download widget */ + QMenu#menuButtonDownload { /*padding: 0;*/ border: 1px solid #d1d1d1; @@ -544,201 +338,7 @@ CDownloadWidget[hdpi] QLabel#labelName { font-size: 32px; } -/* end of download widget */ - -QPrintDialog, QPrintPropertiesDialog { - /*background-color:#fff;*/ - font-family: 'Helvetica Neue',Arial; - /*color: #444;*/ -} - -QPrintDialog QWidget { - /*selection-background-color: rgba(0,0,0,0.4);*/ -} - -QPrintDialog QLabel { - /*color:#444;*/ - font-size: 11px; - font-weight: bold; -} - -QPushButton { - /*background-color:#d9d9d9;*/ - padding:0 20px; - font-weight: normal; - height: 22px; - font-size: 12px; -} - -QDialog QPushButton { - min-width: 40px; -} - -QPrintDialog QToolButton{ - /*background-color: red;*/ - border: 1px solid #cbcbcb; - border-radius:2px; - height: 22px; -} - -QPrintDialog QLineEdit{ - font-weight: normal; - font-size: 11px; - /*color: #444;*/ - border: 1px solid #cbcbcb; - height: 22px; - border-radius:2px; -} - -QPrintDialog QGroupBox { - border: 1px solid #cbcbcb; - margin-top: 4ex; - border-radius:2px; - font-size: 11px; - padding:8px; -} - -QPrintDialog QGroupBox::title { - subcontrol-origin: margin; -} - -QPrintDialog QComboBox{ - border: 1px solid #cbcbcb; - font-family: 'Helvetica Neue',Arial; - font-size: 11px; - height: 22px; - border-radius:2px; - /*background-color: #fff;*/ - - /*selection-background-color: red;*/ - show-decoration-selected: 1; -} - -QPrintDialog QComboBox::down-arrow{ - /* border-image: url(:/res/icons/arrow_down.png) 0 0 0 0 repeat repeat; */ - /* width: 5px; */ - /* height: 3px; */ -} - -QPrintDialog QComboBox::drop-down{ - border:0 none; -} - -QPrintDialog QComboBox:!editable:on { - /*background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #D3D3D3, stop:0.4 #D8D8D8, stop:0.5 #DDDDDD, stop:1.0 #E1E1E1);*/ - /*background:#cbced1;*/ -} - -QPrintDialog QComboBox QAbstractItemView { - border: 1px solid #cbcbcb; - border-radius:2px; - /*background-color: #fff;*/ - /*selection-background-color: rgba(255, 255, 255, 0.5);*/ -} - -QPrintDialog QRadioButton::indicator{ - width:13px; - height:13px; -} - -QPrintDialog QRadioButton, QPrintDialog QCheckBox { - font-size: 11px; - /*color: 444;*/ -} - -QPrintDialog QRadioButton::indicator::unchecked{ - border-image: url(:/res/icons/radiobox.png) 0 0 0 0 repeat repeat; -} - -QPrintDialog QRadioButton::indicator::checked{ - border-image: url(:/res/icons/radiobox.png) 13 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator{ - width:14px; - height:14px; -} - -QPrintDialog QCheckBox::indicator::checked{ - border-image: url(:/res/icons/checkbox.png) 14 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator::unchecked{ - border-image: url(:/res/icons/checkbox.png) 0 0 0 0 repeat repeat; -} - -QSpinBox, QDoubleSpinBox, QTimeEdit { - border: 1px solid #cbcbcb; - border-radius:2px; - height:22px; - font-size: 11px; - /*background-color:#fff;*/ -} - -QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { - width: 5px; - height: 3px; -} - -QPrintDialog *::up-arrow { - border-image: url(:/res/icons/arrow_down.png) 3 0 0 0 repeat repeat; - margin-bottom:1px; -} - -QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { - border-image: url(:/res/icons/arrow_down.png) 3 0 0 5 repeat repeat; -} - -/*QSpinBox::down-arrow, QDoubleSpinBox::down-arrow, QTimeEdit::down-arrow {*/ -QPrintDialog *::down-arrow { - border-image: url(:/res/icons/arrow_down.png) 0 0 0 0 repeat repeat; - margin-top:1px; -} - -QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { - border-image: url(:/res/icons/arrow_down.png) 0 0 0 5 repeat repeat; -} - -QPrintDialog *::up-button, QPrintDialog *::down-button { - border: 0 none; -} - -QPrintDialog QTabWidget::pane{ - /*background-color: white;*/ - /*border: 1px solid #cbcbcb;*/ - /*position:absolute;*/ - /*top: -1px;*/ -} -QPrintDialog QTabBar::tab { - /*background-color:#fff;*/ - border: 1px solid #cbcbcb; - padding: 0 10px; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - margin-right:-1px; - font-size: 11px; -} - -QPrintDialog QTabBar::tab:first { -} - -QPrintDialog QTabBar::tab:last { - margin-right:0; -} - -QPrintDialog QTabBar::tab:selected { - padding: 0 10px; -} - -QPrintDialog QTabBar::tab:selected { - background-color:rgba(255,255,255,0.3); - /*border-bottom-color: transparent;*/ -} - -QPrintDialog QTabBar::tab:!selected { - /*margin-top: 2px;*/ - /*color:#444;*/ -} +/* ToolTip*/ #CToolTip>QLabel { min-height: 26px; @@ -746,7 +346,7 @@ QPrintDialog QTabBar::tab:!selected { padding-left: 10px; padding-right: 10px; padding-top: 0px; padding-bottom: 0px; color: #373737; - font-family: "Libra Sans"; + font-family: "Arial", "Helvetica", "Helvetica Neue", sans-serif; font-size: 11px; font-weight: normal; qproperty-alignment: AlignCenter; diff --git a/win-linux/res/styles/styles@1.25x.qss b/win-linux/res/styles/styles@1.25x.qss index 9d63e2a7e..0cd76e02a 100644 --- a/win-linux/res/styles/styles@1.25x.qss +++ b/win-linux/res/styles/styles@1.25x.qss @@ -7,71 +7,18 @@ font-size: 14px; } -#paddingWidget { - min-width: 15px; - max-width: 15px; -} - -#scrollerFrame { - min-width: 48px; - max-width: 48px; -} - -#scrollerFrame>QToolButton { - margin: 0px; - border: none; background-color: #f1f1f1; -} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} - -#scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_1.25x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_1.25x.png) center no-repeat; -} -QPushButton#toolButtonDownload { - padding: 7px; +QPushButton { + border: 1px solid #cbcbcb; + padding:0 25px; + height: 28px; + border-radius: 2px; + font-size: 14px; } QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { padding: 6px 15px 9px; } - -QPushButton#toolButtonMaximize { - background-image:url(:/maximize_1.25x.png); -} - -QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { - background-image:url(:/minimize-close_1.25x.png); -} - QPushButton#toolButtonMain { border-right-width: 1px; } @@ -90,17 +37,12 @@ QPushButton#toolButtonMain[class=normal], QPushButton::menu-indicator { width: 13px; height: 13px; - border-image: url(:/menu-indicator_1.25x.png) 0 0 0 0 repeat repeat; left: -2px; top: -2px; } -QPushButton::menu-indicator:disabled { - border-image: url(:/menu-indicator_1.25x.png) 0 0 0 13 repeat repeat; -} - -QPushButton::menu-indicator:hover { - border-image: url(:/menu-indicator_1.25x.png) 0 13 0 0 repeat repeat; +QPushButton#toolButtonDownload { + padding: 7px; } QPushButton#toolButtonDownload::menu-indicator { @@ -108,65 +50,8 @@ QPushButton#toolButtonDownload::menu-indicator { left: -5px; } -/**************************/ -/* dark theme definitions */ -/**************************/ - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize { - background-image:url(:/max_light_1.25x.png); -} - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize, - #mainPanel[uithemetype=dark] QPushButton#toolButtonClose -{ - background-image:url(:/minclose_light_1.25x.png); -} - -/**************************/ - -QTabBar { - font-size: 14px; -} - -QTabBar::tab { - padding-left: 9px; -} - -QTabBar::tab { - padding: 0; -} - -QTabBar::close-button { -} - -QTabBar::close-button:hover { -} - -QTabBar::close-button:pressed { -} - -QTabBar QToolButton, - QTabBar QToolButton:disabled { - margin-right:-2px; - border-width:2px; -} - -QTabBar[scroll=var2]::scroller, -QTabBar::scroller { - width: 0px; -} - -QTabBar QToolButton[class=tab-close]{ - background-image:url(:/tabbar/icons/close_normal_1.25x.png); -} -QTabBar QToolButton[class=tab-close][state=active]{ - background-image:url(:/tabbar/icons/close_active_1.25x.png); -} -QTabBar QToolButton[class=tab-close]:hover{ - border-right:2px solid #fff; /* ??? pixmap offsets on hover for 2px ??? */ -} - /* download widget */ + QMenu[hdpi]#menuButtonDownload { border-width: 1px; } @@ -191,135 +76,7 @@ CDownloadWidget[hdpi] QLabel#labelName { font-size: 20px; } -QPushButton { - border: 1px solid #cbcbcb; - padding:0 25px; - height: 28px; - border-radius: 2px; - font-size: 14px; -} - -QDialog QPushButton { - min-width: 100px; -} - -QLabel[class=tab-icon] { - padding:0 0 2px 8px; -} - -QPrintDialog QLabel { - font-size: 14px; -} - -QPrintDialog QToolButton{ - border-width: 1px; - border-radius: 2px; - height: 33px; -} - -QPrintDialog QLineEdit{ - font-size: 14px; - border-width: 1px; - height: 28px; - border-radius: 2px; -} - -QPrintDialog QGroupBox { - border-width: 1px; - margin-top: 5ex; - border-radius: 2px; - font-size: 14px; - padding: 10px; -} - -QPrintDialog QComboBox{ - border-width: 1px; - font-size: 14px; - height: 28px; - border-radius:2px; -} - -QPrintDialog QComboBox QAbstractItemView { - border-width: 1px; - border-radius: 2px; -} - -QPrintDialog QRadioButton::indicator{ - width: 16px; - height: 16px; -} - -QPrintDialog QRadioButton, QPrintDialog QCheckBox { - font-size: 14px; -} - -QPrintDialog QRadioButton::indicator::unchecked{ - border-image: url(:/radiobox_1.25x.png) 0 0 0 0 repeat repeat; -} - -QPrintDialog QRadioButton::indicator::checked{ - border-image: url(:/radiobox_1.25x.png) 20 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator{ - width: 18px; - height: 18px; -} - -QPrintDialog QCheckBox::indicator::checked{ - border-image: url(:/checkbox_1.25x.png) 21 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator::unchecked{ - border-image: url(:/checkbox_1.25x.png) 0 0 0 0 repeat repeat; -} - -QSpinBox, QDoubleSpinBox, QTimeEdit { - border-width: 1px; - border-radius: 2px; - height: 28px; - font-size: 14px; -} - -QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { - width: 6px; - height: 4px; -} - -QPrintDialog *::up-arrow { - border-image: url(:/arrow_down_1.25x.png) 5 0 0 0 repeat repeat; - margin-bottom:1px; -} - -QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { - border-image: url(:/arrow_down_1.25x.png) 5 0 0 8 repeat repeat; -} - -QPrintDialog *::down-arrow { - border-image: url(:/arrow_down_1.25x.png) 0 0 0 0 repeat repeat; - margin-top:1px; -} - -QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { - border-image: url(:/arrow_down_1.25x.png) 0 0 0 8 repeat repeat; -} - -QPrintDialog QTabWidget::pane{ - border-width: 1px; - top: -1px; -} -QPrintDialog QTabBar::tab { - border-width: 1px; - padding: 0 13px; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - margin-right:-1px; - font-size: 14px; -} - -QPrintDialog QTabBar::tab:selected { - padding: 0 13px; -} +/* ToolTip*/ #CToolTip>QLabel { min-height: 32px; diff --git a/win-linux/res/styles/styles@1.5x.qss b/win-linux/res/styles/styles@1.5x.qss index d6701dede..0389858d2 100644 --- a/win-linux/res/styles/styles@1.5x.qss +++ b/win-linux/res/styles/styles@1.5x.qss @@ -7,71 +7,18 @@ font-size: 17px; } -#paddingWidget { - min-width: 15px; - max-width: 15px; -} - -#scrollerFrame { - min-width: 48px; - max-width: 48px; -} - -#scrollerFrame>QToolButton { - margin: 0px; - border: none; background-color: #f1f1f1; -} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} - -#scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_1.5x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_1.5x.png) center no-repeat; -} -QPushButton#toolButtonDownload { - padding: 9px; +QPushButton { + border: 2px solid #cbcbcb; + padding:0 30px; + height: 33px; + border-radius: 3px; + font-size: 17px; } QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { padding: 8px 18px 11px; } - -QPushButton#toolButtonMaximize { - background-image:url(:/maximize_1.5x.png); -} - -QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { - background-image:url(:/minimize-close_1.5x.png); -} - QPushButton#toolButtonMain { /*font-size: 20px;*/ border-right-width: 2px; @@ -91,17 +38,12 @@ QPushButton#toolButtonMain[class=normal], QPushButton::menu-indicator { width: 15px; height: 15px; - border-image: url(:/menu-indicator_1.5x.png) 0 0 0 0 repeat repeat; left: -3px; top: -2px; } -QPushButton::menu-indicator:disabled { - border-image: url(:/menu-indicator_1.5x.png) 0 0 0 15 repeat repeat; -} - -QPushButton::menu-indicator:hover { - border-image: url(:/menu-indicator_1.5x.png) 0 15 0 0 repeat repeat; +QPushButton#toolButtonDownload { + padding: 9px; } QPushButton#toolButtonDownload::menu-indicator { @@ -109,65 +51,8 @@ QPushButton#toolButtonDownload::menu-indicator { left: -6px; } -/**************************/ -/* dark theme definitions */ -/**************************/ - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize { - background-image:url(:/max_light_1.5x.png); -} - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize, - #mainPanel[uithemetype=dark] QPushButton#toolButtonClose -{ - background-image:url(:/minclose_light_1.5x.png); -} - -/**************************/ - -QTabBar { - font-size: 15px; -} - -QTabBar::tab { - padding-left: 11px; -} - -QTabBar::tab { - padding: 0; -} - -QTabBar::close-button { -} - -QTabBar::close-button:hover { -} - -QTabBar::close-button:pressed { -} - -QTabBar QToolButton, - QTabBar QToolButton:disabled { - margin-right:-2px; - border-width:2px; -} - -QTabBar[scroll=var2]::scroller, -QTabBar::scroller { - width: 0px; -} - -QTabBar QToolButton[class=tab-close]{ - background-image:url(:/tabbar/icons/close_normal_1.5x.png); -} -QTabBar QToolButton[class=tab-close][state=active]{ - background-image:url(:/tabbar/icons/close_active_1.5x.png); -} -QTabBar QToolButton[class=tab-close]:hover{ - border-right:2px solid #fff; /* ??? pixmap offsets on hover for 2px ??? */ -} - /* download widget */ + QMenu[hdpi]#menuButtonDownload { border-width: 2px; } @@ -192,135 +77,7 @@ CDownloadWidget[hdpi] QLabel#labelName { font-size: 24px; } -QPushButton { - border: 2px solid #cbcbcb; - padding:0 30px; - height: 33px; - border-radius: 3px; - font-size: 17px; -} - -QDialog QPushButton { - min-width: 120px; -} - -QLabel[class=tab-icon] { - padding:0 0 3px 9px; -} - -QPrintDialog QLabel { - font-size: 17px; -} - -QPrintDialog QToolButton{ - border-width: 1px; - border-radius: 3px; - height: 33px; -} - -QPrintDialog QLineEdit{ - font-size: 17px; - border-width: 2px; - height: 33px; - border-radius: 3px; -} - -QPrintDialog QGroupBox { - border-width: 2px; - margin-top: 6ex; - border-radius: 3px; - font-size: 17px; - padding: 12px; -} - -QPrintDialog QComboBox{ - border-width: 2px; - font-size: 17px; - height: 33px; - border-radius:3px; -} - -QPrintDialog QComboBox QAbstractItemView { - border-width: 2px; - border-radius: 3px; -} - -QPrintDialog QRadioButton::indicator{ - width: 20px; - height: 20px; -} - -QPrintDialog QRadioButton, QPrintDialog QCheckBox { - font-size: 17px; -} - -QPrintDialog QRadioButton::indicator::unchecked{ - border-image: url(:/radiobox_1.5x.png) 0 0 0 0 repeat repeat; -} - -QPrintDialog QRadioButton::indicator::checked{ - border-image: url(:/radiobox_1.5x.png) 20 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator{ - width: 21px; - height: 21px; -} - -QPrintDialog QCheckBox::indicator::checked{ - border-image: url(:/checkbox_1.5x.png) 21 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator::unchecked{ - border-image: url(:/checkbox_1.5x.png) 0 0 0 0 repeat repeat; -} - -QSpinBox, QDoubleSpinBox, QTimeEdit { - border-width: 2px; - border-radius: 3px; - height: 33px; - font-size: 17px; -} - -QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { - width: 8px; - height: 5px; -} - -QPrintDialog *::up-arrow { - border-image: url(:/arrow_down_1.5x.png) 5 0 0 0 repeat repeat; - margin-bottom:1px; -} - -QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { - border-image: url(:/arrow_down_1.5x.png) 5 0 0 8 repeat repeat; -} - -QPrintDialog *::down-arrow { - border-image: url(:/arrow_down_1.5x.png) 0 0 0 0 repeat repeat; - margin-top:1px; -} - -QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { - border-image: url(:/arrow_down_1.5x.png) 0 0 0 8 repeat repeat; -} - -QPrintDialog QTabWidget::pane{ - border-width: 2px; - top: -2px; -} -QPrintDialog QTabBar::tab { - border-width: 2px; - padding: 0 15px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - margin-right:-2px; - font-size: 17px; -} - -QPrintDialog QTabBar::tab:selected { - padding: 0 15px; -} +/* ToolTip*/ #CToolTip>QLabel { min-height: 40px; diff --git a/win-linux/res/styles/styles@1.75x.qss b/win-linux/res/styles/styles@1.75x.qss index ed23f4600..1245afee0 100644 --- a/win-linux/res/styles/styles@1.75x.qss +++ b/win-linux/res/styles/styles@1.75x.qss @@ -2,78 +2,23 @@ min-width: 350px; } - #labelAppTitle { margin-top: -4px; font-size: 20px; } -#paddingWidget { - min-width: 31px; - max-width: 31px; -} - -#scrollerFrame { - min-width: 64px; - max-width: 64px; -} - -#scrollerFrame>QToolButton { - margin: 0px; - border: none; background-color: #f1f1f1; -} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} - -#scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_1.75x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_1.75x.png) center no-repeat; -} - -QPushButton#toolButtonDownload { - padding: 11px; +QPushButton { + border: 2px solid #cbcbcb; + padding:0 35px; + height: 39px; + border-radius: 4px; + font-size: 20px; } QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { padding: 9px 21px 13px; } - -QPushButton#toolButtonMaximize { - background-image:url(:/maximize_1.75x.png); -} - -QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { - background-image:url(:/minimize-close_1.75x.png); -} - QPushButton#toolButtonMain { /*font-size: 20px;*/ border-right-width: 2px; @@ -93,17 +38,12 @@ QPushButton#toolButtonMain[class=normal], QPushButton::menu-indicator { width: 18px; height: 18px; - border-image: url(:/menu-indicator_1.75x.png) 0 0 0 0 repeat repeat; left: -4px; top: -2px; } -QPushButton::menu-indicator:disabled { - border-image: url(:/menu-indicator_1.75x.png) 0 0 0 15 repeat repeat; -} - -QPushButton::menu-indicator:hover { - border-image: url(:/menu-indicator_1.75x.png) 0 15 0 0 repeat repeat; +QPushButton#toolButtonDownload { + padding: 11px; } QPushButton#toolButtonDownload::menu-indicator { @@ -111,65 +51,8 @@ QPushButton#toolButtonDownload::menu-indicator { left: -7px; } -/**************************/ -/* dark theme definitions */ -/**************************/ - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize { - background-image:url(:/max_light_1.75x.png); -} - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize, - #mainPanel[uithemetype=dark] QPushButton#toolButtonClose -{ - background-image:url(:/minclose_light_1.75x.png); -} - -/**************************/ - -QTabBar { - font-size: 18px; -} - -QTabBar::tab { - padding-left: 13px; -} - -QTabBar::tab { - padding: 0; -} - -QTabBar::close-button { -} - -QTabBar::close-button:hover { -} - -QTabBar::close-button:pressed { -} - -QTabBar QToolButton, - QTabBar QToolButton:disabled { - margin-right:-2px; - border-width:2px; -} - -QTabBar[scroll=var2]::scroller, -QTabBar::scroller { - width: 0px; -} - -QTabBar QToolButton[class=tab-close]{ - background-image:url(:/tabbar/icons/close_normal_1.75x.png); -} -QTabBar QToolButton[class=tab-close][state=active]{ - background-image:url(:/tabbar/icons/close_active_1.75x.png); -} -QTabBar QToolButton[class=tab-close]:hover{ - border-right:2px solid #fff; /* ??? pixmap offsets on hover for 2px ??? */ -} - /* download widget */ + QMenu[hdpi]#menuButtonDownload { border-width: 2px; } @@ -194,135 +77,7 @@ CDownloadWidget[hdpi] QLabel#labelName { font-size: 24px; } -QPushButton { - border: 2px solid #cbcbcb; - padding:0 35px; - height: 39px; - border-radius: 4px; - font-size: 20px; -} - -QDialog QPushButton { - min-width: 140px; -} - -QLabel[class=tab-icon] { - padding:0 0 4px 9px; -} - -QPrintDialog QLabel { - font-size: 20px; -} - -QPrintDialog QToolButton{ - border-width: 1px; - border-radius: 3px; - height: 39px; -} - -QPrintDialog QLineEdit{ - font-size: 20px; - border-width: 2px; - height: 39px; - border-radius: 3px; -} - -QPrintDialog QGroupBox { - border-width: 2px; - margin-top: 7ex; - border-radius: 3px; - font-size: 20px; - padding: 14px; -} - -QPrintDialog QComboBox{ - border-width: 2px; - font-size: 20px; - height: 39px; - border-radius: 4px; -} - -QPrintDialog QComboBox QAbstractItemView { - border-width: 2px; - border-radius: 3px; -} - -QPrintDialog QRadioButton::indicator{ - width: 23px; - height: 23px; -} - -QPrintDialog QRadioButton, QPrintDialog QCheckBox { - font-size: 20px; -} - -QPrintDialog QRadioButton::indicator::unchecked{ - border-image: url(:/radiobox_1.75x.png) 0 0 0 0 repeat repeat; -} - -QPrintDialog QRadioButton::indicator::checked{ - border-image: url(:/radiobox_1.75x.png) 20 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator{ - width: 25px; - height: 25px; -} - -QPrintDialog QCheckBox::indicator::checked{ - border-image: url(:/checkbox_1.75x.png) 21 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator::unchecked{ - border-image: url(:/checkbox_1.5x.png) 0 0 0 0 repeat repeat; -} - -QSpinBox, QDoubleSpinBox, QTimeEdit { - border-width: 2px; - border-radius: 3px; - height: 39px; - font-size: 20px; -} - -QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { - width: 9px; - height: 6px; -} - -QPrintDialog *::up-arrow { - border-image: url(:/arrow_down_1.75x.png) 5 0 0 0 repeat repeat; - margin-bottom:1px; -} - -QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { - border-image: url(:/arrow_down_1.75x.png) 5 0 0 8 repeat repeat; -} - -QPrintDialog *::down-arrow { - border-image: url(:/arrow_down_1.75x.png) 0 0 0 0 repeat repeat; - margin-top:1px; -} - -QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { - border-image: url(:/arrow_down_1.75x.png) 0 0 0 8 repeat repeat; -} - -QPrintDialog QTabWidget::pane{ - border-width: 2px; - top: -2px; -} -QPrintDialog QTabBar::tab { - border-width: 2px; - padding: 0 18px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - margin-right:-2px; - font-size: 20px; -} - -QPrintDialog QTabBar::tab:selected { - padding: 0 18px; -} +/* ToolTip*/ #CToolTip>QLabel { min-height: 46px; diff --git a/win-linux/res/styles/styles@2.25x.qss b/win-linux/res/styles/styles@2.25x.qss new file mode 100644 index 000000000..9138094d4 --- /dev/null +++ b/win-linux/res/styles/styles@2.25x.qss @@ -0,0 +1,63 @@ +#CX11Caption {min-width: 394px;} +#labelAppTitle {margin-top: -5px; font-size: 25px;} + +QPushButton {border: 2px solid #cbcbcb; padding: 0 45px; height: 50px; border-radius: 5px; font-size: 25px;} + +QPushButton#toolButtonMaximize, +QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose {padding: 11px 27px 16px;} + +QPushButton#toolButtonMain {font-size: 23px; border-right-width: 2px;} +QPushButton#toolButtonMain[theme=light] {border-width: 2px; border-bottom: 0 none;} +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover {border-bottom-width: 2px;} + +QPushButton::menu-indicator { + width: 23px; + height: 23px; + left: -5px; + top: -2px; +} + +QPushButton#toolButtonDownload { + padding: 14px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -23px; + left: -9px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 2px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 5px; + max-height: 11px; + margin-right: 23px; + margin-top: 2px; + min-width: 450px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 5px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 27px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 36px; +} + +/* ToolTip*/ + +#CToolTip>QLabel {min-height: 59px; margin: 0px; padding-left: 23px; padding-right: 23px; + font-size: 25px; border: 2px solid #c0c0c0; border-radius: 10px;} + +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel {border: 2px solid #666666;} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel {border: 2px solid #696969;} diff --git a/win-linux/res/styles/styles@2.5x.qss b/win-linux/res/styles/styles@2.5x.qss new file mode 100644 index 000000000..cc2b828e7 --- /dev/null +++ b/win-linux/res/styles/styles@2.5x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 438px; +} + +#labelAppTitle { + margin-top: -5px; + font-size: 28px; +} + +QPushButton { + border: 3px solid #cbcbcb; + padding: 0 50px; + height: 55px; + border-radius: 5px; + font-size: 28px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 13px 30px 18px; +} + +QPushButton#toolButtonMain { + font-size: 25px; + border-right-width: 3px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 3px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 3px; +} + +QPushButton::menu-indicator { + width: 25px; + height: 25px; + left: -5px; + top: -3px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 15px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -25px; + left: -10px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 3px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 5px; + max-height: 13px; + margin-right: 25px; + margin-top: 3px; + min-width: 500px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 5px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 30px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 40px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 65px; + margin: 0px; + padding-left: 25px; padding-right: 25px; + font-size: 28px; + border: 3px solid #c0c0c0; + border-radius: 11px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 3px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 3px solid #696969; +} diff --git a/win-linux/res/styles/styles@2.75x.qss b/win-linux/res/styles/styles@2.75x.qss new file mode 100644 index 000000000..907a61359 --- /dev/null +++ b/win-linux/res/styles/styles@2.75x.qss @@ -0,0 +1,96 @@ +#CX11Caption { + min-width: 481px; +} + +#labelAppTitle { + margin-top: -6px; + font-size: 30px; +} + +QPushButton { + border: 3px solid #cbcbcb; + padding: 0 55px; + height: 61px; + border-radius: 6px; + font-size: 30px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 14px 33px 19px; +} + +QPushButton#toolButtonMain { + font-size: 28px; + border-right-width: 3px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 3px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 3px; +} + +QPushButton::menu-indicator { + width: 28px; + height: 28px; + left: -6px; + top: -3px; +} + +QPushButton#toolButtonDownload { + padding: 17px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -28px; + left: -11px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 3px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 6px; + max-height: 14px; + margin-right: 28px; + margin-top: 3px; + min-width: 550px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 6px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 33px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 44px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 72px; + margin: 0px; + padding-left: 28px; padding-right: 28px; + font-size: 30px; + border: 3px solid #c0c0c0; + border-radius: 12px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 3px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 3px solid #696969; +} diff --git a/win-linux/res/styles/styles@2x.qss b/win-linux/res/styles/styles@2x.qss index 4ef33a89d..019c6537b 100644 --- a/win-linux/res/styles/styles@2x.qss +++ b/win-linux/res/styles/styles@2x.qss @@ -7,56 +7,12 @@ font-size: 22px; } -#paddingWidget { - min-width: 31px; - max-width: 31px; -} - -#scrollerFrame { - min-width: 64px; - max-width: 64px; -} - -#scrollerFrame>QToolButton { - margin: 0px; - border: none; background-color: #f1f1f1; -} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} - -#scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_2x.png) center no-repeat; -} - -#scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_2x.png) center no-repeat; -} -QPushButton#toolButtonDownload { - padding: 12px; +QPushButton { + border: 2px solid #cbcbcb; + padding:0 40px; + height: 44px; + border-radius:4px; + font-size: 22px; } QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, @@ -64,14 +20,6 @@ QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, padding: 10px 24px 14px; } -QPushButton#toolButtonMaximize { - background-image:url(:/maximize_2x.png); -} - -QPushButton#toolButtonMinimize, QPushButton#toolButtonClose { - background-image:url(:/minimize-close_2x.png); -} - QPushButton#toolButtonMain { font-size: 20px; border-right-width: 2px; @@ -91,19 +39,10 @@ QPushButton#toolButtonMain[class=normal], QPushButton::menu-indicator { width: 20px; height: 20px; - border-image: url(:/menu-indicator_2x.png) 0 0 0 0 repeat repeat; left: -4px; top: -2px; } -QPushButton::menu-indicator:disabled { - border-image: url(:/menu-indicator_2x.png) 0 0 0 20 repeat repeat; -} - -QPushButton::menu-indicator:hover { - border-image: url(:/menu-indicator_2x.png) 0 20 0 0 repeat repeat; -} - /*QPushButton[theme=dark]::menu-indicator:disabled {*/ /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ /*}*/ @@ -112,65 +51,17 @@ QPushButton::menu-indicator:hover { /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ /*}*/ +QPushButton#toolButtonDownload { + padding: 12px; +} + QPushButton#toolButtonDownload::menu-indicator { top: -20px; left: -8px; } -/**************************/ -/* dark theme definitions */ -/**************************/ - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMaximize { - background-image:url(:/max_light_2x.png); -} - -#mainPanel[uithemetype=dark] QPushButton#toolButtonMinimize, - #mainPanel[uithemetype=dark] QPushButton#toolButtonClose -{ - background-image:url(:/minclose_light_2x.png); -} - -/**************************/ - -QTabBar { - font-size: 20px; -} - -QTabBar::tab { - padding-left: 14px; -} - -QTabBar::tab { - padding: 0; -} - -QTabBar::close-button { - image: url(:/res/icons/tab_close_normal_2x.png); - margin-top: -2px; - icon-size: 32px; -} - -QTabBar::close-button:hover { - image:url(:/res/icons/tab_close_hover_2x.png); -} - -QTabBar::close-button:pressed { - image:url(:/res/icons/tab_close_active_2x.png); -} - -QTabBar QToolButton, - QTabBar QToolButton:disabled { - margin-right:-2px; - border-width:2px; -} - -QTabBar[scroll=var2]::scroller, -QTabBar::scroller { - width: 0px; -} - /* download widget */ + QMenu[hdpi]#menuButtonDownload { border-width: 2px; } @@ -195,146 +86,7 @@ CDownloadWidget[hdpi] QLabel#labelName { font-size: 32px; } -QPushButton { - border: 2px solid #cbcbcb; - padding:0 40px; - height: 44px; - border-radius:4px; - font-size: 22px; -} - -QDialog QPushButton { - min-width: 80px; -} - -QLabel[class=tab-icon] { - padding:0 0 4px 12px; -} - -QTabBar QToolButton[class=tab-close]{ - background-image:url(:/tabbar/icons/close_normal_2x.png); -} -QTabBar QToolButton[class=tab-close][state=active]{ - background-image:url(:/tabbar/icons/close_active_2x.png); -} -QTabBar QToolButton[class=tab-close]:hover{ - border-right:2px solid #fff; -} - -QPrintDialog QLabel { - font-size: 22px; -} - -QPrintDialog QToolButton{ - border-width: 1px; - border-radius:4px; - height: 44px; -} - -QPrintDialog QLineEdit{ - font-size: 22px; - border-width: 2px; - height: 44px; - border-radius:4px; -} - -QPrintDialog QGroupBox { - border-width: 2px; - margin-top: 8ex; - border-radius:4px; - font-size: 22px; - padding:16px; -} - -QPrintDialog QComboBox{ - border-width: 2px; - font-size: 22px; - height: 44px; - border-radius:4px; -} - -QPrintDialog QComboBox QAbstractItemView { - border-width: 2px; - border-radius:4px; -} - -QPrintDialog QRadioButton::indicator{ - width:26px; - height:26px; -} - -QPrintDialog QRadioButton, QPrintDialog QCheckBox { - font-size: 22px; -} - -QPrintDialog QRadioButton::indicator::unchecked{ - border-image: url(:/radiobox_2x.png) 0 0 0 0 repeat repeat; -} - -QPrintDialog QRadioButton::indicator::checked{ - border-image: url(:/radiobox_2x.png) 26 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator{ - width:28px; - height:28px; -} - -QPrintDialog QCheckBox::indicator::checked{ - border-image: url(:/checkbox_2x.png) 28 0 0 0 repeat repeat; -} - -QPrintDialog QCheckBox::indicator::unchecked{ - border-image: url(:/checkbox_2x.png) 0 0 0 0 repeat repeat; -} - -QSpinBox, QDoubleSpinBox, QTimeEdit { - border-width: 2px; - border-radius:4px; - height:44px; - font-size:22px; -} - -QPrintDialog *::up-arrow, QPrintDialog *::down-arrow { - width: 10px; - height: 6px; -} - -QPrintDialog *::up-arrow { - border-image: url(:/arrow_down_2x.png) 6 0 0 0 repeat repeat; - margin-bottom:1px; -} - -QPrintDialog *::up-arrow:disabled, QPrintDialog *::up-arrow:off { - border-image: url(:/arrow_down_2x.png) 6 0 0 10 repeat repeat; -} - -QPrintDialog *::down-arrow { - border-image: url(:/arrow_down_2x.png) 0 0 0 0 repeat repeat; - margin-top:1px; -} - -QPrintDialog *::down-arrow:disabled, QPrintDialog ::down-arrow:off { - border-image: url(:/arrow_down_2x.png) 0 0 0 10 repeat repeat; -} - -QPrintDialog QTabWidget::pane{ - border-width: 2px; - top: -2px; -} -QPrintDialog QTabBar::tab { - border-width: 2px; - padding: 0 20px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - margin-right:-2px; - font-size: 22px; -} - -QPrintDialog QTabBar::tab:selected { - padding: 0 20px; -} - +/* ToolTip*/ #CToolTip>QLabel { min-height: 52px; diff --git a/win-linux/res/styles/styles@3.5x.qss b/win-linux/res/styles/styles@3.5x.qss new file mode 100644 index 000000000..3749433f7 --- /dev/null +++ b/win-linux/res/styles/styles@3.5x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 613px; +} + +#labelAppTitle { + margin-top: -7px; + font-size: 39px; +} + +QPushButton { + border: 4px solid #cbcbcb; + padding: 0 70px; + height: 77px; + border-radius: 7px; + font-size: 39px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 18px 42px 25px; +} + +QPushButton#toolButtonMain { + font-size: 35px; + border-right-width: 4px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 4px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 4px; +} + +QPushButton::menu-indicator { + width: 35px; + height: 35px; + left: -7px; + top: -4px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 21px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -35px; + left: -14px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 4px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 7px; + max-height: 18px; + margin-right: 35px; + margin-top: 4px; + min-width: 700px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 7px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 42px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 56px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 91px; + margin: 0px; + padding-left: 35px; padding-right: 35px; + font-size: 39px; + border: 4px solid #c0c0c0; + border-radius: 16px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 4px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 4px solid #696969; +} diff --git a/win-linux/res/styles/styles@3x.qss b/win-linux/res/styles/styles@3x.qss new file mode 100644 index 000000000..5eb525d8e --- /dev/null +++ b/win-linux/res/styles/styles@3x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 525px; +} + +#labelAppTitle { + margin-top: -6px; + font-size: 33px; +} + +QPushButton { + border: 3px solid #cbcbcb; + padding: 0 60px; + height: 66px; + border-radius: 6px; + font-size: 33px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 15px 36px 21px; +} + +QPushButton#toolButtonMain { + font-size: 30px; + border-right-width: 3px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 3px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 3px; +} + +QPushButton::menu-indicator { + width: 30px; + height: 30px; + left: -6px; + top: -3px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 18px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -30px; + left: -12px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 3px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 6px; + max-height: 15px; + margin-right: 30px; + margin-top: 3px; + min-width: 600px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 6px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 36px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 48px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 78px; + margin: 0px; + padding-left: 30px; padding-right: 30px; + font-size: 33px; + border: 3px solid #c0c0c0; + border-radius: 14px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 3px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 3px solid #696969; +} diff --git a/win-linux/res/styles/styles@4.5x.qss b/win-linux/res/styles/styles@4.5x.qss new file mode 100644 index 000000000..a746b6230 --- /dev/null +++ b/win-linux/res/styles/styles@4.5x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 788px; +} + +#labelAppTitle { + margin-top: -9px; + font-size: 50px; +} + +QPushButton { + border: 5px solid #cbcbcb; + padding:0 90px; + height: 99px; + border-radius:9px; + font-size: 50px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 23px 54px 32px; +} + +QPushButton#toolButtonMain { + font-size: 45px; + border-right-width: 5px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 5px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 5px; +} + +QPushButton::menu-indicator { + width: 45px; + height: 45px; + left: -9px; + top: -5px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 27px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -45px; + left: -18px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 5px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 9px; + max-height: 23px; + margin-right: 45px; + margin-top: 5px; + min-width: 900px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 9px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 54px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 72px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 117px; + margin: 0px; + padding-left: 45px; padding-right: 45px; + font-size: 50px; + border: 5px solid #c0c0c0; + border-radius: 20px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 5px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 5px solid #696969; +} diff --git a/win-linux/res/styles/styles@4x.qss b/win-linux/res/styles/styles@4x.qss new file mode 100644 index 000000000..783d8ce5e --- /dev/null +++ b/win-linux/res/styles/styles@4x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 700px; +} + +#labelAppTitle { + margin-top: -8px; + font-size: 44px; +} + +QPushButton { + border: 4px solid #cbcbcb; + padding: 0 80px; + height: 88px; + border-radius: 8px; + font-size: 44px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 20px 48px 28px; +} + +QPushButton#toolButtonMain { + font-size: 40px; + border-right-width: 4px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 4px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 4px; +} + +QPushButton::menu-indicator { + width: 40px; + height: 40px; + left: -8px; + top: -4px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 24px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -40px; + left: -16px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 4px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 8px; + max-height: 20px; + margin-right: 40px; + margin-top: 4px; + min-width: 800px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 8px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 48px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 64px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 104px; + margin: 0px; + padding-left: 40px; padding-right: 40px; + font-size: 44px; + border: 4px solid #c0c0c0; + border-radius: 18px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 4px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 4px solid #696969; +} diff --git a/win-linux/res/styles/styles@5x.qss b/win-linux/res/styles/styles@5x.qss new file mode 100644 index 000000000..3ad2e3f24 --- /dev/null +++ b/win-linux/res/styles/styles@5x.qss @@ -0,0 +1,104 @@ +#CX11Caption { + min-width: 875px; +} + +#labelAppTitle { + margin-top: -10px; + font-size: 55px; +} + +QPushButton { + border: 5px solid #cbcbcb; + padding: 0 100px; + height: 110px; + border-radius: 10px; + font-size: 55px; +} + +QPushButton#toolButtonMaximize,QPushButton#toolButtonMinimize, + QPushButton#toolButtonClose { + padding: 25px 60px 35px; +} + +QPushButton#toolButtonMain { + font-size: 50px; + border-right-width: 5px; +} + +QPushButton#toolButtonMain[theme=light] { + border-width: 5px; + border-bottom: 0 none; +} + +QPushButton#toolButtonMain[class=normal], + QPushButton#toolButtonMain[class=normal]:hover +{ + border-bottom-width: 5px; +} + +QPushButton::menu-indicator { + width: 50px; + height: 50px; + left: -10px; + top: -5px; +} + +/*QPushButton[theme=dark]::menu-indicator:disabled {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 0 0 20 repeat repeat;*/ +/*}*/ + +/*QPushButton[theme=dark]::menu-indicator:hover {*/ + /*border-image: url(:/res/icons/menu-indicator-dark.png) 0 20 0 0 repeat repeat;*/ +/*}*/ + +QPushButton#toolButtonDownload { + padding: 30px; +} + +QPushButton#toolButtonDownload::menu-indicator { + top: -50px; + left: -20px; +} + +/* download widget */ + +QMenu[hdpi]#menuButtonDownload { + border-width: 5px; +} + +CDownloadWidget[hdpi] QProgressBar { + border-radius: 10px; + max-height: 25px; + margin-right: 50px; + margin-top: 5px; + min-width: 1000px; +} + +CDownloadWidget[hdpi] QProgressBar::chunk { + border-radius: 10px; +} + +CDownloadWidget[hdpi] QPushButton#buttonCancel { + font-size: 60px; +} + +CDownloadWidget[hdpi] QLabel#labelName { + font-size: 80px; +} + +/* ToolTip*/ + +#CToolTip>QLabel { + min-height: 130px; + margin: 0px; + padding-left: 50px; padding-right: 50px; + font-size: 55px; + border: 5px solid #c0c0c0; + border-radius: 23px; +} +#mainPanel[uitheme=theme-dark] #CToolTip>QLabel { + border: 5px solid #666666; +} +#mainPanel[uitheme=theme-contrast-dark] #CToolTip>QLabel { + border: 5px solid #696969; +} diff --git a/win-linux/res/styles/tabbar.qss b/win-linux/res/styles/tabbar.qss new file mode 100644 index 000000000..69cee6372 --- /dev/null +++ b/win-linux/res/styles/tabbar.qss @@ -0,0 +1,199 @@ +CTabBar {background: #f1f1f1;} +CTabBar #tabArea {background: transparent;} + +CTabBar #tabScroll {border: none; background: transparent;} +CTabBar #tabScroll>QToolButton {margin: 0px; border: none; background: #f1f1f1;} +CTabBar #tabScroll>QToolButton:hover {background: #cecece;} +CTabBar #tabScroll>QToolButton:pressed {background: #b7b7b7;} + +CTabBar #tabScroll>#leftButton {image: url(:/tabbar/icons/scrolltab_ln.svg);} +CTabBar #tabScroll>#leftButton:disabled {image: url(:/tabbar/icons/scrolltab_ld.svg);} +CTabBar #tabScroll>#leftButton:hover {image: url(:/tabbar/icons/scrolltab_lh.svg);} +CTabBar #tabScroll>#leftButton:pressed {image: url(:/tabbar/icons/scrolltab_lp.svg);} + +CTabBar #tabScroll>#rightButton {image: url(:/tabbar/icons/scrolltab_rn.svg);} +CTabBar #tabScroll>#rightButton:disabled {image: url(:/tabbar/icons/scrolltab_rd.svg);} +CTabBar #tabScroll>#rightButton:hover {image: url(:/tabbar/icons/scrolltab_rh.svg);} +CTabBar #tabScroll>#rightButton:pressed {image: url(:/tabbar/icons/scrolltab_rp.svg);} + +Tab {background: #f1f1f1; border: none; border-right: 1px solid #dfdfdf; margin: 0px; padding: 0px;} +Tab #tabIcon {background: transparent;} +Tab #tabText {background: transparent; font-family: "Arial", "Helvetica", "Helvetica Neue", sans-serif;} +Tab #tabButton {border: none; margin-top: 0px; image: none; background: transparent;} + +Tab[selected=true] {background: #446995; border-color: #446995;} + +CTabBar[active=false] Tab[selected=true] {border-color: #dfdfdf;} +CTabBar[active=false] Tab[selected=true] #tabButton {image: none;} + +Tab[selected=false][hovered=true], +CTabBar[active=false] Tab[selected=true][hovered=true] {background: #cecece;} + +/* light */ +#mainPanel[uitheme=theme-light] Tab {border-right-color: #dfdfdf;} + +/* classic light */ +#mainPanel[uitheme=theme-classic-light] Tab {border-right-color: #cbcbcb;} + +/* dark */ +#mainPanel[uitheme=theme-dark] CTabBar {background: #404040;} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>QToolButton {background: #404040;} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>QToolButton:hover {background: #555;} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>QToolButton:pressed {background: #606060;} +#mainPanel[uitheme=theme-dark] Tab {background: #404040; border-right-color: #505050;} +#mainPanel[uitheme=theme-dark] Tab[selected=true] {background: #2a2a2a; border-color: #2a2a2a;} +#mainPanel[uitheme=theme-dark] CTabBar[active=false] Tab[selected=true] {background: #404040; border-color: #505050;} +#mainPanel[uitheme=theme-dark] Tab[selected=false][hovered=true], +#mainPanel[uitheme=theme-dark] CTabBar[active=false] Tab[selected=true][hovered=true] {background: #555;} + +/* contrast-dark */ +#mainPanel[uitheme=theme-contrast-dark] CTabBar {background: #2a2a2a;} +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>QToolButton {background: #2a2a2a;} +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>QToolButton:hover {background: #525252;} +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>QToolButton:pressed {background: #424242;} +#mainPanel[uitheme=theme-contrast-dark] Tab {background: #2a2a2a; border-right-color: #414141;} +#mainPanel[uitheme=theme-contrast-dark] Tab[selected=true] {background: #1e1e1e; border-color: #1e1e1e;} +#mainPanel[uitheme=theme-contrast-dark] CTabBar[active=false] Tab[selected=true] {background: #2a2a2a; border-color: #414141;} +#mainPanel[uitheme=theme-contrast-dark] Tab[selected=false][hovered=true], +#mainPanel[uitheme=theme-contrast-dark] CTabBar[active=false] Tab[selected=true][hovered=true] {background: #424242;} + +/* portal */ + +/* dark, contrast-dark */ +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#leftButton, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#leftButton { + image: url(:/tabbar/icons/scrolltab_ln_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#leftButton:disabled, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#leftButton:disabled { + image: url(:/tabbar/icons/scrolltab_ld_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#leftButton:hover, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#leftButton:hover { + image: url(:/tabbar/icons/scrolltab_lh_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#leftButton:pressed, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#leftButton:pressed { + image: url(:/tabbar/icons/scrolltab_lp_light.svg); +} + +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#rightButton, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#rightButton { + image: url(:/tabbar/icons/scrolltab_rn_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#rightButton:disabled, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#rightButton:disabled { + image: url(:/tabbar/icons/scrolltab_rd_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#rightButton:hover, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#rightButton:hover { + image: url(:/tabbar/icons/scrolltab_rh_light.svg); +} +#mainPanel[uitheme=theme-dark] CTabBar #tabScroll>#rightButton:pressed, +#mainPanel[uitheme=theme-contrast-dark] CTabBar #tabScroll>#rightButton:pressed { + image: url(:/tabbar/icons/scrolltab_rp_light.svg); +} + +/* 1x */ +CTabBar #tabScroll {min-width: 32px; max-width: 32px;} +CTabBar #tabScroll>QToolButton {max-height: 28px;} +Tab {min-width: 41px; max-width: 135px; width: 135px; height: 28px;} +Tab #tabIcon {padding: 0px; min-width: 15px; min-height: 15px; max-width: 15px; max-height: 15px;} +Tab #tabText {font-size: 11px;} +Tab #tabButton {width: 16px; max-width: 16px; max-height: 16px; border-width: 2px;} + +/* 1.25x */ +#mainPanel[zoom="1.25x"] CTabBar #tabScroll {min-width: 48px; max-width: 48px;} +#mainPanel[zoom="1.25x"] CTabBar #tabScroll>QToolButton {max-height: 35px;} +#mainPanel[zoom="1.25x"] Tab {min-width: 51px; max-width: 169px; width: 169px; height: 35px; border-right-width: 1px;} +#mainPanel[zoom="1.25x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 19px; min-height: 19px; max-width: 19px; max-height: 19px;} +#mainPanel[zoom="1.25x"] Tab #tabText {font-size: 14px;} +#mainPanel[zoom="1.25x"] Tab #tabButton {width: 20px; max-width: 20px; max-height: 20px; border-width: 2px;} + +/* 1.5x */ +#mainPanel[zoom="1.5x"] CTabBar #tabScroll {min-width: 48px; max-width: 48px;} +#mainPanel[zoom="1.5x"] CTabBar #tabScroll>QToolButton {max-height: 42px;} +#mainPanel[zoom="1.5x"] Tab {min-width: 62px; max-width: 203px; width: 203px; height: 42px; border-right-width: 2px;} +#mainPanel[zoom="1.5x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 24px; min-height: 24px; max-width: 24px; max-height: 24px;} +#mainPanel[zoom="1.5x"] Tab #tabText {font-size: 15px;} +#mainPanel[zoom="1.5x"] Tab #tabButton {width: 24px; max-width: 24px; max-height: 24px; border-width: 2px;} + +/* 1.75x */ +#mainPanel[zoom="1.75x"] CTabBar #tabScroll {min-width: 64px; max-width: 64px;} +#mainPanel[zoom="1.75x"] CTabBar #tabScroll>QToolButton {max-height: 49px;} +#mainPanel[zoom="1.75x"] Tab {min-width: 72px; max-width: 236px; width: 236px; height: 49px; border-right-width: 2px;} +#mainPanel[zoom="1.75x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 28px; min-height: 28px; max-width: 28px; max-height: 28px;} +#mainPanel[zoom="1.75x"] Tab #tabText {font-size: 18px;} +#mainPanel[zoom="1.75x"] Tab #tabButton {width: 28px; max-width: 28px; max-height: 28px; border-width: 2px;} + +/* 2x */ +#mainPanel[zoom="2x"] CTabBar #tabScroll {min-width: 64px; max-width: 64px;} +#mainPanel[zoom="2x"] CTabBar #tabScroll>QToolButton {max-height: 56px;} +#mainPanel[zoom="2x"] Tab {min-width: 82px; max-width: 270px; width: 270px; height: 56px; border-right-width: 2px;} +#mainPanel[zoom="2x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 32px; min-height: 32px; max-width: 32px; max-height: 32px;} +#mainPanel[zoom="2x"] Tab #tabText {font-size: 20px;} +#mainPanel[zoom="2x"] Tab #tabButton {width: 32px; max-width: 32px; max-height: 32px; border-width: 2px;} + +/* 2.25x */ +#mainPanel[zoom="2.25x"] CTabBar #tabScroll {min-width: 72px; max-width: 72px;} +#mainPanel[zoom="2.25x"] CTabBar #tabScroll>QToolButton {max-height: 63px;} +#mainPanel[zoom="2.25x"] Tab {min-width: 92px; max-width: 304px; width: 304px; height: 63px; border-right-width: 2px;} +#mainPanel[zoom="2.25x"] Tab #tabIcon {padding-left: 9px; padding-right: 9px; min-width: 36px; min-height: 36px; max-width: 36px; max-height: 36px;} +#mainPanel[zoom="2.25x"] Tab #tabText {font-size: 23px;} +#mainPanel[zoom="2.25x"] Tab #tabButton {width: 36px; max-width: 36px; max-height: 36px; border-width: 2px;} + +/* 2.5x */ +#mainPanel[zoom="2.5x"] CTabBar #tabScroll {min-width: 80px; max-width: 80px;} +#mainPanel[zoom="2.5x"] CTabBar #tabScroll>QToolButton {max-height: 70px;} +#mainPanel[zoom="2.5x"] Tab {min-width: 103px; max-width: 338px; width: 338px; height: 70px; border-right-width: 3px;} +#mainPanel[zoom="2.5x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 40px; min-height: 40px; max-width: 40px; max-height: 40px;} +#mainPanel[zoom="2.5x"] Tab #tabText {font-size: 25px;} +#mainPanel[zoom="2.5x"] Tab #tabButton {width: 40px; max-width: 40px; max-height: 40px; border-width: 2px;} + +/* 2.75x */ +#mainPanel[zoom="2.75x"] CTabBar #tabScroll {min-width: 88px; max-width: 88px;} +#mainPanel[zoom="2.75x"] CTabBar #tabScroll>QToolButton {max-height: 77px;} +#mainPanel[zoom="2.75x"] Tab {min-width: 113px; max-width: 371px; width: 371px; height: 77px; border-right-width: 3px;} +#mainPanel[zoom="2.75x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 44px; min-height: 44px; max-width: 44px; max-height: 44px;} +#mainPanel[zoom="2.75x"] Tab #tabText {font-size: 28px;} +#mainPanel[zoom="2.75x"] Tab #tabButton {width: 44px; max-width: 44px; max-height: 44px; border-width: 2px;} + +/* 3x */ +#mainPanel[zoom="3x"] CTabBar #tabScroll {min-width: 96px; max-width: 96px;} +#mainPanel[zoom="3x"] CTabBar #tabScroll>QToolButton {max-height: 84px;} +#mainPanel[zoom="3x"] Tab {min-width: 123px; max-width: 405px; width: 405px; height: 84px; border-right-width: 3px;} +#mainPanel[zoom="3x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 48px; min-height: 48px; max-width: 48px; max-height: 48px;} +#mainPanel[zoom="3x"] Tab #tabText {font-size: 30px;} +#mainPanel[zoom="3x"] Tab #tabButton {width: 48px; max-width: 48px; max-height: 48px; border-width: 2px;} + +/* 3.5x */ +#mainPanel[zoom="3.5x"] CTabBar #tabScroll {min-width: 112px; max-width: 112px;} +#mainPanel[zoom="3.5x"] CTabBar #tabScroll>QToolButton {max-height: 98px;} +#mainPanel[zoom="3.5x"] Tab {min-width: 144px; max-width: 473px; width: 473px; height: 98px; border-right-width: 4px;} +#mainPanel[zoom="3.5x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 56px; min-height: 56px; max-width: 56px; max-height: 56px;} +#mainPanel[zoom="3.5x"] Tab #tabText {font-size: 35px;} +#mainPanel[zoom="3.5x"] Tab #tabButton {width: 56px; max-width: 56px; max-height: 56px; border-width: 2px;} + +/* 4x */ +#mainPanel[zoom="4x"] CTabBar #tabScroll {min-width: 128px; max-width: 128px;} +#mainPanel[zoom="4x"] CTabBar #tabScroll>QToolButton {max-height: 112px;} +#mainPanel[zoom="4x"] Tab {min-width: 164px; max-width: 540px; width: 540px; height: 112px; border-right-width: 4px;} +#mainPanel[zoom="4x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 64px; min-height: 64px; max-width: 64px; max-height: 64px;} +#mainPanel[zoom="4x"] Tab #tabText {font-size: 40px;} +#mainPanel[zoom="4x"] Tab #tabButton {width: 64px; max-width: 64px; max-height: 64px; border-width: 2px;} + +/* 4.5x */ +#mainPanel[zoom="4.5x"] CTabBar #tabScroll {min-width: 144px; max-width: 144px;} +#mainPanel[zoom="4.5x"] CTabBar #tabScroll>QToolButton {max-height: 126px;} +#mainPanel[zoom="4.5x"] Tab {min-width: 185px; max-width: 608px; width: 608px; height: 126px; border-right-width: 5px;} +#mainPanel[zoom="4.5x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 72px; min-height: 72px; max-width: 72px; max-height: 72px;} +#mainPanel[zoom="4.5x"] Tab #tabText {font-size: 45px;} +#mainPanel[zoom="4.5x"] Tab #tabButton {width: 72px; max-width: 72px; max-height: 72px; border-width: 2px;} + +/* 5x */ +#mainPanel[zoom="5x"] CTabBar #tabScroll {min-width: 160px; max-width: 160px;} +#mainPanel[zoom="5x"] CTabBar #tabScroll>QToolButton {max-height: 140px;} +#mainPanel[zoom="5x"] Tab {min-width: 205px; max-width: 675px; width: 675px; height: 140px; border-right-width: 5px;} +#mainPanel[zoom="5x"] Tab #tabIcon {padding-left: 8px; padding-right: 8px; min-width: 80px; min-height: 80px; max-width: 80px; max-height: 80px;} +#mainPanel[zoom="5x"] Tab #tabText {font-size: 50px;} +#mainPanel[zoom="5x"] Tab #tabButton {width: 80px; max-width: 80px; max-height: 80px; border-width: 2px;} diff --git a/win-linux/res/styles/tabbar@1.25x.qss b/win-linux/res/styles/tabbar@1.25x.qss deleted file mode 100644 index 6255b0a29..000000000 --- a/win-linux/res/styles/tabbar@1.25x.qss +++ /dev/null @@ -1,76 +0,0 @@ - -QTabWidget::pane {background-color: #f1f1f1; border: none;} -QTabBar::tab {width: 169px; background-color: #f1f1f1; border: 0 none; border-right: 1px solid #a5a5a5; min-width: 51px; max-width: 169px; -height: 35px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=true]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=false]::tab:selected:hover {background-color: #cecece;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #404040;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #606060;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.25x.png) center no-repeat; -} - -/* Contrast-dark*/ - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.25x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.25x.png) center no-repeat; -} diff --git a/win-linux/res/styles/tabbar@1.5x.qss b/win-linux/res/styles/tabbar@1.5x.qss deleted file mode 100644 index 27854fd76..000000000 --- a/win-linux/res/styles/tabbar@1.5x.qss +++ /dev/null @@ -1,76 +0,0 @@ - -QTabWidget::pane {background-color: #f1f1f1; border: none;} -QTabBar::tab {width: 203px; background-color: #f1f1f1; border: 0 none; border-right: 2px solid #a5a5a5; min-width: 62px; max-width: 203px; -height: 42px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=true]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=false]::tab:selected:hover {background-color: #cecece;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #404040;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #606060;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.5x.png) center no-repeat; -} - -/* Contrast-dark*/ - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.5x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.5x.png) center no-repeat; -} diff --git a/win-linux/res/styles/tabbar@1.75x.qss b/win-linux/res/styles/tabbar@1.75x.qss deleted file mode 100644 index cb1fe82b1..000000000 --- a/win-linux/res/styles/tabbar@1.75x.qss +++ /dev/null @@ -1,76 +0,0 @@ - -QTabWidget::pane {background-color: #f1f1f1; border: none;} -QTabBar::tab {width: 236px; background-color: #f1f1f1; border: 0 none; border-right: 2px solid #a5a5a5; min-width: 72px; max-width: 236px; -height: 49px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=true]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=false]::tab:selected:hover {background-color: #cecece;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #404040;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #606060;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.75x.png) center no-repeat; -} - -/* Contrast-dark*/ - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_1.75x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_1.75x.png) center no-repeat; -} diff --git a/win-linux/res/styles/tabbar@1x.qss b/win-linux/res/styles/tabbar@1x.qss deleted file mode 100644 index 160fa6bab..000000000 --- a/win-linux/res/styles/tabbar@1x.qss +++ /dev/null @@ -1,76 +0,0 @@ - -QTabWidget::pane {background-color: #f1f1f1; border: none;} -QTabBar::tab {width: 135px; background-color: #f1f1f1; border: 0 none; border-right: 1px solid #a5a5a5; min-width: 41px; max-width: 135px; -height: 28px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=true]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=false]::tab:selected:hover {background-color: #cecece;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #404040;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #606060;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light.png) center no-repeat; -} - -/* Contrast-dark*/ - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light.png) center no-repeat; -} diff --git a/win-linux/res/styles/tabbar@2x.qss b/win-linux/res/styles/tabbar@2x.qss deleted file mode 100644 index fee931377..000000000 --- a/win-linux/res/styles/tabbar@2x.qss +++ /dev/null @@ -1,76 +0,0 @@ - -QTabWidget::pane {background-color: #f1f1f1; border: none;} -QTabBar::tab {width: 270px; background-color: #f1f1f1; border: 0 none; border-right: 2px solid #a5a5a5; min-width: 82px; max-width: 270px; -height: 56px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=true]::tab:selected {background-color: #f1f1f1;} -QTabBar[active=false]::tab:selected:hover {background-color: #cecece;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #404040;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #606060;} - -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_2x.png) center no-repeat; -} - -/* Contrast-dark*/ - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton { - image: url(:/tabbar/icons/scrolltab_ln_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:disabled { - image: url(:/tabbar/icons/scrolltab_ld_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:hover { - image: url(:/tabbar/icons/scrolltab_lh_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#leftButton:pressed { - image: url(:/tabbar/icons/scrolltab_lp_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton { - image: url(:/tabbar/icons/scrolltab_rn_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:disabled { - image: url(:/tabbar/icons/scrolltab_rd_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:hover { - image: url(:/tabbar/icons/scrolltab_rh_light_2x.png) center no-repeat; -} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton#rightButton:pressed { - image: url(:/tabbar/icons/scrolltab_rp_light_2x.png) center no-repeat; -} diff --git a/win-linux/res/styles/tabbar_nix.qss b/win-linux/res/styles/tabbar_nix.qss deleted file mode 100644 index 73fa1ca9b..000000000 --- a/win-linux/res/styles/tabbar_nix.qss +++ /dev/null @@ -1,27 +0,0 @@ - -QTabWidget::pane {border: none;} -QTabBar::tab {width: 135px; background-color: #c2c2c2; border: 0 none; border-right: 1px solid #a5a5a5; min-width: 41px; max-width: 135px; -height: 28px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #c2c2c2;} -QTabBar[active=true]::tab:selected {background-color:#c2c2c2; border-color:#a5a5a5;} -QTabBar[active=false]::tab:selected:hover {background-color: #cfcfcf;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#scrollerFrame>QToolButton {margin: 0px; border: none; background-color: #c2c2c2;} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #606060;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} diff --git a/win-linux/res/styles/tabbar_nix@2x.qss b/win-linux/res/styles/tabbar_nix@2x.qss deleted file mode 100644 index b8b13b634..000000000 --- a/win-linux/res/styles/tabbar_nix@2x.qss +++ /dev/null @@ -1,27 +0,0 @@ - -QTabWidget::pane {border: none;} -QTabBar::tab {width: 270px; background-color: #c2c2c2; border: 0 none; border-right: 2px solid #a5a5a5; min-width: 82px; max-width: 270px; -height: 56px; margin: 0 0 0 0;} -QTabBar::tab:hover {background-color: #cecece;} -QTabBar::tab-label {active: #fff; normal: #444;} -QTabBar::tab-icon {width: 15; height: 15;} -QTabBar[active=false]::tab:selected {background-color: #c2c2c2;} -QTabBar[active=true]::tab:selected {background-color: #c2c2c2; border-color: #a5a5a5;} -QTabBar[active=false]::tab:selected:hover {background-color: #cfcfcf;} - -#mainPanel[uitheme=theme-light] QTabBar::tab {border-right-color:#dfdfdf;} - -#mainPanel[uitheme=theme-classic-light] QTabBar::tab {border-right-color:#cbcbcb;} - -#mainPanel[uitheme=theme-dark] QTabWidget::pane {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar::tab {background-color: #404040; border-right-color: #505050;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] QTabBar::tab:selected {background-color: #404040;} -#mainPanel[uitheme=theme-dark] QTabBar[active=false]::tab:selected:hover {background-color: #555;} - -#scrollerFrame>QToolButton {margin: 0px; border: none; background-color: #c2c2c2;} -#scrollerFrame>QToolButton:hover {background-color: #cecece;} -#scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton {background-color: #606060;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:hover {background-color: #555;} -#mainPanel[uitheme=theme-dark] #scrollerFrame>QToolButton:pressed {background-color: #b7b7b7;} diff --git a/win-linux/res/styles/theme-classic-light.json b/win-linux/res/styles/theme-classic-light.json index 93c928fdc..6b6993b84 100644 --- a/win-linux/res/styles/theme-classic-light.json +++ b/win-linux/res/styles/theme-classic-light.json @@ -2,24 +2,25 @@ "id": "theme-classic-light", "type": "light", "values": { - "brand_word": "#446995", - "brand_slide": "#aa5252", - "brand_cell": "#40865c", + "brand-word": "#446995", + "brand-slide": "#be664f", + "brand-cell": "#40865c", + "brand-pdf": "#aa5252", - "window_background": "#f1f1f1", - "window_border": "#888", + "window-background": "#f1f1f1", + "window-border": "#888", - "text_normal": "#444", - "text_normal_pressed": "#fff", + "text-normal": "#444", + "text-normal-pressed": "#fff", - "tab_active_background": "#fff", - "tab_simple_active_background": "#fff", - "tab_simple_active_text": "#444", - "tab_default_active_background": "#fff", - "tab_default_active_text": "#444", - "tab_divider": "#a5a5a5", + "tab-active-background": "#fff", + "tab-simple-active-background": "#fff", + "tab-simple-active-text": "#444", + "tab-default-active-background": "#fff", + "tab-default-active-text": "#444", + "tab-divider": "#a5a5a5", - "button_normal_opacity": "rgba(255,255,255,255)", - "logo_type": "dark" + "button-normal-opacity": "rgba(255,255,255,255)", + "logo-type": "dark" } } diff --git a/win-linux/res/styles/theme-contrast-dark.json b/win-linux/res/styles/theme-contrast-dark.json index 078256090..f388b42da 100644 --- a/win-linux/res/styles/theme-contrast-dark.json +++ b/win-linux/res/styles/theme-contrast-dark.json @@ -2,27 +2,28 @@ "id": "theme-contrast-dark", "type": "dark", "values": { - "brand_word": "#1e1e1e", - "brand_slide": "#1e1e1e", - "brand_cell": "#1e1e1e", + "brand-word": "#1e1e1e", + "brand-slide": "#1e1e1e", + "brand-cell": "#1e1e1e", + "brand-pdf": "#1e1e1e", - "window_background": "#2a2a2a", - "window_border": "#616161", + "window-background": "#2a2a2a", + "window-border": "#616161", - "text_normal": "#e8e8e8", - "text_normal_pressed": "#e8e8e8", + "text-normal": "#e8e8e8", + "text-normal-pressed": "#e8e8e8", - "tool_button_hover_background": "#424242", - "tool_button_pressed_background": "#666666", + "tool-button-hover-background": "#424242", + "tool-button-pressed-background": "#666666", - "tab_active_background": "#121212", - "tab_simple_active_background": "#fff", - "tab_simple_active_text": "#444", - "tab_default_active_background": "#121212", - "tab_default_active_text": "#fff", - "tab_divider": "#414141", + "tab-active-background": "#121212", + "tab-simple-active-background": "#fff", + "tab-simple-active-text": "#fff", + "tab-default-active-background": "#fff", + "tab-default-active-text": "#fff", + "tab-divider": "#414141", - "button_normal_opacity": "rgba(255,255,255,200)", - "logo_type": "light" + "button-normal-opacity": "rgba(255,255,255,200)", + "logo-type": "light" } } diff --git a/win-linux/res/styles/theme-contrast-dark.qss b/win-linux/res/styles/theme-contrast-dark.qss deleted file mode 100644 index bf6af8589..000000000 --- a/win-linux/res/styles/theme-contrast-dark.qss +++ /dev/null @@ -1,54 +0,0 @@ -#mainPanel[uitheme=theme-contrast-dark], -#mainPanel[uitheme=theme-contrast-dark] #tabWrapper, -#mainPanel[uitheme=theme-contrast-dark] #CX11Caption, -#mainPanel[uitheme=theme-contrast-dark] QTabBar -{ - background-color: #2a2a2a; -} - -#mainPanel[uitheme=theme-contrast-dark] #labelAppTitle { - color: #d9d9d9; -} - -#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=active] { - background: #1e1e1e; -} - -#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain { - border-right-color: #414141; -} - -#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=normal] { - background: #2a2a2a; -} - -#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMain[class=normal]:hover { - background: #424242; -} - -#mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMinimize:hover, - #mainPanel[uitheme=theme-contrast-dark] QPushButton#toolButtonMaximize:hover -{ - background-color: #555; -} - -#mainPanel[uitheme=theme-contrast-dark] QTabBar QToolButton::left-arrow, - #mainPanel[uitheme=theme-contrast-dark] QTabBar QToolButton::right-arrow -{ - background-color: #f00; -} - -#mainPanel[uitheme=theme-contrast-dark] QTabBar QToolButton:pressed { - background-color: #f00; -} - - -#mainPanel[uitheme=theme-contrast-dark] QTabWidget::pane {background-color: #2a2a2a;} -#mainPanel[uitheme=theme-contrast-dark] QTabBar::tab {background-color: #2a2a2a; border-right-color: #414141;} -#mainPanel[uitheme=theme-contrast-dark] QTabBar::tab:hover {background-color: #424242;} -#mainPanel[uitheme=theme-contrast-dark] QTabBar::tab:selected {background-color: #2a2a2a;} -#mainPanel[uitheme=theme-contrast-dark] QTabBar[active=false]::tab:selected:hover {background-color: #424242;} - -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton {background-color: #2a2a2a;} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton:hover {background-color: #525252;} -#mainPanel[uitheme=theme-contrast-dark] #scrollerFrame>QToolButton:pressed {background-color: #424242;} diff --git a/win-linux/res/styles/theme-dark.json b/win-linux/res/styles/theme-dark.json index 4643b34dc..9af029aeb 100644 --- a/win-linux/res/styles/theme-dark.json +++ b/win-linux/res/styles/theme-dark.json @@ -2,27 +2,28 @@ "id": "theme-dark", "type": "dark", "values": { - "brand_word": "#2a2a2a", - "brand_slide": "#2a2a2a", - "brand_cell": "#2a2a2a", + "brand-word": "#2a2a2a", + "brand-slide": "#2a2a2a", + "brand-cell": "#2a2a2a", + "brand-pdf": "#2a2a2a", - "window_background": "#404040", - "window_border": "#2a2a2a", + "window-background": "#404040", + "window-border": "#2a2a2a", - "text_normal": "#d9d9d9", - "text_normal_pressed": "#d9d9d9", + "text-normal": "#d9d9d9", + "text-normal-pressed": "#d9d9d9", - "tool_button_hover_background": "#555", - "tool_button_pressed_background": "#606060", + "tool-button-hover-background": "#555", + "tool-button-pressed-background": "#606060", - "tab_active_background": "#333", - "tab_simple_active_background": "#fff", - "tab_simple_active_text": "#444", - "tab_default_active_background": "#333", - "tab_default_active_text": "#fff", - "tab_divider": "#505050", + "tab-active-background": "#333", + "tab-simple-active-background": "#fff", + "tab-simple-active-text": "#fff", + "tab-default-active-background": "#fff", + "tab-default-active-text": "#fff", + "tab-divider": "#505050", - "button_normal_opacity": "rgba(255,255,255,200)", - "logo_type": "light" + "button-normal-opacity": "rgba(255,255,255,200)", + "logo-type": "light" } } diff --git a/win-linux/res/styles/theme-light.json b/win-linux/res/styles/theme-light.json index 78fa52783..aceb108cc 100644 --- a/win-linux/res/styles/theme-light.json +++ b/win-linux/res/styles/theme-light.json @@ -2,24 +2,25 @@ "id": "theme-light", "type": "light", "values": { - "brand_word": "#446995", - "brand_slide": "#aa5252", - "brand_cell": "#40865c", + "brand-word": "#446995", + "brand-slide": "#be664f", + "brand-cell": "#40865c", + "brand-pdf": "#aa5252", - "window_background": "#f1f1f1", - "window_border": "#888", + "window-background": "#f1f1f1", + "window-border": "#888", - "text_normal": "#444", - "text_normal_pressed": "#fff", + "text-normal": "#444", + "text-normal-pressed": "#fff", - "tab_active_background": "#fff", - "tab_simple_active_background": "#fff", - "tab_simple_active_text": "#444", - "tab_default_active_background": "#fff", - "tab_default_active_text": "#444", - "tab_divider": "#a5a5a5", + "tab-active-background": "#fff", + "tab-simple-active-background": "#fff", + "tab-simple-active-text": "#444", + "tab-default-active-background": "#fff", + "tab-default-active-text": "#444", + "tab-divider": "#a5a5a5", - "button_normal_opacity": "rgba(255,255,255,255)", - "logo_type": "dark" + "button-normal-opacity": "rgba(255,255,255,255)", + "logo-type": "dark" } } diff --git a/win-linux/resources.qrc b/win-linux/resources.qrc index f1c9e70af..0d400f3b8 100644 --- a/win-linux/resources.qrc +++ b/win-linux/resources.qrc @@ -1,34 +1,29 @@ - res/icons/tab_close_normal.png - res/icons/tab_close_normal_2x.png - res/icons/tab_close_active.png - res/icons/tab_close_active_2x.png - res/icons/tab_close_hover.png - res/icons/tab_close_hover_2x.png - res/icons/message_icons.png - res/icons/message_icons@1.25x.png - res/icons/message_icons@1.5x.png - res/icons/message_icons@1.75x.png - res/icons/message_icons@2x.png + res/icons/tab_close_normal.svg + res/icons/tab_close_active.svg + res/icons/tab_close_hover.svg + res/icons/message_error.svg + res/icons/message_info.svg + res/icons/message_confirm.svg + res/icons/message_warn.svg res/icons/downloading.gif res/icons/downloading_2x.gif - res/icons/minimize-close.png - res/icons/minimize-close@1.25x.png - res/icons/minimize-close@1.5x.png - res/icons/minimize-close@1.75x.png - res/icons/minimize-close@2x.png - res/icons/maximize.png - res/icons/maximize@1.25x.png - res/icons/maximize@1.5x.png - res/icons/maximize@1.75x.png - res/icons/maximize@2x.png - res/icons/menu-indicator.png - res/icons/menu-indicator-dark.png - res/icons/menu-indicator@1.5x.png - res/icons/menu-indicator@1.5x.png - res/icons/menu-indicator@1.5x.png - res/icons/menu-indicator@2x.png + res/icons/close.svg + res/icons/close_light.svg + res/icons/minimize.svg + res/icons/minimize_light.svg + res/icons/maximize.svg + res/icons/maximize_light.svg + res/icons/restore.svg + res/icons/restore_light.svg + res/icons/menu_indicator_normal.svg + res/icons/menu_indicator_hover.svg + res/icons/menu_indicator_pressed.svg + res/icons/menu_indicator_normal_light.svg + res/icons/menu_indicator_hover_light.svg + res/icons/menu_indicator_pressed_light.svg + res/icons/menu_indicator_undef.svg res/icons/radiobox.png res/icons/radiobox@1.25x.png res/icons/radiobox@1.5x.png @@ -48,149 +43,49 @@ res/icons/desktopeditors.ico res/icons/splash.svg res/icons/logo.svg - res/icons/maximize_light.png - res/icons/maximize_light@1.25x.png - res/icons/maximize_light@1.5x.png - res/icons/maximize_light@1.75x.png - res/icons/maximize_light@2x.png - res/icons/minimize-close_light.png - res/icons/minimize-close_light@1.25x.png - res/icons/minimize-close_light@1.5x.png - res/icons/minimize-close_light@1.75x.png - res/icons/minimize-close_light@2x.png - res/icons/tabbar/changetab_left_active.png - res/icons/tabbar/changetab_left_active@1.25x.png - res/icons/tabbar/changetab_left_active@1.5x.png - res/icons/tabbar/changetab_left_active@1.75x.png - res/icons/tabbar/changetab_left_active@2x.png - res/icons/tabbar/changetab_left_disabled.png - res/icons/tabbar/changetab_left_disabled@1.25x.png - res/icons/tabbar/changetab_left_disabled@1.5x.png - res/icons/tabbar/changetab_left_disabled@1.75x.png - res/icons/tabbar/changetab_left_disabled@2x.png - res/icons/tabbar/changetab_left_hover.png - res/icons/tabbar/changetab_left_hover@1.25x.png - res/icons/tabbar/changetab_left_hover@1.5x.png - res/icons/tabbar/changetab_left_hover@1.75x.png - res/icons/tabbar/changetab_left_hover@2x.png - res/icons/tabbar/changetab_left_normal.png - res/icons/tabbar/changetab_left_normal@1.25x.png - res/icons/tabbar/changetab_left_normal@1.5x.png - res/icons/tabbar/changetab_left_normal@1.75x.png - res/icons/tabbar/changetab_left_normal@2x.png - res/icons/tabbar/changetab_right_active.png - res/icons/tabbar/changetab_right_active@1.25x.png - res/icons/tabbar/changetab_right_active@1.5x.png - res/icons/tabbar/changetab_right_active@1.75x.png - res/icons/tabbar/changetab_right_active@2x.png - res/icons/tabbar/changetab_right_disabled.png - res/icons/tabbar/changetab_right_disabled@1.25x.png - res/icons/tabbar/changetab_right_disabled@1.5x.png - res/icons/tabbar/changetab_right_disabled@1.75x.png - res/icons/tabbar/changetab_right_disabled@2x.png - res/icons/tabbar/changetab_right_hover.png - res/icons/tabbar/changetab_right_hover@1.25x.png - res/icons/tabbar/changetab_right_hover@1.5x.png - res/icons/tabbar/changetab_right_hover@1.75x.png - res/icons/tabbar/changetab_right_hover@2x.png - res/icons/tabbar/changetab_right_normal.png - res/icons/tabbar/changetab_right_normal@1.25x.png - res/icons/tabbar/changetab_right_normal@1.5x.png - res/icons/tabbar/changetab_right_normal@1.75x.png - res/icons/tabbar/changetab_right_normal@2x.png - res/icons/tabbar/changetab_left_active_light.png - res/icons/tabbar/changetab_left_active_light@1.5x.png - res/icons/tabbar/changetab_left_active_light@1.25x.png - res/icons/tabbar/changetab_left_active_light@1.75x.png - res/icons/tabbar/changetab_left_active_light@2x.png - res/icons/tabbar/changetab_left_disabled_light.png - res/icons/tabbar/changetab_left_disabled_light@1.5x.png - res/icons/tabbar/changetab_left_disabled_light@1.25x.png - res/icons/tabbar/changetab_left_disabled_light@1.75x.png - res/icons/tabbar/changetab_left_disabled_light@2x.png - res/icons/tabbar/changetab_left_hover_light.png - res/icons/tabbar/changetab_left_hover_light@1.5x.png - res/icons/tabbar/changetab_left_hover_light@1.25x.png - res/icons/tabbar/changetab_left_hover_light@1.75x.png - res/icons/tabbar/changetab_left_hover_light@2x.png - res/icons/tabbar/changetab_left_normal_light.png - res/icons/tabbar/changetab_left_normal_light@1.5x.png - res/icons/tabbar/changetab_left_normal_light@1.25x.png - res/icons/tabbar/changetab_left_normal_light@1.75x.png - res/icons/tabbar/changetab_left_normal_light@2x.png - res/icons/tabbar/changetab_right_active_light.png - res/icons/tabbar/changetab_right_active_light@1.5x.png - res/icons/tabbar/changetab_right_active_light@1.25x.png - res/icons/tabbar/changetab_right_active_light@1.75x.png - res/icons/tabbar/changetab_right_active_light@2x.png - res/icons/tabbar/changetab_right_disabled_light.png - res/icons/tabbar/changetab_right_disabled_light@1.5x.png - res/icons/tabbar/changetab_right_disabled_light@1.25x.png - res/icons/tabbar/changetab_right_disabled_light@1.75x.png - res/icons/tabbar/changetab_right_disabled_light@2x.png - res/icons/tabbar/changetab_right_hover_light.png - res/icons/tabbar/changetab_right_hover_light@1.5x.png - res/icons/tabbar/changetab_right_hover_light@1.25x.png - res/icons/tabbar/changetab_right_hover_light@1.75x.png - res/icons/tabbar/changetab_right_hover_light@2x.png - res/icons/tabbar/changetab_right_normal_light.png - res/icons/tabbar/changetab_right_normal_light@1.5x.png - res/icons/tabbar/changetab_right_normal_light@1.25x.png - res/icons/tabbar/changetab_right_normal_light@1.75x.png - res/icons/tabbar/changetab_right_normal_light@2x.png - res/icons/tabbar/tabicon_de_normal.png - res/icons/tabbar/tabicon_de_normal_1.25x.png - res/icons/tabbar/tabicon_de_normal_1.5x.png - res/icons/tabbar/tabicon_de_normal_1.75x.png - res/icons/tabbar/tabicon_de_normal_2x.png - res/icons/tabbar/tabicon_docxf_normal.png - res/icons/tabbar/tabicon_docxf_normal_1.25x.png - res/icons/tabbar/tabicon_docxf_normal_1.5x.png - res/icons/tabbar/tabicon_docxf_normal_1.75x.png - res/icons/tabbar/tabicon_docxf_normal_2x.png - res/icons/tabbar/tabicon_pe_normal.png - res/icons/tabbar/tabicon_pe_normal_1.25x.png - res/icons/tabbar/tabicon_pe_normal_1.5x.png - res/icons/tabbar/tabicon_pe_normal_1.75x.png - res/icons/tabbar/tabicon_pe_normal_2x.png - res/icons/tabbar/tabicon_se_normal.png - res/icons/tabbar/tabicon_se_normal_1.25x.png - res/icons/tabbar/tabicon_se_normal_1.5x.png - res/icons/tabbar/tabicon_se_normal_1.75x.png - res/icons/tabbar/tabicon_se_normal_2x.png - res/icons/tabbar/portal.png - res/icons/tabbar/portal@1.25x.png - res/icons/tabbar/portal@1.5x.png - res/icons/tabbar/portal@1.75x.png - res/icons/tabbar/portal@2x.png - res/icons/tabbar/portal_light.png - res/icons/tabbar/portal_light@1.25x.png - res/icons/tabbar/portal_light@1.5x.png - res/icons/tabbar/portal_light@1.75x.png - res/icons/tabbar/portal_light@2x.png - res/icons/tabbar/tabicon_undefined.png - res/icons/tabbar/tabicon_undefined_2x.png + res/icons/tabbar/tabicon_de_normal.svg + res/icons/tabbar/tabicon_docxf_normal.svg + res/icons/tabbar/tabicon_pe_normal.svg + res/icons/tabbar/tabicon_se_normal.svg + res/icons/tabbar/tabicon_pdf_normal.svg + res/icons/tabbar/portal.svg + res/icons/tabbar/portal_light.svg + res/icons/tabbar/tabicon_undefined.svg res/icons/tabbar/loading.svg - res/icons/tabbar/tab_close_dark.png - res/icons/tabbar/tab_close_dark@1.25x.png - res/icons/tabbar/tab_close_dark@1.5x.png - res/icons/tabbar/tab_close_dark@1.75x.png - res/icons/tabbar/tab_close_dark@2x.png - res/icons/tabbar/tab_close_light.png - res/icons/tabbar/tab_close_light@1.75x.png - res/icons/tabbar/tab_close_light@1.5x.png - res/icons/tabbar/tab_close_light@1.25x.png - res/icons/tabbar/tab_close_light@2x.png + res/icons/tabbar/tab_close_normal_dark.svg + res/icons/tabbar/tab_close_hover_dark.svg + res/icons/tabbar/tab_close_pressed_dark.svg + res/icons/tabbar/tab_close_normal_light.svg + res/icons/tabbar/tab_close_hover_light.svg + res/icons/tabbar/tab_close_pressed_light.svg + res/icons/tabbar/scroll_left_normal_light.svg + res/icons/tabbar/scroll_left_disabled_light.svg + res/icons/tabbar/scroll_left_hover_light.svg + res/icons/tabbar/scroll_left_pressed_light.svg + res/icons/tabbar/scroll_right_normal_light.svg + res/icons/tabbar/scroll_right_disabled_light.svg + res/icons/tabbar/scroll_right_hover_light.svg + res/icons/tabbar/scroll_right_pressed_light.svg + res/icons/tabbar/scroll_left_normal.svg + res/icons/tabbar/scroll_left_disabled.svg + res/icons/tabbar/scroll_left_hover.svg + res/icons/tabbar/scroll_left_pressed.svg + res/icons/tabbar/scroll_right_normal.svg + res/icons/tabbar/scroll_right_disabled.svg + res/icons/tabbar/scroll_right_hover.svg + res/icons/tabbar/scroll_right_pressed.svg res/icons/webeditor/buttons.svg res/icons/webeditor/secureicon.svg - res/styles/styles.qss + res/styles/styles.qss + res/styles/editor.qss res/styles/message.qss + res/styles/tabbar.qss res/styles/styles@1.5x.qss @@ -204,12 +99,36 @@ res/styles/styles@2x.qss + + res/styles/styles@2.25x.qss + + + res/styles/styles@2.5x.qss + + + res/styles/styles@2.75x.qss + + + res/styles/styles@3x.qss + + + res/styles/styles@3.5x.qss + + + res/styles/styles@4x.qss + + + res/styles/styles@4.5x.qss + + + res/styles/styles@5x.qss + langs/be.qm langs/bg.qm langs/ca.qm langs/cs.qm - langs/de.qm + langs/da.qm langs/de.qm langs/el_GR.qm langs/en.qm @@ -245,23 +164,13 @@ langs/uk.qm langs/vi.qm langs/zh_CN.qm - langs/zh_HK.qm + langs/zh_TW.qm langs/qtbase_ru.qm - - res/styles/tabbar@1x.qss - res/styles/tabbar_nix.qss - res/styles/tabbar@1.25x.qss - res/styles/tabbar@1.5x.qss - res/styles/tabbar@1.75x.qss - res/styles/tabbar@2x.qss - res/styles/tabbar_nix@2x.qss - res/styles/theme-light.json res/styles/theme-classic-light.json res/styles/theme-dark.json res/styles/theme-contrast-dark.json - res/styles/theme-contrast-dark.qss diff --git a/win-linux/src/cascapplicationmanagerwrapper.cpp b/win-linux/src/cascapplicationmanagerwrapper.cpp index 69ff711e5..ca265ebf5 100644 --- a/win-linux/src/cascapplicationmanagerwrapper.cpp +++ b/win-linux/src/cascapplicationmanagerwrapper.cpp @@ -53,41 +53,6 @@ using namespace NSEditorApi; using namespace std; using namespace std::placeholders; -class CAscApplicationManagerWrapper::DialogSchedule : public QObject -{ -public: - DialogSchedule() - { - m_timer = new QTimer(this); - m_timer->setInterval(500); - m_timer->setSingleShot(false); - connect(m_timer, &QTimer::timeout, this, [=] { - QWidget *wnd = WindowHelper::currentTopWindow(); - if (wnd && !m_shedule_vec.isEmpty()) { - QMetaObject::invokeMethod(&AscAppManager::getInstance(), - m_shedule_vec.first().toLocal8Bit().data(), - Qt::QueuedConnection, Q_ARG(QWidget*, wnd)); - m_shedule_vec.removeFirst(); - if (m_shedule_vec.isEmpty()) - m_timer->stop(); - } - }); - } - - ~DialogSchedule() - {} - - void addToSchedule(const QString &method) - { - m_shedule_vec.push_back(method); - if (!m_timer->isActive()) - m_timer->start(); - } - -private: - QTimer *m_timer = nullptr; - QVector m_shedule_vec; -}; CAscApplicationManagerWrapper::CAscApplicationManagerWrapper(CAscApplicationManagerWrapper const&) { @@ -100,7 +65,6 @@ CAscApplicationManagerWrapper::CAscApplicationManagerWrapper(CAscApplicationMana , CCefEventsTransformer(nullptr) , m_queueToClose(new CWindowsQueue) , m_private(ptrprivate) - , m_dialogSchedule(new DialogSchedule) { m_private->init(); CAscApplicationManager::SetEventListener(this); @@ -114,24 +78,11 @@ CAscApplicationManagerWrapper::CAscApplicationManagerWrapper(CAscApplicationMana }; m_queueToClose->setcallback(callback_); - NSBaseVideoLibrary::Init(nullptr); - m_themes = std::make_shared(); - -#ifdef _UPDMODULE - m_pUpdateManager = new CUpdateManager(this); -#ifdef Q_OS_WIN - connect(m_pUpdateManager, &CUpdateManager::progresChanged, this, [=](const int &percent) { - AscAppManager::sendCommandTo(0, "updates:download", QString("{\"progress\":\"%1\"}").arg(QString::number(percent))); - }); -#endif -#endif } CAscApplicationManagerWrapper::~CAscApplicationManagerWrapper() { - NSBaseVideoLibrary::Destroy(); - delete m_queueToClose, m_queueToClose = nullptr; // CSingleWindow * _sw = nullptr; @@ -156,9 +107,10 @@ CAscApplicationManagerWrapper::~CAscApplicationManagerWrapper() m_pMainWindow->deleteLater(); #endif } -#if defined (_UPDMODULE) && defined (_WIN32) +#if defined (_UPDMODULE) // Start update installation - m_pUpdateManager->handleAppClose(); + if (m_pUpdateManager) + m_pUpdateManager->handleAppClose(); #endif // m_vecEditors.clear(); } @@ -281,11 +233,22 @@ bool CAscApplicationManagerWrapper::processCommonEvent(NSEditorApi::CAscCefMenuE QJsonObject json{{"skiptoparea", TOOLBTN_HEIGHT},{"singlewindow",true}}; sendCommandTo(ptr, L"window:features", Utils::stringifyJson(json).toStdWString()); } + + if ( InputArgs::contains(L"--system-title-bar") ) { + QJsonObject json{{"element","body"}, + {"action", "merge"}, + {"style","#title-doc-name{display:none}"}}; + sendCommandTo(ptr, L"style:change", Utils::stringifyJson(json).toStdWString()); + } } return true; } else if ( cmd.compare(L"portal:login") == 0 ) { AscAppManager::sendCommandTo(SEND_TO_ALL_START_PAGE, L"portal:login", pData->get_Param()); + if ( m_pMainWindow ) { + m_pMainWindow->onPortalLogin(event->get_SenderId(), pData->get_Param()); + } + return true; } else if ( cmd.compare(L"portal:logout") == 0 ) { @@ -327,21 +290,23 @@ bool CAscApplicationManagerWrapper::processCommonEvent(NSEditorApi::CAscCefMenuE return true; } else #ifdef _UPDMODULE - if ( !(cmd.find(L"update") == std::wstring::npos) ) { // params: check, download, install, abort - const QString params = QString::fromStdWString(pData->get_Param()); - if (params == "check") { - m_pUpdateManager->checkUpdates(true); - } else - if (params == "download") { - m_pUpdateManager->loadUpdates(); - } else - if (params == "install") { - m_pUpdateManager->installUpdates(); - } else - if (params == "abort") { - m_pUpdateManager->cancelLoading(); + if ( !(cmd.find(L"updates:action") == std::wstring::npos) ) { // params: check, download, install, abort + if (m_pUpdateManager) { + const QString params = QString::fromStdWString(pData->get_Param()); + if (params == "check") { + m_pUpdateManager->checkUpdates(true); + } else + if (params == "download") { + m_pUpdateManager->loadUpdates(); + } else + if (params == "install") { + m_pUpdateManager->installUpdates(); + } else + if (params == "abort") { + m_pUpdateManager->cancelLoading(); + } + return true; } - return true; } else #endif if ( cmd.compare(L"title:button") == 0 ) { @@ -377,16 +342,25 @@ bool CAscApplicationManagerWrapper::processCommonEvent(NSEditorApi::CAscCefMenuE QRegularExpressionMatch match = re.match(QString::fromStdWString(pData->get_Param())); if ( match.hasMatch() ) { bool is_dark = match.captured(1) == "dark"; - m_themes->onSystemDarkColorScheme(is_dark); + + if ( m_themes->isSystemSchemeDark() != is_dark ) { + m_themes->onSystemDarkColorScheme(is_dark); + + QJsonObject jparams{{"theme", QJsonObject{{"system", match.captured(1)}}}}; + QString params = Utils::stringifyJson(jparams); + for (auto i: GetViewsId()) { + sendCommandTo(GetViewById(i), L"renderervars:changed", params.toStdWString()); + } #ifndef Q_OS_WIN - for (auto i: GetViewsId()) { - sendCommandTo(GetViewById(i), cmd, pData->get_Param()); - } +// for (auto i: GetViewsId()) { +// sendCommandTo(GetViewById(i), cmd, pData->get_Param()); +// } #endif - if ( themes().current().isSystem() && themes().current().isDark() != is_dark ) - applyTheme(themes().current().id()); + if ( themes().current().isSystem() && themes().current().isDark() != is_dark ) + applyTheme(themes().current().id()); + } } @@ -626,24 +600,8 @@ bool CAscApplicationManagerWrapper::processCommonEvent(NSEditorApi::CAscCefMenuE break;} - case ASC_MENU_EVENT_TYPE_CEF_CREATETAB: { - CEditorWindow * editor = editorWindowFromViewId(event->get_SenderId()); - if ( editor ) { - QRect winrect{editor->geometry().translated(QPoint(50, 50))}; - - CAscCreateTab& data = *static_cast(event->m_pData); - CTabPanel * _panel = CEditorTools::createEditorPanel(COpenOptions{data.get_Url()}, winrect.adjusted(4,4,-4,-4)); - _panel->data()->setContentType(editor->editorType()); - _panel->data()->setUrl(""); - - CEditorWindow * editor_win = new CEditorWindow(winrect, _panel); - editor_win->show(editor->windowState() == Qt::WindowMaximized); - - m_vecEditors.push_back( size_t(editor_win) ); -// sendCommandTo(_panel->cef(), L"window:features", Utils::encodeJson(QJsonObject{{"skiptoparea", TOOLBTN_HEIGHT}}).toStdWString()); - return true; - } - break;} +// case ASC_MENU_EVENT_TYPE_CEF_CREATETAB: { +// break;} case ASC_MENU_EVENT_TYPE_CEF_TABEDITORTYPE: { CCefView * pView = GetViewById(event->get_SenderId()); @@ -850,7 +808,7 @@ void CAscApplicationManagerWrapper::handleInputCmd(const std::vector& v for (const auto& arg: vargs) { COpenOptions open_opts; open_opts.name = QCoreApplication::translate("CAscTabWidget", "Document"); - open_opts.srctype = etUndefined; + open_opts.srctype = AscEditorType::etUndefined; const size_t p = arg.find(prefix); if ( p == 0 ) { @@ -880,7 +838,7 @@ void CAscApplicationManagerWrapper::handleInputCmd(const std::vector& v open_opts.wurl = arg; } - if (open_opts.srctype == etUndefined) { + if (open_opts.srctype == AscEditorType::etUndefined) { if ( _app.m_pMainWindow && _app.m_private->bringEditorToFront(QString::fromStdWString(open_opts.wurl)) ) { continue; } else @@ -941,7 +899,9 @@ void CAscApplicationManagerWrapper::handleInputCmd(const std::vector& v if ( !_app.m_pMainWindow ) { _app.m_pMainWindow = _app.prepareMainWindow(_start_rect); _app.m_pMainWindow->show(reg_user.value("maximized", false).toBool()); - } + } else + if (!_app.m_pMainWindow->isVisible()) + _app.m_pMainWindow->show(_app.m_pMainWindow->windowState().testFlag(Qt::WindowMaximized)); _app.mainWindow()->attachEditor(panel); QTimer::singleShot(100, &_app, [&]{ @@ -966,6 +926,21 @@ void CAscApplicationManagerWrapper::handleInputCmd(const std::vector& v } } +void CAscApplicationManagerWrapper::onDocumentReady(int uid) +{ +#ifdef _UPDMODULE + if (!m_pUpdateManager) { + m_pUpdateManager = new CUpdateManager(this); + m_pUpdateManager->launchIntervalStartTimer(); + } + if (uid < 0) { + QTimer::singleShot(50, this, [=]() { + m_pUpdateManager->refreshStartPage(); + }); + } +#endif +} + void CAscApplicationManagerWrapper::startApp() { APP_CAST(_app); @@ -1089,11 +1064,6 @@ void CAscApplicationManagerWrapper::initializeApp() else if ( InputArgs::contains(L"--custom-title-bar") || !reg_user.contains("titlebar") ) reg_user.setValue("titlebar", "custom"); - else - if ( InputArgs::contains(L"--geometry=default") ) { - reg_user.remove("maximized"); - reg_user.remove("position"); - } // read installation time and clean cash folders if expired if ( reg_system.contains("timestamp") ) { @@ -1115,16 +1085,24 @@ void CAscApplicationManagerWrapper::initializeApp() } } - _app.addStylesheets(CScalingFactor::SCALING_FACTOR_1, ":styles/res/styles/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_1, ":styles/styles.qss"); _app.addStylesheets(CScalingFactor::SCALING_FACTOR_1_25, ":styles@1.25x/styles.qss"); _app.addStylesheets(CScalingFactor::SCALING_FACTOR_1_5, ":styles@1.5x/styles.qss"); _app.addStylesheets(CScalingFactor::SCALING_FACTOR_1_75, ":styles@1.75x/styles.qss"); _app.addStylesheets(CScalingFactor::SCALING_FACTOR_2, ":styles@2x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_2_25, ":styles@2.25x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_2_5, ":styles@2.5x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_2_75, ":styles@2.75x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_3, ":styles@3x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_3_5, ":styles@3.5x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_4, ":styles@4x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_4_5, ":styles@4.5x/styles.qss"); + _app.addStylesheets(CScalingFactor::SCALING_FACTOR_5, ":styles@5x/styles.qss"); _app.m_private->applyStylesheets(); // TODO: merge stylesheets and apply for the whole app - qApp->setStyleSheet( Utils::readStylesheets(":styles/res/styles/styles.qss") ); + qApp->setStyleSheet( Utils::readStylesheets(":styles/styles.qss") ); // Font QFont mainFont = QApplication::font(); @@ -1527,6 +1505,30 @@ void CAscApplicationManagerWrapper::sendEvent(int type, void * data) QString CAscApplicationManagerWrapper::getWindowStylesheets(double dpifactor) { + if ( dpifactor > 4.5 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_5); + else + if ( dpifactor > 4.0 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_4_5); + else + if ( dpifactor > 3.5 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_4); + else + if ( dpifactor > 3.0 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_3_5); + else + if ( dpifactor > 2.75 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_3); + else + if ( dpifactor > 2.5 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_2_75); + else + if ( dpifactor > 2.25 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_2_5); + else + if ( dpifactor > 2.0 ) + return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_2_25); + else if ( dpifactor > 1.75 ) return getWindowStylesheets(CScalingFactor::SCALING_FACTOR_2); else @@ -1617,23 +1619,18 @@ bool CAscApplicationManagerWrapper::applySettings(const wstring& wstrjson) _reg_user.setValue("locale", _lang_id); CLangater::reloadTranslations(_lang_id); +#ifdef _UPDMODULE + if (m_pUpdateManager) + m_pUpdateManager->refreshStartPage(); +#endif } } if ( objRoot.contains("uiscaling") ) { - wstring sets; - switch (objRoot["uiscaling"].toString().toInt()) { - case 100: sets = L"1"; break; - case 125: sets = L"1.25"; break; - case 150: sets = L"1.5"; break; - case 175: sets = L"1.75"; break; - case 200: sets = L"2"; break; - default: - sets = L"default"; - } + const wstring sets = Scaling::scalingToFactor(objRoot["uiscaling"].toString()); - setUserSettings(L"system-scale", sets != L"default" ? L"0" : L"1"); - setUserSettings(L"force-scale", sets); + setUserSettings(L"system-scale", sets != L"0" ? L"0" : L"1"); + setUserSettings(L"force-scale", sets == L"0" ? L"default" : sets); m_pMainWindow->updateScaling(); CEditorWindow * _editor = nullptr; @@ -1671,15 +1668,10 @@ bool CAscApplicationManagerWrapper::applySettings(const wstring& wstrjson) _reg_user.setValue("editorWindowMode", m_private->m_openEditorWindow); } #ifdef _UPDMODULE -#ifdef Q_OS_WIN if ( objRoot.contains("autoupdatemode") ) { - m_pUpdateManager->setNewUpdateSetting(objRoot["autoupdatemode"].toString()); - } -#else - if ( objRoot.contains("checkupdatesinterval") ) { - m_pUpdateManager->setNewUpdateSetting(objRoot["checkupdatesinterval"].toString()); + if (m_pUpdateManager) + m_pUpdateManager->setNewUpdateSetting(objRoot["autoupdatemode"].toString()); } -#endif #endif } else { /* parse settings error */ @@ -1881,12 +1873,7 @@ void CAscApplicationManagerWrapper::unbindReceiver(const CCefEventsGate * receiv void CAscApplicationManagerWrapper::onDownloadSaveDialog(const std::wstring& name, uint id) { -/*#ifdef Q_OS_WIN - HWND parent = GetActiveWindow(); -#else*/ - QWidget * parent = mainWindow(); -//#endif - + QWidget * parent = WindowHelper::activeWindow(); if ( parent ) { static bool saveInProcess = false; if ( !saveInProcess ) { @@ -1968,6 +1955,16 @@ QString CAscApplicationManagerWrapper::newFileName(int format) } } +QString CAscApplicationManagerWrapper::newFileName(const std::wstring& format) +{ + int _f = format == L"word" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX : + format == L"cell" ? AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX : + format == L"form" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCXF : + format == L"slide" ? AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX : AVS_OFFICESTUDIO_FILE_UNKNOWN; + + return newFileName(_f); +} + /*void CAscApplicationManagerWrapper::checkUpdates() { //APP_CAST(_app); diff --git a/win-linux/src/cascapplicationmanagerwrapper.h b/win-linux/src/cascapplicationmanagerwrapper.h index e743ead1e..3e6fa2788 100644 --- a/win-linux/src/cascapplicationmanagerwrapper.h +++ b/win-linux/src/cascapplicationmanagerwrapper.h @@ -83,6 +83,14 @@ enum class CScalingFactor SCALING_FACTOR_1_5, SCALING_FACTOR_1_75, SCALING_FACTOR_2, + SCALING_FACTOR_2_25, + SCALING_FACTOR_2_5, + SCALING_FACTOR_2_75, + SCALING_FACTOR_3, + SCALING_FACTOR_3_5, + SCALING_FACTOR_4, + SCALING_FACTOR_4_5, + SCALING_FACTOR_5 }; class CAscApplicationManagerWrapper; @@ -182,6 +190,7 @@ private slots: static bool canAppClose(); static QCefView * createViewer(QWidget * parent); static QString newFileName(int format); + static QString newFileName(const std::wstring& format); static CThemes & themes(); static CPrintData& printData(); @@ -196,7 +205,7 @@ private slots: uint logoutCount(const std::wstring& portal) const; void Logout(const std::wstring& portal); void launchAppClose(); - + void onDocumentReady(int uid); void OnEvent(NSEditorApi::CAscCefMenuEvent *); bool event(QEvent *event); private: @@ -205,10 +214,8 @@ private slots: CAscApplicationManagerWrapper(CAscApplicationManagerWrapper_Private *); - class DialogSchedule; - std::unique_ptr m_dialogSchedule; #ifdef _UPDMODULE - CUpdateManager *m_pUpdateManager; + CUpdateManager *m_pUpdateManager = nullptr; #endif }; diff --git a/win-linux/src/cascapplicationmanagerwrapper_private.h b/win-linux/src/cascapplicationmanagerwrapper_private.h index a3183b3ee..12c7fd1e7 100644 --- a/win-linux/src/cascapplicationmanagerwrapper_private.h +++ b/win-linux/src/cascapplicationmanagerwrapper_private.h @@ -207,7 +207,6 @@ class CAscApplicationManagerWrapper_Private if ( _url.rfind(L"http://",0) == 0 || _url.rfind(L"https://",0) == 0 ) { COpenOptions opts{_url}; opts.id = _view ? _view->GetId() : -1; -// mainWindow()->mainPanel()->onCloudDocumentOpen(_url, _id, true); } else { // /* open local file */ } @@ -240,16 +239,32 @@ class CAscApplicationManagerWrapper_Private } else if ( cmd.compare(L"create:new") == 0 ) { const std::wstring & format = data.get_Param(); - int _f = format == L"word" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX : - format == L"cell" ? AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX : - format == L"form" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCXF : - format == L"slide" ? AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX : AVS_OFFICESTUDIO_FILE_UNKNOWN; + const std::wstring search_tpl = L"template:"; - COpenOptions opts{m_appmanager.newFileName(_f), etNewFile}; - opts.format = _f; - opts.parent_id = event.m_nSenderId; + if ( format.rfind(search_tpl, 0) == 0 ) { + std::wstring type = format.substr(search_tpl.length()); + std::wstring file_path = CEditorTools::getlocaltemplate(type, event.m_nSenderId).toStdWString(); + + if ( !file_path.empty() ) { + COpenOptions opts{file_path, etTemplateFile}; + opts.name = m_appmanager.newFileName(type); + opts.parent_id = event.m_nSenderId; + + openDocument(opts); + } + } else { + int _f = format == L"word" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX : + format == L"cell" ? AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX : + format == L"form" ? AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCXF : + format == L"slide" ? AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX : AVS_OFFICESTUDIO_FILE_UNKNOWN; + + COpenOptions opts{m_appmanager.newFileName(_f), etNewFile}; + opts.format = _f; + opts.parent_id = event.m_nSenderId; + + openDocument(opts); + } - openDocument(opts); return true; } diff --git a/win-linux/src/casctabdata.cpp b/win-linux/src/casctabdata.cpp index 2be486613..b524da9a9 100644 --- a/win-linux/src/casctabdata.cpp +++ b/win-linux/src/casctabdata.cpp @@ -39,7 +39,7 @@ CAscTabData::CAscTabData(const QString& t, CefType wt) , _is_local(false) , _vtype(wt) , _url() - , _typeContent(etUndefined) + , _typeContent(AscEditorType::etUndefined) {} CAscTabData::CAscTabData(const QString& t, AscEditorType ct) @@ -48,9 +48,10 @@ CAscTabData::CAscTabData(const QString& t, AscEditorType ct) , _typeContent(ct) { switch (ct) { - case etDocument: - case etSpreadsheet: - case etPresentation: + case AscEditorType::etDocument: + case AscEditorType::etSpreadsheet: + case AscEditorType::etPresentation: + case AscEditorType::etPdf: _vtype = cvwtEditor; break; default: diff --git a/win-linux/src/ccefeventstransformer.cpp b/win-linux/src/ccefeventstransformer.cpp index 4443864c7..59c33a11f 100644 --- a/win-linux/src/ccefeventstransformer.cpp +++ b/win-linux/src/ccefeventstransformer.cpp @@ -33,11 +33,9 @@ #include "ccefeventstransformer.h" #include "applicationmanager_events.h" #include "common/Types.h" -//#include "regex" - #include #include -#include + using namespace NSEditorApi; CCefEventsTransformer::CCefEventsTransformer(QObject *parent) @@ -61,9 +59,6 @@ void CCefEventsTransformer::OnEvent(QObject * target, NSEditorApi::CAscCefMenuEv // case ASC_MENU_EVENT_TYPE_CEF_CREATETAB: { // CAscCreateTab * pData = (CAscCreateTab *)event->m_pData; -// QMetaObject::invokeMethod(target, "onCloudDocumentOpen", Qt::QueuedConnection, -// Q_ARG(std::wstring, pData->get_Url()), Q_ARG(int, pData->get_IdEqual()), Q_ARG(bool, pData->get_Active())); - // break;} case ASC_MENU_EVENT_TYPE_CEF_TABEDITORTYPE: { diff --git a/win-linux/src/ccefeventstransformer.h b/win-linux/src/ccefeventstransformer.h index 15caff975..d7b0dc3db 100644 --- a/win-linux/src/ccefeventstransformer.h +++ b/win-linux/src/ccefeventstransformer.h @@ -34,8 +34,7 @@ #define CCEFEVENTTRANSFORMER_H #include -#include "Word_Api/Editor_Api.h" - +#include "applicationmanager_events.h" class CCefEventsTransformer : public NSEditorApi::CAscCefMenuEventListener { diff --git a/win-linux/src/ceditortools.cpp b/win-linux/src/ceditortools.cpp index 56f1552a5..9b09c0b5e 100644 --- a/win-linux/src/ceditortools.cpp +++ b/win-linux/src/ceditortools.cpp @@ -42,7 +42,6 @@ #include "components/cmessage.h" #include #include -#include using namespace NSEditorApi; @@ -71,7 +70,7 @@ namespace CEditorTools c.context->AddRef(); _progress.setProgress(curr, count); - qApp->processEvents(); + PROCESSEVENTS(); pData = new CAscPrintPage(); pData->put_Context(c.context); @@ -200,6 +199,33 @@ namespace CEditorTools return _path; } + QString getlocaltemplate(const std::wstring& editor, int parentid) + { + ParentHandle parent; + if ( !(parentid < 0) ) + parent = AscAppManager::windowHandleFromId(parentid); + else parent = qApp->activeWindow(); + + QString _filter; + if ( editor.compare(L"cell") == 0 ) { + _filter = CFileDialogWrapper::tr("Spreadsheet template") + " (*.xltx *.xltm *.ots)"; + } else + if ( editor.compare(L"slide") == 0 ) { + _filter = CFileDialogWrapper::tr("Presentation template") + " (*.potx *.otp)"; + } else { + _filter = CFileDialogWrapper::tr("Document template") + " (*.dotx *.ott)"; + } + + CFileDialogWrapper dlg(parent); + + QString _path = Utils::lastPath(LOCAL_PATH_OPEN); + if ( !(_path = dlg.modalOpenSingle(_path, _filter)).isEmpty() ) { + Utils::keepLastPath(LOCAL_PATH_OPEN, QFileInfo(_path).absolutePath()); + } + + return _path; + } + std::wstring getFolder(const std::wstring& path, int parentid) { ParentHandle parent; @@ -253,6 +279,9 @@ namespace CEditorTools } else if (opts.srctype == etNewFile) { panel->createLocalFile(editorTypeFromFormat(opts.format), opts.name.toStdWString()); + } else + if (opts.srctype == etTemplateFile) { + panel->createLocalFile(opts.wurl, opts.name.toStdWString()); } else { panel->cef()->load(opts.wurl); } @@ -260,19 +289,12 @@ namespace CEditorTools if ( result ) { CAscTabData * data = new CAscTabData(opts.name); data->setUrl(opts.wurl); - data->setIsLocal( opts.srctype == etLocalFile || opts.srctype == etNewFile || + data->setIsLocal( opts.srctype == etLocalFile || opts.srctype == etNewFile || opts.srctype == etTemplateFile || (opts.srctype == etRecentFile && !CExistanceController::isFileRemote(opts.url)) ); if ( opts.srctype == etNewFile ) data->setContentType(editorTypeFromFormat(opts.format)); - if ( !data->isLocal() ) { - QRegularExpression re("ascdesktop:\\/\\/compare"); - QRegularExpressionMatch match = re.match(QString::fromStdWString(data->url())); - if ( match.hasMatch() ) { - data->setIsLocal(true); - } - } panel->setData(data); @@ -290,21 +312,24 @@ namespace CEditorTools auto editorTypeFromFormat(int format) -> AscEditorType { if ( format == AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCXF ) { - return etDocumentMasterForm; + return AscEditorType::etDocumentMasterForm; } else if ( (format > AVS_OFFICESTUDIO_FILE_DOCUMENT && format < AVS_OFFICESTUDIO_FILE_PRESENTATION) || format == AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF || format == AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDFA || format == AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_DJVU ) - return etDocument; + return AscEditorType::etDocument; else if ( format > AVS_OFFICESTUDIO_FILE_PRESENTATION && format < AVS_OFFICESTUDIO_FILE_SPREADSHEET ) - return etPresentation; + return AscEditorType::etPresentation; else if (format > AVS_OFFICESTUDIO_FILE_SPREADSHEET && format < AVS_OFFICESTUDIO_FILE_CROSSPLATFORM ) { - return etSpreadsheet; + return AscEditorType::etSpreadsheet; } + else + if (format > AVS_OFFICESTUDIO_FILE_CROSSPLATFORM && format < AVS_OFFICESTUDIO_FILE_IMAGE ) + return AscEditorType::etPdf; - return etUndefined; + return AscEditorType::etUndefined; } auto processLocalFileSaveAs(const CAscCefMenuEvent * event) -> void { diff --git a/win-linux/src/ceditortools.h b/win-linux/src/ceditortools.h index 20fdabd89..d6d129247 100644 --- a/win-linux/src/ceditortools.h +++ b/win-linux/src/ceditortools.h @@ -57,6 +57,7 @@ namespace CEditorTools void print(const sPrintConf&); void getlocalfile(void * data); QString getlocalfile(const std::wstring& path, int parentid = -1); + QString getlocaltemplate(const std::wstring& editor, int parentid); std::wstring getFolder(const std::wstring&, int parentid = -1); auto createEditorPanel(const COpenOptions& opts, const QRect& rect = QRect()) -> CTabPanel *; diff --git a/win-linux/src/ceventdriver.cpp b/win-linux/src/ceventdriver.cpp index d44667755..1b89b5110 100644 --- a/win-linux/src/ceventdriver.cpp +++ b/win-linux/src/ceventdriver.cpp @@ -33,7 +33,6 @@ #include "ceventdriver.h" #include "cascapplicationmanagerwrapper.h" -#include CEventDriver::CEventDriver(QObject *parent) : QObject(parent) diff --git a/win-linux/src/cfilechecker.cpp b/win-linux/src/cfilechecker.cpp index 5e8f8db5f..2b71f08a5 100644 --- a/win-linux/src/cfilechecker.cpp +++ b/win-linux/src/cfilechecker.cpp @@ -5,7 +5,6 @@ #include #include -#include #define FILE_UNKNOWN 0 #define FILE_EXISTS 1 diff --git a/win-linux/src/chelp.cpp b/win-linux/src/chelp.cpp index 57872a1da..b585f5340 100644 --- a/win-linux/src/chelp.cpp +++ b/win-linux/src/chelp.cpp @@ -62,7 +62,8 @@ void CHelp::out() " --xdg-desktop-portal use portals instead of gtk file chooser (the flag is saved for subsequent sessions)\n" " --xdg-desktop-portal=default use portals instead of gtk file chooser for current session\n" " --native-file-dialog use non Qt dialog\n" - " --updates-appcast-url=\"\" set URL for updates\n" + " --updates-appcast-channel=dev set development URL for updates\n" + " --updates-interval=