summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2022-11-02 10:42:41 -0400
committerBrian Evans <grknight@gentoo.org>2022-11-02 10:42:41 -0400
commit68e83c6fc2c293d98f0745a3332a3fad4bb2dc61 (patch)
treeeefe45ab6e66cd782b603c496bbeca4b196e5343
parentUpdate PipeEscape to master as of 2022-11-02 (diff)
downloadextensions-68e83c6fc2c293d98f0745a3332a3fad4bb2dc61.tar.gz
extensions-68e83c6fc2c293d98f0745a3332a3fad4bb2dc61.tar.bz2
extensions-68e83c6fc2c293d98f0745a3332a3fad4bb2dc61.zip
Update Thanks to master as of 2022-11-02
Signed-off-by: Brian Evans <grknight@gentoo.org>
-rw-r--r--Thanks/.eslintrc.json10
-rw-r--r--Thanks/.phpcs.xml2
-rw-r--r--Thanks/.svgo.config.js40
-rw-r--r--Thanks/Gruntfile.js7
-rw-r--r--Thanks/Thanks.alias.php4
-rw-r--r--Thanks/Thanks.php38
-rw-r--r--Thanks/composer.json16
-rw-r--r--Thanks/extension.json53
-rw-r--r--Thanks/i18n/ab.json8
-rw-r--r--Thanks/i18n/ace.json3
-rw-r--r--Thanks/i18n/alt.json9
-rw-r--r--Thanks/i18n/ami.json5
-rw-r--r--Thanks/i18n/an.json8
-rw-r--r--Thanks/i18n/ang.json5
-rw-r--r--Thanks/i18n/api/ca.json3
-rw-r--r--Thanks/i18n/api/fa.json5
-rw-r--r--Thanks/i18n/api/frr.json10
-rw-r--r--Thanks/i18n/api/lrc.json6
-rw-r--r--Thanks/i18n/api/lv.json2
-rw-r--r--Thanks/i18n/api/mni.json9
-rw-r--r--Thanks/i18n/api/nl.json3
-rw-r--r--Thanks/i18n/api/pl.json7
-rw-r--r--Thanks/i18n/api/pt-br.json1
-rw-r--r--Thanks/i18n/api/tl.json17
-rw-r--r--Thanks/i18n/api/tr.json4
-rw-r--r--Thanks/i18n/api/vi.json13
-rw-r--r--Thanks/i18n/ar.json8
-rw-r--r--Thanks/i18n/arn.json8
-rw-r--r--Thanks/i18n/ary.json6
-rw-r--r--Thanks/i18n/as.json15
-rw-r--r--Thanks/i18n/az.json17
-rw-r--r--Thanks/i18n/ban-bali.json8
-rw-r--r--Thanks/i18n/ban.json55
-rw-r--r--Thanks/i18n/bbc-latn.json2
-rw-r--r--Thanks/i18n/bci.json8
-rw-r--r--Thanks/i18n/bcl.json3
-rw-r--r--Thanks/i18n/be-tarask.json2
-rw-r--r--Thanks/i18n/be.json39
-rw-r--r--Thanks/i18n/bjn.json6
-rw-r--r--Thanks/i18n/blk.json8
-rw-r--r--Thanks/i18n/bn.json3
-rw-r--r--Thanks/i18n/bpy.json9
-rw-r--r--Thanks/i18n/br.json35
-rw-r--r--Thanks/i18n/bs.json4
-rw-r--r--Thanks/i18n/ca.json11
-rw-r--r--Thanks/i18n/ce.json8
-rw-r--r--Thanks/i18n/ckb.json24
-rw-r--r--Thanks/i18n/cop.json8
-rw-r--r--Thanks/i18n/cpx.json8
-rw-r--r--Thanks/i18n/crh-latn.json11
-rw-r--r--Thanks/i18n/cs.json1
-rw-r--r--Thanks/i18n/cv.json8
-rw-r--r--Thanks/i18n/dag.json8
-rw-r--r--Thanks/i18n/de-ch.json9
-rw-r--r--Thanks/i18n/de.json8
-rw-r--r--Thanks/i18n/diq.json8
-rw-r--r--Thanks/i18n/dsb.json5
-rw-r--r--Thanks/i18n/el.json7
-rw-r--r--Thanks/i18n/en.json5
-rw-r--r--Thanks/i18n/es.json14
-rw-r--r--Thanks/i18n/et.json3
-rw-r--r--Thanks/i18n/eu.json4
-rw-r--r--Thanks/i18n/fa.json8
-rw-r--r--Thanks/i18n/fat.json8
-rw-r--r--Thanks/i18n/ff.json3
-rw-r--r--Thanks/i18n/fon.json8
-rw-r--r--Thanks/i18n/fr.json75
-rw-r--r--Thanks/i18n/frr.json20
-rw-r--r--Thanks/i18n/fy.json5
-rw-r--r--Thanks/i18n/gld.json10
-rw-r--r--Thanks/i18n/gpe.json8
-rw-r--r--Thanks/i18n/grc.json7
-rw-r--r--Thanks/i18n/guc.json9
-rw-r--r--Thanks/i18n/gur.json8
-rw-r--r--Thanks/i18n/guw.json9
-rw-r--r--Thanks/i18n/ha.json8
-rw-r--r--Thanks/i18n/he.json15
-rw-r--r--Thanks/i18n/hi.json6
-rw-r--r--Thanks/i18n/hif-latn.json1
-rw-r--r--Thanks/i18n/hr.json22
-rw-r--r--Thanks/i18n/hrx.json9
-rw-r--r--Thanks/i18n/hsn.json8
-rw-r--r--Thanks/i18n/ht.json8
-rw-r--r--Thanks/i18n/hyw.json29
-rw-r--r--Thanks/i18n/id.json11
-rw-r--r--Thanks/i18n/ie.json8
-rw-r--r--Thanks/i18n/ig.json8
-rw-r--r--Thanks/i18n/inh.json2
-rw-r--r--Thanks/i18n/io.json1
-rw-r--r--Thanks/i18n/ish.json8
-rw-r--r--Thanks/i18n/it.json1
-rw-r--r--Thanks/i18n/ja.json4
-rw-r--r--Thanks/i18n/ka.json12
-rw-r--r--Thanks/i18n/kaa.json8
-rw-r--r--Thanks/i18n/kcg.json10
-rw-r--r--Thanks/i18n/kea.json13
-rw-r--r--Thanks/i18n/kk-cyrl.json5
-rw-r--r--Thanks/i18n/ko.json3
-rw-r--r--Thanks/i18n/kr.json8
-rw-r--r--Thanks/i18n/ks-arab.json12
-rw-r--r--Thanks/i18n/ku-latn.json1
-rw-r--r--Thanks/i18n/lad.json8
-rw-r--r--Thanks/i18n/lb.json3
-rw-r--r--Thanks/i18n/lbe.json8
-rw-r--r--Thanks/i18n/lez.json8
-rw-r--r--Thanks/i18n/lij.json3
-rw-r--r--Thanks/i18n/lmo.json62
-rw-r--r--Thanks/i18n/lt.json2
-rw-r--r--Thanks/i18n/lv.json6
-rw-r--r--Thanks/i18n/mad.json9
-rw-r--r--Thanks/i18n/mag.json8
-rw-r--r--Thanks/i18n/mk.json5
-rw-r--r--Thanks/i18n/mnc.json9
-rw-r--r--Thanks/i18n/mni.json6
-rw-r--r--Thanks/i18n/mos.json8
-rw-r--r--Thanks/i18n/ms-arab.json9
-rw-r--r--Thanks/i18n/my.json3
-rw-r--r--Thanks/i18n/mzn.json3
-rw-r--r--Thanks/i18n/nb.json5
-rw-r--r--Thanks/i18n/ne.json37
-rw-r--r--Thanks/i18n/nia.json9
-rw-r--r--Thanks/i18n/nmz.json8
-rw-r--r--Thanks/i18n/nod.json8
-rw-r--r--Thanks/i18n/nqo.json46
-rw-r--r--Thanks/i18n/nyn.json9
-rw-r--r--Thanks/i18n/ojb.json9
-rw-r--r--Thanks/i18n/om.json9
-rw-r--r--Thanks/i18n/or.json16
-rw-r--r--Thanks/i18n/os.json2
-rw-r--r--Thanks/i18n/pa.json3
-rw-r--r--Thanks/i18n/pap.json8
-rw-r--r--Thanks/i18n/pcm.json8
-rw-r--r--Thanks/i18n/pl.json22
-rw-r--r--Thanks/i18n/pnb.json23
-rw-r--r--Thanks/i18n/prg.json8
-rw-r--r--Thanks/i18n/pt-br.json6
-rw-r--r--Thanks/i18n/pt.json8
-rw-r--r--Thanks/i18n/pwn.json8
-rw-r--r--Thanks/i18n/qqq.json7
-rw-r--r--Thanks/i18n/rki.json8
-rw-r--r--Thanks/i18n/rmc.json8
-rw-r--r--Thanks/i18n/rn.json8
-rw-r--r--Thanks/i18n/ro.json28
-rw-r--r--Thanks/i18n/roa-tara.json3
-rw-r--r--Thanks/i18n/rsk.json8
-rw-r--r--Thanks/i18n/ru.json10
-rw-r--r--Thanks/i18n/rue.json18
-rw-r--r--Thanks/i18n/ryu.json8
-rw-r--r--Thanks/i18n/sc.json2
-rw-r--r--Thanks/i18n/scn.json19
-rw-r--r--Thanks/i18n/sd.json24
-rw-r--r--Thanks/i18n/sdc.json4
-rw-r--r--Thanks/i18n/shi.json7
-rw-r--r--Thanks/i18n/sje.json9
-rw-r--r--Thanks/i18n/sl.json34
-rw-r--r--Thanks/i18n/sli.json9
-rw-r--r--Thanks/i18n/smn.json10
-rw-r--r--Thanks/i18n/sms.json15
-rw-r--r--Thanks/i18n/sr-ec.json19
-rw-r--r--Thanks/i18n/sr-el.json2
-rw-r--r--Thanks/i18n/sro.json8
-rw-r--r--Thanks/i18n/sv.json6
-rw-r--r--Thanks/i18n/sw.json4
-rw-r--r--Thanks/i18n/syl.json8
-rw-r--r--Thanks/i18n/ta.json7
-rw-r--r--Thanks/i18n/tdd.json9
-rw-r--r--Thanks/i18n/te.json28
-rw-r--r--Thanks/i18n/th.json4
-rw-r--r--Thanks/i18n/ti.json10
-rw-r--r--Thanks/i18n/tk.json10
-rw-r--r--Thanks/i18n/tl.json69
-rw-r--r--Thanks/i18n/tly.json7
-rw-r--r--Thanks/i18n/tr.json16
-rw-r--r--Thanks/i18n/tum.json9
-rw-r--r--Thanks/i18n/tw.json8
-rw-r--r--Thanks/i18n/tyv.json8
-rw-r--r--Thanks/i18n/ug-arab.json8
-rw-r--r--Thanks/i18n/uk.json13
-rw-r--r--Thanks/i18n/uz.json35
-rw-r--r--Thanks/i18n/vi.json19
-rw-r--r--Thanks/i18n/vmw.json8
-rw-r--r--Thanks/i18n/wls.json8
-rw-r--r--Thanks/i18n/xh.json8
-rw-r--r--Thanks/i18n/yi.json7
-rw-r--r--Thanks/i18n/yrl.json9
-rw-r--r--Thanks/i18n/zh-hans.json15
-rw-r--r--Thanks/i18n/zh-hant.json5
-rw-r--r--Thanks/includes/ApiCoreThank.php54
-rw-r--r--Thanks/includes/ApiFlowThank.php21
-rw-r--r--Thanks/includes/ApiThank.php36
-rw-r--r--Thanks/includes/EchoCoreThanksPresentationModel.php29
-rw-r--r--Thanks/includes/EchoFlowThanksPresentationModel.php8
-rw-r--r--Thanks/includes/Hooks.php (renamed from Thanks/includes/ThanksHooks.php)166
-rw-r--r--Thanks/includes/SpecialThanks.php19
-rw-r--r--Thanks/includes/ThanksLogFormatter.php7
-rw-r--r--Thanks/jsduck.json2
-rw-r--r--Thanks/modules/.eslintrc.json13
-rw-r--r--Thanks/modules/ext.thanks.corethank.js6
-rw-r--r--Thanks/modules/ext.thanks.flowthank.js13
-rw-r--r--Thanks/modules/ext.thanks.mobilediff.js2
-rw-r--r--Thanks/modules/ext.thanks.thank.js34
-rw-r--r--Thanks/modules/jquery.findWithParent.js6
-rw-r--r--Thanks/modules/userTalk-constructive-ltr.svg (renamed from Thanks/userTalk-constructive-ltr.svg)0
-rw-r--r--Thanks/modules/userTalk-constructive-rtl.svg (renamed from Thanks/userTalk-constructive-rtl.svg)0
-rw-r--r--Thanks/modules/userTalk-ltr.svg2
-rw-r--r--Thanks/modules/userTalk-rtl.svg4
-rw-r--r--Thanks/package-lock.json6460
-rw-r--r--Thanks/package.json11
-rwxr-xr-xThanks/scripts/pre-commit5
-rw-r--r--Thanks/tests/phpunit/ApiCoreThankIntegrationTest.php16
-rw-r--r--Thanks/tests/phpunit/ApiCoreThankUnitTest.php56
-rw-r--r--Thanks/tests/phpunit/ApiFlowThankIntegrationTest.php51
-rw-r--r--Thanks/tests/qunit/.eslintrc.json4
-rw-r--r--Thanks/tests/qunit/test_ext.thanks.mobilediff.js14
-rw-r--r--Thanks/tests/qunit/test_ext.thanks.thank.js46
215 files changed, 6958 insertions, 2218 deletions
diff --git a/Thanks/.eslintrc.json b/Thanks/.eslintrc.json
index 618c5bda..04f9da7a 100644
--- a/Thanks/.eslintrc.json
+++ b/Thanks/.eslintrc.json
@@ -1,12 +1,6 @@
{
"root": true,
"extends": [
- "wikimedia/client",
- "wikimedia/jquery",
- "wikimedia/mediawiki"
- ],
- "rules": {
- "max-len": "off",
- "no-jquery/no-global-selector": "off"
- }
+ "wikimedia/server"
+ ]
}
diff --git a/Thanks/.phpcs.xml b/Thanks/.phpcs.xml
index a9c1f665..8bd91628 100644
--- a/Thanks/.phpcs.xml
+++ b/Thanks/.phpcs.xml
@@ -7,6 +7,6 @@
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
</rule>
<file>.</file>
- <arg name="extensions" value="php,php5,inc" />
+ <arg name="extensions" value="php" />
<arg name="encoding" value="UTF-8" />
</ruleset>
diff --git a/Thanks/.svgo.config.js b/Thanks/.svgo.config.js
new file mode 100644
index 00000000..0cb4e64d
--- /dev/null
+++ b/Thanks/.svgo.config.js
@@ -0,0 +1,40 @@
+/**
+ * SVGO Configuration
+ * Compatible to v2.4.0+
+ * Recommended options from:
+ * https://www.mediawiki.org/wiki/Manual:Coding_conventions/SVG#Exemplified_safe_configuration
+ */
+module.exports = {
+ plugins: [
+ {
+ // Set of built-in plugins enabled by default.
+ name: 'preset-default',
+ params: {
+ overrides: {
+ cleanupIDs: false,
+ removeDesc: false,
+ removeTitle: false,
+ removeViewBox: false,
+ // If the SVG doesn't start with an XML declaration, then its MIME type will
+ // be detected as "text/plain" rather than "image/svg+xml" by libmagic and,
+ // consequently, MediaWiki's CSSMin CSS minifier. libmagic's default database
+ // currently requires that SVGs contain an XML declaration:
+ // https://github.com/threatstack/libmagic/blob/master/magic/Magdir/sgml#L5
+ removeXMLProcInst: false
+ }
+ }
+ },
+ 'removeRasterImages',
+ 'sortAttrs'
+ ],
+ // Set whitespace according to Wikimedia Coding Conventions.
+ // @see https://github.com/svg/svgo/blob/main/lib/svgo/coa.js#L194 for more config options
+ js2svg: {
+ eol: 'lf',
+ finalNewline: true,
+ // Configure the indent to tabs (default 4 spaces) used by `--pretty` here.
+ indent: '\t',
+ pretty: true
+ },
+ multipass: true
+}
diff --git a/Thanks/Gruntfile.js b/Thanks/Gruntfile.js
index 727c4405..848ecc71 100644
--- a/Thanks/Gruntfile.js
+++ b/Thanks/Gruntfile.js
@@ -4,9 +4,10 @@
* @package Thanks
*/
-/* eslint-env node, es6 */
+'use strict';
+
module.exports = function ( grunt ) {
- var conf = grunt.file.readJSON( 'extension.json' );
+ const conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
@@ -20,7 +21,7 @@ module.exports = function ( grunt ) {
},
all: [
'**/*.{js,json}',
- '!{vendor,node_modules}/**'
+ '!{vendor,node_modules,docs}/**'
]
},
banana: conf.MessagesDirs,
diff --git a/Thanks/Thanks.alias.php b/Thanks/Thanks.alias.php
index 245ce719..70f23620 100644
--- a/Thanks/Thanks.alias.php
+++ b/Thanks/Thanks.alias.php
@@ -173,12 +173,12 @@ $specialPageAliases['zh'] = [
'Thanks' => [ '感谢', '感謝' ],
];
-/** Simplified Chinese (中文(简体)‎) */
+/** Simplified Chinese (中文(简体)) */
$specialPageAliases['zh-hans'] = [
'Thanks' => [ '感谢' ],
];
-/** Traditional Chinese (中文(繁體)‎) */
+/** Traditional Chinese (中文(繁體)) */
$specialPageAliases['zh-hant'] = [
'Thanks' => [ '感謝' ],
];
diff --git a/Thanks/Thanks.php b/Thanks/Thanks.php
deleted file mode 100644
index b3d48056..00000000
--- a/Thanks/Thanks.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-/**
- * Thanks extension
- *
- * This extension adds 'thank' links that allow users to thank other users for
- * specific revisions. It relies on the Echo extension to send the actual thanks.
- * For more info see https://mediawiki.org/wiki/Extension:Thanks
- *
- * 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.
- *
- * This program is distributed WITHOUT ANY WARRANTY.
- *
- * @file
- * @ingroup Extensions
- * @author Ryan Kaldari
- * @license MIT
- */
-
-if ( function_exists( 'wfLoadExtension' ) ) {
- wfLoadExtension( 'Thanks' );
- // Keep i18n globals so mergeMessageFileList.php doesn't break
- $wgMessagesDirs['Thanks'] = __DIR__ . '/i18n';
- $wgExtensionMessagesFiles['ThanksAlias'] = __DIR__ . '/Thanks.alias.php';
- wfWarn(
- 'Deprecated PHP entry point used for Thanks extension. Please use wfLoadExtension instead, ' .
- 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
- );
-} else {
- die( 'This version of the Thanks extension requires MediaWiki 1.25+' );
-}
diff --git a/Thanks/composer.json b/Thanks/composer.json
index c24ccd32..775731fc 100644
--- a/Thanks/composer.json
+++ b/Thanks/composer.json
@@ -1,15 +1,15 @@
{
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "31.0.0",
- "mediawiki/mediawiki-phan-config": "0.10.2",
- "mediawiki/minus-x": "1.1.0",
- "php-parallel-lint/php-console-highlighter": "0.5.0",
- "php-parallel-lint/php-parallel-lint": "1.2.0"
+ "mediawiki/mediawiki-codesniffer": "39.0.0",
+ "mediawiki/mediawiki-phan-config": "0.12.0",
+ "mediawiki/minus-x": "1.1.1",
+ "php-parallel-lint/php-console-highlighter": "1.0.0",
+ "php-parallel-lint/php-parallel-lint": "1.3.2"
},
"scripts": {
"test": [
"parallel-lint . --exclude vendor --exclude node_modules",
- "phpcs -p -s",
+ "@phpcs",
"minus-x check ."
],
"fix": [
@@ -18,6 +18,8 @@
],
"doc": [
"doxygen"
- ]
+ ],
+ "phan": "phan -d . --long-progress-bar",
+ "phpcs": "phpcs -sp --cache"
}
}
diff --git a/Thanks/extension.json b/Thanks/extension.json
index aff7b175..cf59879c 100644
--- a/Thanks/extension.json
+++ b/Thanks/extension.json
@@ -11,7 +11,7 @@
"license-name": "MIT",
"type": "other",
"requires": {
- "MediaWiki": ">= 1.35.0",
+ "MediaWiki": ">= 1.38.0",
"extensions": {
"Echo": "*"
}
@@ -29,7 +29,7 @@
}
},
"SpecialPages": {
- "Thanks": "SpecialThanks"
+ "Thanks": "MediaWiki\\Extension\\Thanks\\SpecialThanks"
},
"LogTypes": [
"thanks"
@@ -38,10 +38,10 @@
"thanks": true
},
"LogActionsHandlers": {
- "thanks/*": "ThanksLogFormatter"
+ "thanks/*": "MediaWiki\\Extension\\Thanks\\ThanksLogFormatter"
},
"APIModules": {
- "thank": "ApiCoreThank"
+ "thank": "MediaWiki\\Extension\\Thanks\\ApiCoreThank"
},
"MessagesDirs": {
"Thanks": [
@@ -52,15 +52,8 @@
"ExtensionMessagesFiles": {
"ThanksAlias": "Thanks.alias.php"
},
- "AutoloadClasses": {
- "ThanksHooks": "includes/ThanksHooks.php",
- "EchoCoreThanksPresentationModel": "includes/EchoCoreThanksPresentationModel.php",
- "EchoFlowThanksPresentationModel": "includes/EchoFlowThanksPresentationModel.php",
- "ApiThank": "includes/ApiThank.php",
- "ApiCoreThank": "includes/ApiCoreThank.php",
- "ApiFlowThank": "includes/ApiFlowThank.php",
- "ThanksLogFormatter": "includes/ThanksLogFormatter.php",
- "SpecialThanks": "includes/SpecialThanks.php"
+ "AutoloadNamespaces": {
+ "MediaWiki\\Extension\\Thanks\\": "includes/"
},
"ResourceModules": {
"ext.thanks.images": {
@@ -107,7 +100,6 @@
"mediawiki.jqueryMsg",
"mediawiki.api",
"jquery.confirmable",
- "jquery.cookie",
"ext.thanks"
]
},
@@ -173,19 +165,20 @@
]
},
"Hooks": {
- "ApiMain::moduleManager": "ThanksHooks::onApiMainModuleManager",
- "BeforeCreateEchoEvent": "ThanksHooks::onBeforeCreateEchoEvent",
- "BeforePageDisplay": "ThanksHooks::onBeforePageDisplay",
- "BeforeSpecialMobileDiffDisplay": "ThanksHooks::onBeforeSpecialMobileDiffDisplay",
- "DiffTools": "ThanksHooks::insertThankLink",
- "DifferenceEngineViewHeader": "ThanksHooks::onDifferenceEngineViewHeader",
- "EchoGetBundleRules": "ThanksHooks::onEchoGetBundleRules",
- "EchoGetDefaultNotifiedUsers": "ThanksHooks::onEchoGetDefaultNotifiedUsers",
- "GetLogTypesOnUser": "ThanksHooks::onGetLogTypesOnUser",
- "HistoryTools": "ThanksHooks::insertThankLink",
- "LocalUserCreated": "ThanksHooks::onAccountCreated",
- "LogEventsListLineEnding": "ThanksHooks::onLogEventsListLineEnding",
- "PageHistoryBeforeList": "ThanksHooks::onPageHistoryBeforeList"
+ "ApiMain::moduleManager": "MediaWiki\\Extension\\Thanks\\Hooks::onApiMainModuleManager",
+ "BeforeCreateEchoEvent": "MediaWiki\\Extension\\Thanks\\Hooks::onBeforeCreateEchoEvent",
+ "BeforePageDisplay": "MediaWiki\\Extension\\Thanks\\Hooks::onBeforePageDisplay",
+ "BeforeSpecialMobileDiffDisplay": "MediaWiki\\Extension\\Thanks\\Hooks::onBeforeSpecialMobileDiffDisplay",
+ "DiffTools": "MediaWiki\\Extension\\Thanks\\Hooks::onDiffTools",
+ "DifferenceEngineViewHeader": "MediaWiki\\Extension\\Thanks\\Hooks::onDifferenceEngineViewHeader",
+ "EchoGetBundleRules": "MediaWiki\\Extension\\Thanks\\Hooks::onEchoGetBundleRules",
+ "EchoGetDefaultNotifiedUsers": "MediaWiki\\Extension\\Thanks\\Hooks::onEchoGetDefaultNotifiedUsers",
+ "GetAllBlockActions": "MediaWiki\\Extension\\Thanks\\Hooks::onGetAllBlockActions",
+ "GetLogTypesOnUser": "MediaWiki\\Extension\\Thanks\\Hooks::onGetLogTypesOnUser",
+ "HistoryTools": "MediaWiki\\Extension\\Thanks\\Hooks::onHistoryTools",
+ "LocalUserCreated": "MediaWiki\\Extension\\Thanks\\Hooks::onAccountCreated",
+ "LogEventsListLineEnding": "MediaWiki\\Extension\\Thanks\\Hooks::onLogEventsListLineEnding",
+ "PageHistoryBeforeList": "MediaWiki\\Extension\\Thanks\\Hooks::onPageHistoryBeforeList"
},
"config": {
"ThanksSendToBots": {
@@ -197,7 +190,7 @@
"ThanksConfirmationRequired": {
"value": true
},
- "ThanksLogTypeWhitelist": {
+ "ThanksAllowedLogTypes": {
"value": [
"contentmodel",
"create",
@@ -205,11 +198,13 @@
"import",
"merge",
"move",
+ "pagelang",
"patrol",
"protect",
"tag",
+ "upload",
"managetags",
- "rights",
+ "rights/rights",
"lock"
]
}
diff --git a/Thanks/i18n/ab.json b/Thanks/i18n/ab.json
new file mode 100644
index 00000000..52bebf16
--- /dev/null
+++ b/Thanks/i18n/ab.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fraxinus.cs"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|аџьшьара}}}}"
+}
diff --git a/Thanks/i18n/ace.json b/Thanks/i18n/ace.json
index 41a3b1ec..2f030121 100644
--- a/Thanks/i18n/ace.json
+++ b/Thanks/i18n/ace.json
@@ -5,5 +5,6 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|kheun sabah}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Bri thèe}} narit sabah keu {{GENDER:$2|ureueng ngui}} nyoe"
+ "thanks-thank-tooltip": "{{GENDER:$1|Bri thèe}} narit sabah keu {{GENDER:$2|ureueng ngui}} nyoe",
+ "thanks": "Peuét teurimong gaséh"
}
diff --git a/Thanks/i18n/alt.json b/Thanks/i18n/alt.json
new file mode 100644
index 00000000..575d7d9d
--- /dev/null
+++ b/Thanks/i18n/alt.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Батыр Комдошев"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|быйан}}}}",
+ "thanks-thank-tooltip": "Быйанду самараны {{GENDER:$2|бу туружаачыга}} {{GENDER:$1|аткарар}}"
+}
diff --git a/Thanks/i18n/ami.json b/Thanks/i18n/ami.json
index 46233d72..e30e37d0 100644
--- a/Thanks/i18n/ami.json
+++ b/Thanks/i18n/ami.json
@@ -1,9 +1,10 @@
{
"@metadata": {
"authors": [
+ "Amire80",
"Vickylin77s"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2| miaray}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1| paefer\n}}to cecay sapiaray pakafana’ tonini{{GENDER:$2| micokaymasay}}"
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|miaray}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|paefer}} to cecay sapiaray pakafana’ tonini{{GENDER:$2| micokaymasay}}"
}
diff --git a/Thanks/i18n/an.json b/Thanks/i18n/an.json
new file mode 100644
index 00000000..deaa462d
--- /dev/null
+++ b/Thanks/i18n/an.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Willtron"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|agradeixer}}}}"
+}
diff --git a/Thanks/i18n/ang.json b/Thanks/i18n/ang.json
index c06aab4e..d8ee1824 100644
--- a/Thanks/i18n/ang.json
+++ b/Thanks/i18n/ang.json
@@ -2,14 +2,15 @@
"@metadata": {
"authors": [
"Gott wisst",
+ "Heahwrita",
"JJohnson1701"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|þancian}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|geþancod}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Geþancod}}}}",
- "thanks-error-undefined": "Þancung trucode. Bidde genēðe eft.",
- "thanks-thank-tooltip": "{{GENDER:$1|Sendan}} þanc {{GENDER:$2|þissum brūcende|þisse brūcicgan}}",
+ "thanks-error-undefined": "Þancung tosælde (woges runword: $1). Sec eft la.",
+ "thanks-thank-tooltip": "{{GENDER:$1|Send}} þanc {{GENDER:$2|þissum brucende|þisse brucicgan}}",
"echo-category-title-edit-thank": "Þancunga",
"notification-thanks-diff-link": "þīn ādihtung"
}
diff --git a/Thanks/i18n/api/ca.json b/Thanks/i18n/api/ca.json
index b7255431..c7167153 100644
--- a/Thanks/i18n/api/ca.json
+++ b/Thanks/i18n/api/ca.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Jmarchn",
"Paucabot",
"Ssola"
]
@@ -11,7 +12,7 @@
"apihelp-flowthank-example-1": "Enviar un agraïment pel comentari amb <kbd>UUID xyz789</kbd>",
"apihelp-thank-description": "Envia una notificació d'agraïment a un editor.",
"apihelp-thank-summary": "Envia una notificació d'agraïment a un editor.",
- "apihelp-thank-param-rev": "Revisió ID per agrair a algú.",
+ "apihelp-thank-param-rev": "Identificador de revisió per donar l'agraïment a algú. S'ha de proporcionar aquest o el 'log' (haver iniciat la sessió).",
"apihelp-thank-param-source": "Un breu comentari que descrigui l'origen de la petició, per exemple <kbd>diff</kbd> o <kbd>historial</kbd>.",
"apihelp-thank-example-1": "Doneu les gràcies per la revisió <kbd>ID 456</kbd>, i que la font sigui un diff de la pàgina"
}
diff --git a/Thanks/i18n/api/fa.json b/Thanks/i18n/api/fa.json
index 32c04232..6f6dad31 100644
--- a/Thanks/i18n/api/fa.json
+++ b/Thanks/i18n/api/fa.json
@@ -2,12 +2,13 @@
"@metadata": {
"authors": [
"4nn1l2",
+ "Beginneruser",
"Huji",
"Macofe"
]
},
- "apihelp-flowthank-description": "تشکر کردن علنی در جریان از یک نظر",
- "apihelp-flowthank-summary": "برای یک نظر در فلو، پیام تشکری ارسال کنید.",
+ "apihelp-flowthank-description": "ارسال آگاه‌سازی عمومی سپاسگزاری از شما برای یک نظر Flow",
+ "apihelp-flowthank-summary": "ارسال آگاه‌سازی عمومی سپاسگزاری از شما برای یک نظر Flow",
"apihelp-flowthank-param-postid": "UUIDی پست مشکور",
"apihelp-flowthank-example-1": "تشکر کردن از نظر با <kbd>UUID xyz789</kbd>",
"apihelp-thank-description": "فرستادن یک اعلان تشکر به یک ویرایشگر.",
diff --git a/Thanks/i18n/api/frr.json b/Thanks/i18n/api/frr.json
index bb4e2cf9..3f2746ae 100644
--- a/Thanks/i18n/api/frr.json
+++ b/Thanks/i18n/api/frr.json
@@ -5,11 +5,11 @@
"Murma174"
]
},
- "apihelp-flowthank-description": "En öfentelk soonk-bööd för en komentaar schüür.",
+ "apihelp-flowthank-description": "En öfentelk bööd mä en soonk för en komentaar sjüür.",
"apihelp-flowthank-param-postid": "Det UUID faan det besoonket nooracht.",
- "apihelp-flowthank-example-1": "Schüür en soonk för di komentaar mä det <kbd>UUID xyz789</kbd>",
- "apihelp-thank-description": "Schüür en soonk-bööd tu en skriiwer.",
- "apihelp-thank-param-rev": "Werjuuns-ID huar hoker för soonket woort.",
+ "apihelp-flowthank-example-1": "Sjüür en soonk för di komentaar mä det <kbd>UUID xyz789</kbd>",
+ "apihelp-thank-description": "Sjüür en bööd mä en soonk tu en skriiwer.",
+ "apihelp-thank-param-rev": "Wersion ID huar hoker för soonket woort.",
"apihelp-thank-param-source": "En kurten beskriiwangs-tekst, t.b. <kbd>diff</kbd> of <kbd>history</kbd>.",
- "apihelp-thank-example-1": "Schüür en soonk för det werjuuns-<kbd>ID 456</kbd>, wan det am en ferskeel gongt."
+ "apihelp-thank-example-1": "Sjüür en soonk för det wersion <kbd>ID 456</kbd>, wan det am en ferskeel gongt."
}
diff --git a/Thanks/i18n/api/lrc.json b/Thanks/i18n/api/lrc.json
deleted file mode 100644
index 5037926c..00000000
--- a/Thanks/i18n/api/lrc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "@metadata": {
- "authors": []
- },
- "apihelp-flowthank-example-1": "سی ای ویر و باور وا<kbd>UUID xyz789</kbd> یه گل منمونداری کل بکیت"
-}
diff --git a/Thanks/i18n/api/lv.json b/Thanks/i18n/api/lv.json
index 3f4ed469..6adce666 100644
--- a/Thanks/i18n/api/lv.json
+++ b/Thanks/i18n/api/lv.json
@@ -10,7 +10,7 @@
"apihelp-flowthank-example-1": "Nosūtīt pateicību par komentāru ar <kbd>UUID xyz789</kbd>",
"apihelp-thank-description": "Nosūtīt pateicības paziņojumu redaktoram.",
"apihelp-thank-summary": "Nosūtīt pateicības paziņojumu redaktoram.",
- "apihelp-thank-param-rev": "Versijas ID, par ko kādam pateikties.",
+ "apihelp-thank-param-rev": "Versijas ID, par ko kādam pateikties. Jānorāda tas vai 'log' vērtība.",
"apihelp-thank-param-log": "Žurnāla ID par ko kādam pateikties. Jānorāda tas vai 'rev' vērtība.",
"apihelp-thank-param-source": "Īss teksts, kas apraksta pieprasījuma avotu, piemēram <kbd>diff</kbd> vai <kbd>history</kbd>.",
"apihelp-thank-example-1": "Nosūtīt pateicību par versiju <kbd>ID 456</kbd>, kā avotu norādot diff lapu"
diff --git a/Thanks/i18n/api/mni.json b/Thanks/i18n/api/mni.json
deleted file mode 100644
index c161f100..00000000
--- a/Thanks/i18n/api/mni.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Amire80",
- "Laishram Lokendro"
- ]
- },
- "apihelp-flowthank-description": "Flow comment-gidamak mayamda thagat-wahei khanghanwa thao"
-}
diff --git a/Thanks/i18n/api/nl.json b/Thanks/i18n/api/nl.json
index 7a142c8a..fcbe5b25 100644
--- a/Thanks/i18n/api/nl.json
+++ b/Thanks/i18n/api/nl.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Mainframe98",
"Mar(c)"
]
},
@@ -10,7 +11,7 @@
"apihelp-flowthank-example-1": "Stuur een bedankje voor de reactie met <kbd>UUID xyz789</kbd>",
"apihelp-thank-description": "Stuur een bedankje naar een bewerker.",
"apihelp-thank-summary": "Stuur een bedankje naar een bewerker.",
- "apihelp-thank-param-rev": "Versie-ID waarvoor u iemand wilt bedanken.",
+ "apihelp-thank-param-rev": "Versie-ID waarvoor u iemand wilt bedanken. Dit of 'log' moet worden meegegeven.",
"apihelp-thank-param-source": "Een korte tekenreeks die de bron van het verzoek beschrijft, bijvoorbeeld <kbd>diff</kbd> of <kbd>history</kbd>.",
"apihelp-thank-example-1": "Stuur een bedankje voor versie-<kbd>ID 456</kbd>, waarbij de bron een diff-pagina is"
}
diff --git a/Thanks/i18n/api/pl.json b/Thanks/i18n/api/pl.json
index 5d6296e2..60418c4f 100644
--- a/Thanks/i18n/api/pl.json
+++ b/Thanks/i18n/api/pl.json
@@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Chrumps",
+ "Rail",
"Woytecr"
]
},
@@ -11,8 +12,8 @@
"apihelp-flowthank-example-1": "Wyślij podziękowanie za komentarz z <kbd>UUID xyz789</kbd>",
"apihelp-thank-description": "Wysyła powiadomienie z podziękowaniem do edytującego.",
"apihelp-thank-summary": "Wysyła powiadomienie z podziękowaniem do edytującego.",
- "apihelp-thank-param-rev": "ID wersji za którą podziękować. Musi być podany albo ten parametr albo parametr 'log'.",
- "apihelp-thank-param-log": "Identyfikator wpisu rejestru czynności, którego tyczy się podziękowanie. Musi być podany albo ten parametr albo parametr 'rev'.",
+ "apihelp-thank-param-rev": "ID wersji, za którą podziękować. Musi być podany albo ten parametr, albo parametr „log”.",
+ "apihelp-thank-param-log": "Identyfikator wpisu rejestru czynności, którego tyczy się podziękowanie. Musi być podany albo ten parametr, albo parametr „rev”.",
"apihelp-thank-param-source": "Krótki ciąg znaków opisujący źródło żądania, na przykład <kbd>diff</kbd> lub <kbd>history</kbd>.",
- "apihelp-thank-example-1": "Wyślij podziękowanie za wersję o <kbd>ID 456</kbd>, z źródłem będącym stroną porównywania"
+ "apihelp-thank-example-1": "Wyślij podziękowanie za wersję o <kbd>ID 456</kbd>, ze źródłem będącym stroną porównywania"
}
diff --git a/Thanks/i18n/api/pt-br.json b/Thanks/i18n/api/pt-br.json
index e7fb484c..eebe402d 100644
--- a/Thanks/i18n/api/pt-br.json
+++ b/Thanks/i18n/api/pt-br.json
@@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Eduardo Addad de Oliveira",
+ "Eduardoaddad",
"Felipe L. Ewald",
"HenriqueCrang",
"Macofe",
diff --git a/Thanks/i18n/api/tl.json b/Thanks/i18n/api/tl.json
new file mode 100644
index 00000000..69f06d0c
--- /dev/null
+++ b/Thanks/i18n/api/tl.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "GinawaSaHapon"
+ ]
+ },
+ "apihelp-flowthank-description": "Magpadala ng pasasalamat para sa isang komento sa Flow.",
+ "apihelp-flowthank-summary": "Magpadala ng pasasalamat para sa isang komento sa Flow.",
+ "apihelp-flowthank-param-postid": "Ang UUID ng post na pasasalamatan mo.",
+ "apihelp-flowthank-example-1": "Magpadala ng pasasalamat para sa komentong may <kbd>UUID xyz789</kbd>",
+ "apihelp-thank-description": "Magpadala ng pasasalamat sa isang editor.",
+ "apihelp-thank-summary": "Magpadala ng pasasalamat sa isang editor.",
+ "apihelp-thank-param-rev": "ID ng rev pasasalamatan mo. Kailangang maibigay ito o ang 'log'.",
+ "apihelp-thank-param-log": "ID ng log na pasasalamatan mo. Kailangang maibigay ito o ang 'rev'.",
+ "apihelp-thank-param-source": "Maiksing string na naglalarawan sa pinagmulan ng hiling, halimbawa, <kbd>diff</kbd> o <kbd>history</kbd>.",
+ "apihelp-thank-example-1": "Magpadala ng pasasalamat para sa pagbabagong <kbd>ID 456</kbd>, kung saan isang pahina ng pagbabago ang pinagmulan."
+}
diff --git a/Thanks/i18n/api/tr.json b/Thanks/i18n/api/tr.json
index 0f2afe8d..d3b81c1c 100644
--- a/Thanks/i18n/api/tr.json
+++ b/Thanks/i18n/api/tr.json
@@ -6,12 +6,12 @@
},
"apihelp-flowthank-description": "Flow yorumu herkese açık bir teşekkür bildirimi gönderin.",
"apihelp-flowthank-summary": "Flow yorumu herkese açık bir teşekkür bildirimi gönderin.",
- "apihelp-flowthank-param-postid": "Yazının UUID'si için teşekkürü.",
+ "apihelp-flowthank-param-postid": "Gönderinizin UUID'si için teşekkürü.",
"apihelp-flowthank-example-1": "<kbd>UUID xyz789</kbd> ile yapılan yorum için teşekkür et",
"apihelp-thank-description": "Bir editöre teşekkür mesajı gönderin.",
"apihelp-thank-summary": "Bir editöre teşekkür mesajı gönderin.",
"apihelp-thank-param-rev": "Birine teşekkür revizyon kimliği. Bu veya 'log' sağlanmalıdır.",
"apihelp-thank-param-log": "Birine teşekkür için revizyon kimliği. Bu veya 'log' sağlanmalıdır.",
"apihelp-thank-param-source": "İsteğin kaynağını tanımlayan kısa bir dize, örneğin <kbd>diff</kbd> veya <kbd>history</kbd>.",
- "apihelp-thank-example-1": "<kbd>ID 456</kbd> revizyonu için teşekkürü, kaynak farklı bir sayfadır."
+ "apihelp-thank-example-1": "<kbd>ID 456</kbd> revizyonu için teşekkür gönderin, kaynak farklı bir sayfadır."
}
diff --git a/Thanks/i18n/api/vi.json b/Thanks/i18n/api/vi.json
index afacf975..62bc54d4 100644
--- a/Thanks/i18n/api/vi.json
+++ b/Thanks/i18n/api/vi.json
@@ -1,9 +1,18 @@
{
"@metadata": {
"authors": [
- "Minh Nguyen"
+ "Minh Nguyen",
+ "Nghiemtrongdai VN"
]
},
"apihelp-flowthank-description": "Gửi lời cảm ơn công khai vì một bình luận Flow.",
- "apihelp-thank-param-rev": "Số thay đổi để cảm ơn ai đó. Cần cung cấp số này hoặc “log”."
+ "apihelp-flowthank-summary": "Gửi lời cảm ơn công khai vì một bình luận Flow.",
+ "apihelp-flowthank-param-postid": "UUID của bài viết để cảm ơn.",
+ "apihelp-flowthank-example-1": "Gửi lời cảm ơn về nhận xét với <kbd>UUID xyz789</kbd>",
+ "apihelp-thank-description": "Gửi thông báo cảm ơn đến một biên tập viên.",
+ "apihelp-thank-summary": "Gửi thông báo cảm ơn đến một biên tập viên.",
+ "apihelp-thank-param-rev": "Số thay đổi để cảm ơn ai đó. Cần cung cấp số này hoặc “log”.",
+ "apihelp-thank-param-log": "Đăng nhập ID để cảm ơn ai đó. Cái này hoặc 'vòng quay' phải được cung cấp.",
+ "apihelp-thank-param-source": "Ví dụ: một chuỗi ngắn mô tả nguồn của yêu cầu <kbd>khác</kbd> hay <kbd>lịch sử</kbd>.",
+ "apihelp-thank-example-1": "Gửi lời cảm ơn vì đã sửa đổi <kbd>ID 456</kbd>, với nguồn là một trang khác"
}
diff --git a/Thanks/i18n/ar.json b/Thanks/i18n/ar.json
index 787d4772..32d6ccd5 100644
--- a/Thanks/i18n/ar.json
+++ b/Thanks/i18n/ar.json
@@ -4,6 +4,7 @@
"ASammour",
"Abanima",
"Asaifm",
+ "FShbib",
"Macofe",
"Maroen1990",
"Meno25",
@@ -29,7 +30,7 @@
"thanks-button-action-completed": "أنت {{GENDER:$1|{{GENDER:$2|شكرت}}}} $1",
"thanks-error-undefined": "فشل الشكر، (رمز العطل: $1) {{GENDER:|حاول|حاولي|حاولوا}} مجددًا.",
"thanks-error-invalid-log-id": "إدخال السجل غير موجود",
- "thanks-error-invalid-log-type": "نوع السجل '$1' ليس في القائمة البيضاء لأنواع السجلات المسموح بها.",
+ "thanks-error-invalid-log-type": "نوع السجل '$1' ليس في قائمة أنواع السجلات المسموح بها.",
"thanks-error-log-deleted": "مدخلة السجل المطلوبة تم حذفها ولا يمكن إعطاء شكر عليها.",
"thanks-error-invalidrevision": "مُعرِّف المراجعة غير صحيح.",
"thanks-error-revdeleted": "غير قادر على إرسال شكرا لأنه قد تم حذف المراجعة.",
@@ -51,7 +52,7 @@
"echo-pref-tooltip-edit-thank": "أخطرني عندما يشكرني أحدهم على تعديل قمت به.",
"echo-category-title-edit-thank": "شكر",
"notification-thanks-diff-link": "تعديلك",
- "notification-header-rev-thank": "$1 شكر{{GENDER:$2||ت}}ك على {{GENDER:$4|تعديلك}} في <strong>$3</strong>.",
+ "notification-header-rev-thank": "{{GENDER:$2|شكرك|شكرتك}} $1 على {{GENDER:$4|تعديلك}} في <strong>$3</strong>.",
"notification-header-creation-thank": "$1 {{GENDER:$2|شكر|شكرت}}{{GENDER:$4|ك}} على إنشائك <strong>$3</strong>.",
"notification-header-log-thank": "$1 {{GENDER:$2|شكر|شكرت}}{{GENDER:$4|ك}} لفعلك المرتبط ب<strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$2|شكر}}{{GENDER:$3|ك}}.",
@@ -72,5 +73,6 @@
"notification-flow-thanks-post-link": "تعليقك",
"notification-header-flow-thank": "{{GENDER:$2|شكرك|شكرتك}} $1 {{GENDER:$5|لتعليقك}} على \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|شكر}}{{GENDER:$3|ك}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|شخص واحد|$1 شخص|100=99+ شخص}} {{GENDER:$3|شكرك}} على تعليقك في \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|شخص واحد|$1 شخص|100=99+ شخص}} {{GENDER:$3|شكرك}} على تعليقك في \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "جارٍ إرسال الشكر"
}
diff --git a/Thanks/i18n/arn.json b/Thanks/i18n/arn.json
new file mode 100644
index 00000000..5f236b92
--- /dev/null
+++ b/Thanks/i18n/arn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manke ruLpa"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|mañumtuku}}}}"
+}
diff --git a/Thanks/i18n/ary.json b/Thanks/i18n/ary.json
index 7709aa25..6413c08c 100644
--- a/Thanks/i18n/ary.json
+++ b/Thanks/i18n/ary.json
@@ -1,9 +1,13 @@
{
"@metadata": {
"authors": [
+ "Ideophagous",
+ "Reda Benkhadra",
"SADIQUI"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|شكر}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|صيفط|صيفطي}} إشعار شكر ل{{GENDER:$2|هاد المستخدم|هاد المستخدمة}}"
+ "thanks-thank-tooltip": "{{GENDER:$1|صيفط|صيفطي}} إشعار شكر ل{{GENDER:$2|هاد لخدايمي|هاد لخدايمية}}",
+ "notification-header-rev-thank": "$1 شكر{{GENDER:$2||ات}}ك على {{GENDER:$4|تبديل ديالك}} ف <strong>$3</strong>.",
+ "notification-header-flow-thank": "{{GENDER:$2|شكرك|شكراتك}} $1 على {{GENDER:$5|تعليق ديالك}} ف \"<strong>$3</strong>\"."
}
diff --git a/Thanks/i18n/as.json b/Thanks/i18n/as.json
index 489d0607..096a9173 100644
--- a/Thanks/i18n/as.json
+++ b/Thanks/i18n/as.json
@@ -8,14 +8,25 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ধন্যবাদ}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ধন্যবাদ জনাইছে}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|ধন্যবাদ}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|ধন্যবাদ জনাইছে}}}}",
+ "thanks-button-action-queued": "$1-ক {{GENDER:$1|{{GENDER:$2|ধন্যবাদ জনোৱা হৈছে}}}}…",
+ "thanks-button-action-cancel": "বাতিল কৰক",
+ "thanks-button-action-completed": "আপুনি $1-ক {{GENDER:$1|{{GENDER:$2|ধন্যবাদ জনালে}}}}",
"thanks-error-notloggedin": "বেনামী ব্যৱহাৰকাৰীসকলে ধন্যবাদ পঠিয়াব নোৱাৰে",
"thanks-thank-tooltip": "এই {{GENDER:$2|সদস্যলৈ}} এটা ধন্যবাদ বাৰ্তা {{GENDER:$1|পঠিয়াওক}}",
- "thanks-confirmation2": "সকলো ধন্যবাদ ৰাজহুৱা। ধন্যবাদ {{GENDER:$1|জনাব}}?",
+ "thanks-confirmation2": "ৰাজহুৱাকৈ ধন্যবাদ {{GENDER:$1|জনাব}}?",
"thanks": "ধন্যবাদ জ্ঞাপন কৰক",
"thanks-submit": "ধন্যবাদ জ্ঞাপন কৰক",
"echo-category-title-edit-thank": "ধন্যবাদ",
+ "notification-thanks-diff-link": "আপোনাৰ সম্পাদনা",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|এজন ব্যক্তিয়ে|$1জন ব্যক্তিয়ে|100=৯৯জনতকৈ অধিক ব্যক্তিয়ে}} আপুনি <strong>$2</strong>-ত কৰা সম্পাদনাটোৰ বাবে {{GENDER:$3|আপোনা}}ক ধন্যবাদ জনাইছে।",
+ "log-name-thanks": "ধন্যবাদ লগ",
+ "logeventslist-thanks-log": "ধন্যবাদ লগ",
"thanks-error-no-id-specified": "ধন্যবাদ পঠিয়াবলৈ আপুনি এটা সংশোধন বা লগ আই ডি উল্লেখ কৰিব লাগিব।",
"thanks-confirmation-special-rev": "আপুনি এই সম্পাদনাটোৰ বাবে ৰাজহুৱাকৈ ধন্যবাদ জ্ঞাপন কৰিব খুজিছে?",
"notification-link-text-view-post": "মন্তব্য দেখুৱাওক",
- "notification-flow-thanks-post-link": "আপোনাৰ মন্তব্য"
+ "notification-flow-thanks-post-link": "আপোনাৰ মন্তব্য",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|এজন ব্যক্তিয়ে|$1জন ব্যক্তিয়ে|100=৯৯জনতকৈ অধিক ব্যক্তিয়ে}} আপুনি <strong>$2</strong>-ত দিয়া মন্তব্যটোৰ বাবে {{GENDER:$3|আপোনা}}ক ধন্যবাদ জনাইছে।"
}
diff --git a/Thanks/i18n/az.json b/Thanks/i18n/az.json
index 2f27c5e6..c1f51123 100644
--- a/Thanks/i18n/az.json
+++ b/Thanks/i18n/az.json
@@ -5,6 +5,7 @@
"Dağlı95",
"Interfase",
"Khan27",
+ "NMW03",
"Serkanland",
"Toghrul Rahimli",
"Wertuose"
@@ -12,15 +13,15 @@
},
"thanks-desc": "İstifadəçilərin redaktələrinə, şərhlərinə və s. görə minnətdarlıq üçün keçidləri əlavə edir",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|təşəkkür}}}}",
- "thanks-thanked": "{{GENDER:$1|təşəkkür edildi}}",
- "thanks-button-thank": "{{GENDER:$1|Təşəkkür}}",
- "thanks-button-thanked": "{{GENDER:$1|Təşəkkür edildi}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|təşəkkür edildi}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Təşəkkür}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Təşəkkür edildi}}}}",
"thanks-button-action-queued": "$1 adlı istifadəçiyə {{GENDER:$1|{{GENDER:$2|təşəkkür edilir}}}}…",
"thanks-button-action-cancel": "İmtina",
"thanks-button-action-completed": "Siz $1 adlı istifadəçiyə {{GENDER:$1|{{GENDER:$2|təşəkkür }}}} etdiniz",
- "thanks-error-undefined": "Təşəkkür bildirişinin göndərilməsi alınmadı. Xahiş edirik, yenidən cəhd edin.",
+ "thanks-error-undefined": "Təşəkkür etmək mümkün olmadı (xəta kodu: $1). Xahiş edirik, yenidən cəhd edin.",
"thanks-thank-tooltip": "Bu {{GENDER:$2|istifadəçiyə}} təşəkkür bildirişi {{GENDER:$1|göndər}}.",
- "thanks-confirmation2": "Bu dəyişiklik üçün təşəkkür göndərilsin?",
+ "thanks-confirmation2": "Açıq şəkildə təşəkkür {{GENDER:$1|göndərilsin}}?",
"thanks-thanked-notice": "{{GENDER:$3|Siz}} {{GENDER:$2|$1}} adlı istifadəçiyə təşəkkür etdiniz.",
"thanks": "Təşəkkür göndər",
"thanks-submit": "Təşəkkür göndər",
@@ -28,10 +29,12 @@
"echo-category-title-edit-thank": "Təşəkkürlər",
"notification-thanks-diff-link": "redaktəniz",
"notification-header-rev-thank": "$1 '''$3''' səhifəsindəki redaktənizə görə {{GENDER:$4|sizə}} {{GENDER:$2|təşəkkür etdi}}.",
- "notification-header-creation-thank": "$1 <strong>$3</strong> səhifəsini yaratdığınıza görə sizə {{GENDER:$2|təşəkkür etdi}}.",
+ "notification-header-creation-thank": "$1 <strong>$3</strong> səhifəsini yaratdığınıza görə {{GENDER:$4|sizə}} {{GENDER:$2|təşəkkür etdi}}.",
"notification-header-log-thank": "$1 <strong>$3</strong> səhifəsi ilə əlaqəli etdiyiniz fəaliyyətə görə {{GENDER:$4|sizə}} {{GENDER:$2|təşəkkür etdi}}.",
- "notification-bundle-header-log-thank": "{{PLURAL:$1|$1 nəfər|$1 nəfər|$1 nəfər|100=99+ nəfər}} <strong>$2</strong> səhifəsi ilə əlaqəli etdiyiniz fəaliyyətə görə {{GENDER:$4|sizə}} təşəkkür etdi..",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|Bir nəfər|$1 nəfər|100=99+ nəfər}} <strong>$2</strong> səhifəsi ilə əlaqəli etdiyiniz fəaliyyətə görə {{GENDER:$3|sizə}} təşəkkür etdi.",
+ "log-name-thanks": "Təşəkkür qeydləri",
"logentry-thanks-thank": "$1 {{GENDER:$2}}, {{GENDER:$4|$3}} istifadəçisinə təşəkkür etdi.",
+ "logeventslist-thanks-log": "Təşəkkür qeydləri",
"thanks-confirmation-special-log": "Bu fəaliyyət üçün təşəkkür göndərilsin?",
"thanks-confirmation-special-rev": "Bu redaktə üçün təşəkkür göndərilsin?",
"flow-thanks-confirmation-special": "Bu şərh üçün təşəkkür göndərilsin?"
diff --git a/Thanks/i18n/ban-bali.json b/Thanks/i18n/ban-bali.json
new file mode 100644
index 00000000..b9d9968c
--- /dev/null
+++ b/Thanks/i18n/ban-bali.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chinamoonroll"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ᬫᬢᬸᬃᬲᬸᬓ᭄ᬲ᭄ᬫ}}}}"
+}
diff --git a/Thanks/i18n/ban.json b/Thanks/i18n/ban.json
index 8fb5007b..1bade5a7 100644
--- a/Thanks/i18n/ban.json
+++ b/Thanks/i18n/ban.json
@@ -1,10 +1,63 @@
{
"@metadata": {
"authors": [
+ "Chinamoonroll",
"Luh Gede Krismayanti",
"NoiX180"
]
},
+ "thanks-desc": "Minambahin pranala antuk ngaturang suksema majeng sang anganggé antuk uahan, cawisan, msl.",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|matur suksema}}}}",
- "thanks-thank-tooltip": "\n{{GENDER:$1|Kirim}} atur piuning ngaturang suksma majeng ring {{GENDER:$2|pangawi}}"
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|kaaturang suksema}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Matur suksema}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Kaaturang suksema}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Kantun ngaturang kasih}}}} majeng $1…",
+ "thanks-button-action-cancel": "Wangdé",
+ "thanks-button-action-completed": "Ida sampun {{GENDER:$1|{{GENDER:$2|ngaturang suksma}}}} majeng $1",
+ "thanks-error-undefined": "Kriiman matur suksema gagal (kodé galat:$1). Durus coba malih.",
+ "thanks-error-invalid-log-id": "Dagingan log nénten katemu",
+ "thanks-error-invalid-log-type": "Log soroh '$1' nénten wénten ring lis putih jenis log sané kalugra.",
+ "thanks-error-log-deleted": "Dagingan log sané katunas sampun kausap miwah nénten prasida kaica matur suksema.",
+ "thanks-error-invalidrevision": "ID révisi nénten patut.",
+ "thanks-error-revdeleted": "Tan prasida ngirim matur suksma mawinan révisi sampun kausap.",
+ "thanks-error-notitle": "Murda kaca tan prasida kasinahang",
+ "thanks-error-invalidrecipient": "Tan prasida nemuin panampi sané patut",
+ "thanks-error-invalidrecipient-bot": "Bot tan prasida kaaturang suksema",
+ "thanks-error-invalidrecipient-self": "Ida tan prasida ngaturang suksema antuk ngaraga",
+ "thanks-error-notloggedin": "Anganggé anonim tan prasida ngaturang suksma",
+ "thanks-error-ratelimited": "{{GENDER:$1|Ida}} sampun ngaliwatin wates Ida. Durus jantos ajebos miwah coba malih.",
+ "thanks-error-api-params": "Paraméter 'revid' utawi 'logid' patut kaicain",
+ "thanks-thank-tooltip": "{{GENDER:$1|Kirim}} atur piuning ngaturang suksma majeng ring {{GENDER:$2|pangawi}}",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|Wangdé}} panginget matur suksema",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Kirim}} panginget matur suksma",
+ "thanks-confirmation2": "{{GENDER:$1|Kirim}} matur suksma?",
+ "thanks-thanked-notice": "{{GENDER:$3|Ida}} ngaturang suksma majeng {{GENDER:$2|$1}}",
+ "thanks": "Kirim matur suksma",
+ "thanks-submit": "Kirim matur suksma",
+ "echo-pref-subscription-edit-thank": "Ngaturang suksma majeng tiang antuk uahan titiang",
+ "echo-pref-tooltip-edit-thank": "Élingin tiang ri kala satunggil jadma ngaturang suksema majeng tiang antuk uahan sané kakardi tiang.",
+ "echo-category-title-edit-thank": "Suksma",
+ "notification-thanks-diff-link": "uahan Ida",
+ "notification-header-rev-thank": "$1 sampun {{GENDER:$2|ngaturang suksma}} majeng {{GENDER:$4|Ida}} antuk uahan ring <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 sampun {{GENDER:$2|ngaturang suksma majeng}} {{GENDER:$4|Ida}} antuk pangardian <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 sampun {{GENDER:$2|ngaturang suksma majeng}} {{GENDER:$4|Ida}} antuk tatindakan Ida kakait sareng <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 sampun {{GENDER:$2|ngaturang suksma}} majeng {{GENDER:$3|Ida}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Ajadma|$1 jadma|100=99+ jadma}} sampun ngaturang suksma majeng {{GENDER:$3|Ida}} antuk uahan ring <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|Ajadma|$1 jadma|100=99+ jadma}} sampun ngaturang suksma majeng {{GENDER:$3|Ida}} antuk tatindakan ring <strong>$2</strong>.",
+ "log-name-thanks": "Log suksma",
+ "log-description-thanks": "Ring metén puniki lis sang anganggé sané kaaturang suksma saking sang anganggé tiosan.",
+ "logentry-thanks-thank": "$1 sampun {{GENDER:$2|ngaturang suksma}} majeng {{GENDER:$4|$3}}.",
+ "logeventslist-thanks-log": "Log suksma",
+ "thanks-error-no-id-specified": "Ida patut nentuang ID pauahan ataulog antuk ngirimang matur suksma.",
+ "thanks-confirmation-special-log": "Napiké Ida jagi ngirimang suksma publik antuk tatindakan log puniki?",
+ "thanks-confirmation-special-rev": "Napiké Ida jagi ngirimang suksma publik antuk uahan puniki?",
+ "notification-link-text-view-post": "Cingak penampen",
+ "notification-link-text-view-logentry": "Cingak log dagingan",
+ "thanks-error-invalidpostid": "ID posting nénten patut.",
+ "flow-thanks-confirmation-special": "Napiké Ida jagi ngirimang suksma publik antuk cawisan puniki?",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Ida}} sampun ngaturang suksma majeng $1 antuk cawisan{{GENDER:$2|nyané}}.",
+ "notification-flow-thanks-post-link": "penampen ragané",
+ "notification-header-flow-thank": "$1 sampun {{GENDER:$2|ngaturang suksma}} majeng {{GENDER:$5|Ida}} antuk cawisan ring\"<strong>$3</strong>\".",
+ "notification-compact-header-flow-thank": "$1 sampun {{GENDER:$2|ngaturang suksma}} majeng {{GENDER:$3|Ida}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Ajadma|$1 jadma|100=99+ jadma}} sampun ngaturang suksma majeng {{GENDER:$3|Ida}} antuk cawisan ring <strong>$2</strong>."
}
diff --git a/Thanks/i18n/bbc-latn.json b/Thanks/i18n/bbc-latn.json
index dd5affee..c06a59a2 100644
--- a/Thanks/i18n/bbc-latn.json
+++ b/Thanks/i18n/bbc-latn.json
@@ -5,5 +5,5 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|marhamauliateon}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Tongos}} sada hamauliateon tu {{GENDER:$2|pamangke}} ni on"
+ "thanks-thank-tooltip": "{{GENDER:$1|Tongos}} sada hamauliateon tu {{GENDER:$2|panghasea}} ni on"
}
diff --git a/Thanks/i18n/bci.json b/Thanks/i18n/bci.json
new file mode 100644
index 00000000..c2022754
--- /dev/null
+++ b/Thanks/i18n/bci.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kjeanclaude"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|}}lé i assé{{GENDER:$2|}}"
+}
diff --git a/Thanks/i18n/bcl.json b/Thanks/i18n/bcl.json
index 9192aba2..e5adf729 100644
--- a/Thanks/i18n/bcl.json
+++ b/Thanks/i18n/bcl.json
@@ -1,9 +1,10 @@
{
"@metadata": {
"authors": [
+ "Daramlagon",
"ShimunUfesoj"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|mabalos}}}}",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|pasalamatan}}}}",
"thanks-thank-tooltip": "{{GENDER:$1|Magpadara}} nin sarong abiso nin pasasalamat sa {{GENDER:$2|paragamit}} na ini"
}
diff --git a/Thanks/i18n/be-tarask.json b/Thanks/i18n/be-tarask.json
index 3c55eac2..998a00e9 100644
--- a/Thanks/i18n/be-tarask.json
+++ b/Thanks/i18n/be-tarask.json
@@ -17,7 +17,7 @@
"thanks-button-action-completed": "Вы {{GENDER:$1|{{GENDER:$2|падзякавалі}}}} $1",
"thanks-error-undefined": "Не атрымалася падзякаваць (код памылкі: $1). Калі ласка, паспрабуйце яшчэ раз.",
"thanks-error-invalid-log-id": "Запіс журналу ня знойдзены",
- "thanks-error-invalid-log-type": "Тып журналу «$1» адсутнічае ў белым сьпісе дазволеных.",
+ "thanks-error-invalid-log-type": "Тып журналу «$1» адсутнічае ў сьпісе дазволеных.",
"thanks-error-log-deleted": "Запытаны запіс журналу быў выдалены, і за яго немагчыма падзякаваць.",
"thanks-error-invalidrevision": "Няслушны ідэнтыфікатар вэрсіі",
"thanks-error-revdeleted": "Немагчыма адаслаць падзяку, бо вэрсія была выдаленая.",
diff --git a/Thanks/i18n/be.json b/Thanks/i18n/be.json
index 05527127..ba2217fc 100644
--- a/Thanks/i18n/be.json
+++ b/Thanks/i18n/be.json
@@ -6,6 +6,9 @@
"Maksim L.",
"Mechanizatar",
"Mikalai Udodau",
+ "No Sleep till Krupki",
+ "Tomato Cream",
+ "ZlyiLev",
"Дзяніс Тутэйшы",
"Чаховіч Уладзіслаў"
]
@@ -15,11 +18,29 @@
"thanks-thanked": "{{GENDER:$2|{{GENDER:$1|падзякаваў|падзякавала}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Дзякуй}}}}",
"thanks-button-thanked": "{{GENDER:$2|{{GENDER:$1|Падзякаваў|Падзякавала}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Дзякуем}}}} $1...",
+ "thanks-button-action-cancel": "Адмена",
+ "thanks-button-action-completed": "{{GENDER:$2|{{GENDER:$1|падзякаваў|падзякавала}}}} $1",
"thanks-error-undefined": "На атрымалася падзякаваць (код памылкі: $1). Паспрабуйце зноў.",
+ "thanks-error-invalid-log-id": "Запіс журналу не знойдзены",
+ "thanks-error-invalid-log-type": "Тып журналу «$1» адсутнічае ў спісе дазволеных тыпаў.",
+ "thanks-error-log-deleted": "Запытаны запіс журналу быў выдалены, і за яго немагчыма падзякаваць.",
"thanks-error-invalidrevision": "Недапушчальны нумар версіі.",
+ "thanks-error-revdeleted": "Немагчыма адаслаць падзяку, бо версія была выдаленая.",
+ "thanks-error-notitle": "Немагчыма атрымаць назву старонкі",
+ "thanks-error-invalidrecipient": "Не знойдзены слушны атрымальнік",
+ "thanks-error-invalidrecipient-bot": "Робатам падзякаваць немагчыма",
+ "thanks-error-invalidrecipient-self": "Самім сабе дзякаваць нельга",
+ "thanks-error-notloggedin": "Ананімныя ўдзельнікі не могуць адсылаць падзякі",
"thanks-error-ratelimited": "{{GENDER:$1|Вы}} перавысілі абмежаванне хуткасці выканання такіх дзеянняў. Калі ласка, пачакайце некаторы час і паспрабуйце зноў.",
+ "thanks-error-api-params": "Мусіць быць пададзены адзін з параметраў «revid» ці «logid»",
"thanks-thank-tooltip": "{{GENDER:$1|Адправіць}} {{GENDER:$2|гэтаму ўдзельніку|гэтай удзельніцы}} паведамленне з падзякай",
- "thanks-thanked-notice": "$1 {{GENDER:$2|быў абвешчаны|была абвешчана|былі абвешчаны}}, што Вы падзякавалі за {{GENDER:$2|яго|яе|іх}} праўка.",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|Скасаваць}} паведамленне пра падзяку",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Адаслаць}} паведамленне пра падзяку",
+ "thanks-confirmation2": "{{GENDER:$1|Даслаць}} публічную падзяку?",
+ "thanks-thanked-notice": "{{GENDER:$3|Вы}} падзякавалі {{GENDER:$2|$1}}.",
+ "thanks": "Даслаць падзяку",
+ "thanks-submit": "Даслаць падзяку",
"echo-pref-subscription-edit-thank": "Дзякуй мне за маю праўку",
"echo-pref-tooltip-edit-thank": "Паведамляць мне, калі хтосьці дзякуе мяне за зробленую мной праўку.",
"echo-category-title-edit-thank": "Дзякуй",
@@ -27,10 +48,24 @@
"notification-header-rev-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$4|вам}} за вашу праўку на старонцы <strong>$3</strong>.",
"notification-header-creation-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$4|вам}} за стварэнне старонкі <strong>$3</strong>.",
"notification-header-log-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$4|Вам}} за дзеянне на старонцы <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$3|вам}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Адна асоба падзякавала|$1 асобаў падзякавалі|100=больш за 99 асобаў падзякавалі}} {{GENDER:$3|вам}} за праўку старонкі <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|$1 чалавек падзякаваў|$1 чалавекі падзякавалі|$1 чалавек падзякавала|100=99+ чалавек падзякавала}} {{GENDER:$3|Вам}} за дзеянне, якое адносіцца да старонцы «<strong>$2</strong>».",
"log-name-thanks": "Журнал падзяк",
"log-description-thanks": "Ніжэй прыведзены спіс удзельнікаў, якія атрымалі падзякі ад іншых удзельнікаў.",
"logentry-thanks-thank": "$1 {{GENDER:$2|падзякаваў удзель|падзякавала ўдзель}}{{GENDER:$4|ніку|ніцы}} $3",
"logeventslist-thanks-log": "Журнал падзяк",
- "notification-header-flow-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$5|вам}} за ваш каментарый у <strong>$3</strong>."
+ "thanks-error-no-id-specified": "Дзеля адсылкі падзякі неабходна пазначыць ID версіі ці журналу.",
+ "thanks-confirmation-special-log": "Вы хочаце даслаць публічную падзяку за гэтае дзеянне?",
+ "thanks-confirmation-special-rev": "Вы хочаце даслаць публічную падзяку за гэтую праўку?",
+ "notification-link-text-view-post": "Пабачыць камэнтар",
+ "notification-link-text-view-logentry": "Пабачыць запіс у журнале",
+ "thanks-error-invalidpostid": "Ідэнтыфікатар допісу памылковы.",
+ "flow-thanks-confirmation-special": "Вы хочаце даслаць публічную падзяку за гэты каментарый?",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Вы}} падзякавалі $1 за {{GENDER:$2|ягоны|ейны|іхні}} каментар.",
+ "notification-flow-thanks-post-link": "ваш каментар",
+ "notification-header-flow-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$5|вам}} за ваш каментарый у <strong>$3</strong>.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$2|падзякаваў|падзякавала}} {{GENDER:$3|вам}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Адна асоба падзякавала|$1 асобаў падзякавалі|100=больш за 99 асобаў падзякавалі}} {{GENDER:$3|вам}} за ваш каментар на старонцы «<strong>$2</strong>».",
+ "ipb-action-thanks": "Адпраўка падзякі"
}
diff --git a/Thanks/i18n/bjn.json b/Thanks/i18n/bjn.json
index c808cb98..0274e437 100644
--- a/Thanks/i18n/bjn.json
+++ b/Thanks/i18n/bjn.json
@@ -5,5 +5,9 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|batarima kasih}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Kirim}} sabuting pamadahan tarima kasih ka {{GENDER:$2|pamakai}} ngini"
+ "thanks-thank-tooltip": "{{GENDER:$1|Kirim}} sabuting pamadahan tarima kasih ka {{GENDER:$2|pamakai}} ngini",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Kirim}} pamadahan tarima kasih",
+ "echo-pref-tooltip-edit-thank": "Padahi ulun wayah sasaurang batarima kasih lawan ulun gasan babakan nang ulun ulah.",
+ "log-name-thanks": "Catatan tarima kasih",
+ "logeventslist-thanks-log": "Log tarima kasih"
}
diff --git a/Thanks/i18n/blk.json b/Thanks/i18n/blk.json
new file mode 100644
index 00000000..0c5a5e94
--- /dev/null
+++ b/Thanks/i18n/blk.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "咽頭べさ"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ကေꩻဇူꩻတင်ႏငါႏ}}}}"
+}
diff --git a/Thanks/i18n/bn.json b/Thanks/i18n/bn.json
index a6c3ff18..4680951b 100644
--- a/Thanks/i18n/bn.json
+++ b/Thanks/i18n/bn.json
@@ -63,5 +63,6 @@
"notification-flow-thanks-post-link": "আপনার মন্তব্য",
"notification-header-flow-thank": "<strong>$3</strong>-এ আপনার মন্তব্যের জন্য $1 {{GENDER:$5|আপনাকে}} {{GENDER:$2|ধন্যবাদ}} জানিয়েছেন।",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|আপনাকে}} {{GENDER:$2|ধন্যবাদ দিয়েছেন}}।",
- "notification-bundle-header-flow-thank": "\"<strong>$2</strong>\"-এ আপনার মন্তব্যের জন্য {{PLURAL:$1|একজন ব্যক্তি|$1 জন ব্যক্তি|100=৯৯+ জন ব্যক্তি}} {{GENDER:$3|আপনাকে}} ধন্যবাদ জানিয়েছেন।"
+ "notification-bundle-header-flow-thank": "\"<strong>$2</strong>\"-এ আপনার মন্তব্যের জন্য {{PLURAL:$1|একজন ব্যক্তি|$1 জন ব্যক্তি|100=৯৯+ জন ব্যক্তি}} {{GENDER:$3|আপনাকে}} ধন্যবাদ জানিয়েছেন।",
+ "ipb-action-thanks": "ধন্যবাদ পাঠানো"
}
diff --git a/Thanks/i18n/bpy.json b/Thanks/i18n/bpy.json
new file mode 100644
index 00000000..17d4bae1
--- /dev/null
+++ b/Thanks/i18n/bpy.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Usingha"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|থাকাত হারপু‌ৱাদে}}}}",
+ "thanks-thank-tooltip": "এরে {{GENDER:$2|আতাকুরাগিরে}} থাকাত {{GENDER:$1|দিয়া পেঠাদে}}"
+}
diff --git a/Thanks/i18n/br.json b/Thanks/i18n/br.json
index 1cf79dca..4b6f7c0b 100644
--- a/Thanks/i18n/br.json
+++ b/Thanks/i18n/br.json
@@ -3,22 +3,43 @@
"authors": [
"Fulup",
"Gwenn-Ael",
+ "Huñvreüs",
"Pymouss",
"VIGNERON",
"Y-M D"
]
},
- "thanks-desc": "Ouzhpenn trugarez liammoù en istor ha dif.",
+ "thanks-desc": "Ouzhpennañ a ra liammoù evit trugarekaat implijerien evit o c’hemmoù, evezhiadennoù, hag all.",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|trugarekaat}}}}",
- "thanks-thanked": "{{GENDER:$1|trugarekaet}}",
- "thanks-button-thank": "{{GENDER:$1|Trugarez}}",
- "thanks-button-thanked": "{{GENDER:$1|Trugarekaet}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|trugarekaet}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Trugarekaat}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Trugarekaet}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|O trugarekaat}}}} $1…",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|Trugarekaet}}}} ho peus $1",
+ "thanks-error-log-deleted": "Diverket eo bet an enmont marilh-mañ ha ne c’haller ket trugarekaat evitañ.",
+ "thanks-error-revdeleted": "Ne c’haller ket trugarekaat pegwir eo bet diverket ur stumm.",
+ "thanks-error-invalidrecipient-bot": "Ne c’haller ket trugarekaat ar robotoù",
+ "thanks-error-notloggedin": "Ne c’hall ket an implijerien dizanav kas trugarekadennoù",
"thanks-thank-tooltip": "{{GENDER:$1|Kas}} ur c'hemenn trugarekaat d'an {{GENDER:$2|implijer-mañ|implijerez-mañ}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|Nullañ}} ar c'hemenn trugarekaat",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Kas}} ar c'hemenn trugarekaat",
- "thanks-confirmation2": "{{GENDER:$1|Trugarekaat}} evit ar c'hemm-mañ ?",
+ "thanks-confirmation2": "{{GENDER:$1|Trugarekaat}} war-wel evit ar c'hemm-mañ ?",
+ "thanks-thanked-notice": "Trugarekaet {{GENDER:$3|ho peus}} {{GENDER:$2|$1}}.",
+ "thanks-submit": "Kas trugarekadennoù",
+ "echo-pref-tooltip-edit-thank": "Kemennit ac’hanon pa gas unan bennak trugarekadennoù evit ur c’hemm graet ganin.",
"echo-category-title-edit-thank": "Trugarez",
"notification-thanks-diff-link": "ho kemm",
- "notification-header-rev-thank": "$1 a drugareka ac'hanoc'h evit ho kemm war <strong>$3</strong>.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|en deus|he deus}} trugarekaet {{GENDER:$4|$3}}"
+ "notification-header-rev-thank": "$1 {{GENDER:$2|en|he}} deus trugarekaet {{GENDER:$4|ac'hanoc'h}} evit ho kemm war <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 {{GENDER:$2|en|he}} deus trugarekaet {{GENDER:$4|ac’hanoc’h}} evit hoc’h ober a-zivout <strong>$3</strong>.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Un den en|$1 tud o}} deus trugarekaet {{GENDER:$3|ac’hanoc’h}} evit ho kemm war <strong>$2</strong>.",
+ "log-name-thanks": "Marilh an trugarekadennoù",
+ "log-description-thanks": "Setu ur roll an implijerien trugarekaet gant implijerien all.",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|en deus|he deus}} trugarekaet {{GENDER:$4|$3}}",
+ "logeventslist-thanks-log": "Marilh an trugarekadennoù",
+ "thanks-error-no-id-specified": "Rankout a rit diuzañ anaouder ur stumm pe marilh evit kas trugarekadenoù.",
+ "thanks-confirmation-special-rev": "Fellout a ra deoc’h trugarekaat evit ar c’hemm-mañ en un doare foran?",
+ "flow-thanks-confirmation-special": "Fellout a ra deoc’h trugarekaat evit an evezhiadenn-mañ en un doare foran?",
+ "notification-header-flow-thank": "$1 {{GENDER:$2|en|he}} deus trugarekaet {{GENDER:$5|ac’hanoc’h}} evit hoc’h evezhiadenn e \"<strong>$3</strong>\".",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Un den en|$1 den o|100=99+ tud o}} deus trugarekaet {{GENDER:$3|ac’hanac’h}} evit hoc’h evezhiadenn e \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Kas trugarekadennoù"
}
diff --git a/Thanks/i18n/bs.json b/Thanks/i18n/bs.json
index 8ac657e8..7f5ab421 100644
--- a/Thanks/i18n/bs.json
+++ b/Thanks/i18n/bs.json
@@ -5,7 +5,8 @@
"Edinwiki",
"KWiki",
"Macofe",
- "Srdjan m"
+ "Srdjan m",
+ "Srđan"
]
},
"thanks-desc": "Dodaje mogućnost zahvaljivanja korisnicima za izmjene, komentare, itd.",
@@ -32,6 +33,7 @@
"echo-category-title-edit-thank": "Zahvale",
"notification-thanks-diff-link": "vašoj izmjeni",
"notification-header-rev-thank": "$1 Vam se {{GENDER:$2|zahvalio|zahvalila}} na {{GENDER:$4|Vašoj}} izmjeni stranice <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$2|zahvalio|zahvalila|zahvalio/-la}} {{GENDER:$4|Vam}} se na stvaranju stranice <strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$3|Vam}} se {{GENDER:$2|zahvalio|zahvalila}}.",
"log-name-thanks": "Zapisnik zahvalnica",
"log-description-thanks": "Ispod se nalazi spisak korisnika kojima su se drugi korisnici zahvalili.",
diff --git a/Thanks/i18n/ca.json b/Thanks/i18n/ca.json
index 65ad70c3..586a8d13 100644
--- a/Thanks/i18n/ca.json
+++ b/Thanks/i18n/ca.json
@@ -3,6 +3,7 @@
"authors": [
"F3RaN",
"Fitoschido",
+ "Jmarchn",
"KRLS",
"Macofe",
"Paucabot",
@@ -19,7 +20,7 @@
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Agraït|Agraïda}}}}",
"thanks-error-undefined": "L'agraïment ha fallat (codi d'error: $1). Torneu a intentar-ho.",
"thanks-error-invalidrevision": "L'identificador de revisió no és vàlid.",
- "thanks-error-revdeleted": "La revisió ha estat suprimit",
+ "thanks-error-revdeleted": "No es pot enviar l'agraïment perquè la revisió s'ha suprimit.",
"thanks-error-notitle": "El títol de la pàgina no s'ha pogut recuperar",
"thanks-error-invalidrecipient": "No s'ha trobat un destinatari vàlid",
"thanks-error-invalidrecipient-bot": "No es pot agrair els bots",
@@ -29,8 +30,8 @@
"thanks-thank-tooltip": "{{GENDER:$1|Envia}} una notificació d'agraïment a {{GENDER:$2|aquest usuari|aquesta usuària}}.",
"thanks-thank-tooltip-no": "{{GENDER:$1|Cancel·la}} la notificació d'agraïment",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Envia}} la notificació d'agraïment",
- "thanks-confirmation2": "Tots els agraïments són públics. Voleu {{GENDER:$1|enviar-ne}} un?",
- "thanks-thanked-notice": "$1 ha rebut el vostre agraïment per {{GENDER:$2|la seva}} edició.",
+ "thanks-confirmation2": "{{GENDER:$1|Enviar}} públicament l'agraïment?",
+ "thanks-thanked-notice": "{{GENDER:$3|Vau agrair}} a {{GENDER:$2|$1}}.",
"thanks": "Agraeix",
"thanks-submit": "Agraeix",
"echo-pref-subscription-edit-thank": "Agraeix la meva edició",
@@ -43,11 +44,11 @@
"log-name-thanks": "Registre d'agraïments",
"log-description-thanks": "A continuació teniu una llista d'usuaris agraïts per part d'altres usuaris.",
"logentry-thanks-thank": "$1 {{GENDER:$2|ha agraït}} {{GENDER:$4|$3}}",
- "thanks-error-no-id-specified": "Heu d'especificar una revisió ID per enviar les gràcies.",
+ "thanks-error-no-id-specified": "Heu d'especificar una revisió o un identificador de registre per enviar l'agraïment.",
"notification-link-text-view-post": "Mostra el comentari",
"thanks-error-invalidpostid": "Post ID no és vàlid.",
"flow-thanks-confirmation-special": "Voleu agrair públicament aquest comentari?",
- "flow-thanks-thanked-notice": "$1 ha rebut el vostre agraïment pel {{GENDER:$2|seu|seu|seu}} comentari.",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Heu}} agraït $1 pel comentari d'{{GENDER:$2|ell|ella|ells}}.",
"notification-flow-thanks-post-link": "el vostre comentari",
"notification-header-flow-thank": "$1 {{GENDER:$5|us}} {{GENDER:$2|agraeix}} el comentari a «<strong>$3</strong>».",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|us}} {{GENDER:$2|ha agraït}}.",
diff --git a/Thanks/i18n/ce.json b/Thanks/i18n/ce.json
index 1d076907..20333ecc 100644
--- a/Thanks/i18n/ce.json
+++ b/Thanks/i18n/ce.json
@@ -10,9 +10,9 @@
"thanks-thanked": "{{GENDER:$1|Баркалла аьлла}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Баркалла}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Баркалла аьлла}}}}",
- "thanks-error-undefined": "Баркалла ала тар цаделира. ЮхагӀорта.",
+ "thanks-error-undefined": "Баркалла ала тар цаделира. ЙухагӀорта.",
"thanks-error-invalidrevision": "Версин нийса йоцу номер.",
- "thanks-error-ratelimited": "{{GENDER:$1|Ахьа}} тӀех дукха и дийна. Дехар до, сабардина юхагӀорта.",
+ "thanks-error-ratelimited": "{{GENDER:$1|Ахьа}} тӀех дукха и дийна. Дехар до, жимӀийна йухагӀорта.",
"thanks-thank-tooltip": "{{GENDER:$1|Бахьийта}} {{GENDER:$2|хӀокху декъашхочунга}} баркаллин хаам",
"thanks-confirmation2": "ХӀара нисдар дарна баркалла {{GENDER:$1|дӀадохьуьйтий}}?",
"thanks-thanked-notice": "$1 {{GENDER:$2|хаам бина}}, {{GENDER:$2|цуна|цера}} нисдар хаза хетта аьлла.",
@@ -22,13 +22,13 @@
"echo-pref-tooltip-edit-thank": "Хаийта соьга, цхьам баркалла аьлча.",
"echo-category-title-edit-thank": "Баркалла",
"notification-thanks-diff-link": "нисдар",
- "notification-header-rev-thank": "$1 {{GENDER:$2|хьуна}} {{GENDER:$4|баркалла аьлла}} $3 хӀара агӀо таярна.",
+ "notification-header-rev-thank": "$1 {{GENDER:$2|хьуна}} {{GENDER:$4|баркалла аьлла}} $3 хӀара агӀо тайарна.",
"notification-header-creation-thank": "$1 {{GENDER:$4|хьуна}} {{GENDER:$2|баркалла аьлла}} <strong>$3</strong> агӀо кхолларна.",
"log-name-thanks": "Баркаллийн тептар",
"log-description-thanks": "Кхечу декъашхоша баркалла аьлла болу декъашхой чохь болу тептар.",
"logentry-thanks-thank": "{{GENDER:$4|декъашхочуна}} $3 $1 {{GENDER:$2|баркалла аьла}}",
"logeventslist-thanks-log": "Баркаллийн тептар",
- "thanks-error-no-id-specified": "Баркалла дӀадахьийта нисдаран ID билгаляккха еза.",
+ "thanks-error-no-id-specified": "Баркалла дӀадахьийта нисдаран ID билгалйаккха йеза.",
"notification-link-text-view-post": "Хьажа къамеле",
"thanks-error-invalidpostid": "Хааман магийна доцу ID.",
"flow-thanks-confirmation-special": "Лаьий хьуна баркалла ала?",
diff --git a/Thanks/i18n/ckb.json b/Thanks/i18n/ckb.json
index bc46d042..614570b9 100644
--- a/Thanks/i18n/ckb.json
+++ b/Thanks/i18n/ckb.json
@@ -1,9 +1,11 @@
{
"@metadata": {
"authors": [
+ "Aram",
"Asoxor",
"Calak",
"Macofe",
+ "Roj im",
"Épine",
"ئارام بکر"
]
@@ -14,32 +16,32 @@
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|سپاس بکە}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|سپاسی لێ کرا}}}}",
"thanks-button-action-cancel": "ھەڵوەشاندنەوە",
- "thanks-error-undefined": "سپاسکردن سەرکەوتوو نەبوو. تکایە دیسان ھەوڵ بدەوە.",
+ "thanks-error-undefined": "کردەوەی سپاسکردن سەرکەوتوو نەبوو (کۆدی ھەڵە: $1). تکایە دیسان ھەوڵ بدەوە.",
"thanks-error-invalidrevision": "پێداچوونەوەی پێناسە نادروستە.",
"thanks-error-ratelimited": "{{GENDER:$1|تۆ}} زیاتر لە سنووری خێرایی چووی. تکایە ھەندێک ڕاوەستە و دیسان ھەوڵ بدەوە.",
"thanks-thank-tooltip": "ئاگادارییەکی سپاس بۆ ئەم {{GENDER:$2|بەکارھێنەرە}} {{GENDER:$1|بنێرە}}",
"thanks-thank-tooltip-no": "ئاگاداریی سپاس {{GENDER:$1|ھەڵوەشێنەرەوە}}",
"thanks-thank-tooltip-yes": "ئاگاداریی سپاس {{GENDER:$1|بنێرە}}",
- "thanks-confirmation2": "ئاشکرا سپاسی ئەم دەستکارییە {{GENDER:$1|دەکەیت؟}}",
- "thanks-thanked-notice": "$1 سپاسەکەت بۆ دەستکارییەکە{{GENDER:$2|ی|ی|ی}} وەردەگرێت.",
- "thanks": "سپاس بکە",
- "thanks-submit": "سپاس بکە",
+ "thanks-confirmation2": "ئاشکرا سپاسەکان {{GENDER:$1|دەنێریت}}؟",
+ "thanks-thanked-notice": "{{GENDER:$3|تۆ}} سپاسی {{GENDER:$2|$1}}ت کرد.",
+ "thanks": "سپاسی بکە",
+ "thanks-submit": "سپاسی بکە",
"echo-pref-subscription-edit-thank": "بۆ دەستکارییەکم سپاسم بکە",
"echo-pref-tooltip-edit-thank": "کاتێک یەکێک بۆ دەستکارییەکی من کردوومە سپاسم دەکا، ئاگادارم بکە.",
"echo-category-title-edit-thank": "سپاس",
"notification-thanks-diff-link": "دەستکارییەکەت",
"notification-header-rev-thank": "$1 {{GENDER:$2|سپاسی}} {{GENDER:$4|کردی}} بۆ دەستکارییەکەت لە '''$3''' دا.",
- "notification-header-creation-thank": "$1 لەبەر دروستکردنی <strong>$3</strong> سوپاسی کردیت.",
- "notification-header-log-thank": "$1 سپاسی کردیت بۆ کردارەکەت لەسەر <strong>$3</strong>.",
- "notification-bundle-header-rev-thank": "$1 کەس سوپاسیان کردیت بۆ دەستکارییەکەت لە <strong>$2</strong>دا.",
+ "notification-header-creation-thank": "$1 لەبەر دروستکردنی <strong>$3</strong> {{GENDER:$2|سپاسی}} {{GENDER:$4|کردیت}}.",
+ "notification-header-log-thank": "$1 لەبەر کردەوە پەیوەندیدارەکەت بە <strong>$3</strong> {{GENDER:$2|سپاسی}} {{GENDER:$4|کردیت}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|یەک کەس|$1 کەس|100=99+ کەس}} لەبەر دەستکارییەکەت لەسەر <strong>$2</strong> {{PLURAL:$1|سپاسی|سپاسیان}} {{GENDER:$3|کردیت}}.",
"log-name-thanks": "لۆگی سپاس",
"log-description-thanks": "ژێرەوە پێرستێکی لەو بەکارھێنەرانەن کە لە لایەن بەکارھێنەرانی ترەوە سپاسیان لێ کراوە.",
"logentry-thanks-thank": "$1 {{GENDER:$2|سپاسی کرد}} لە {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "لۆگی سپاس",
"notification-link-text-view-post": "بۆچوون ببینە",
"flow-thanks-confirmation-special": "دەتھەوێت بەئاشکرایی سپاسی ئەم بۆچوونە بکەیت؟",
- "flow-thanks-thanked-notice": "$1 سپاسەکەتی وەرگرت لەبەر بۆچوونەکە{{GENDER:$2|ی|ی|ی}}.",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|تۆ}} لەبەر بۆچوونەکە{{GENDER:$2|ی|ی|ی}} سپاسی $1ت کرد.",
"notification-flow-thanks-post-link": "بۆچوونەکەت",
- "notification-header-flow-thank": "$1 {{GENDER:$5|سپاسی}} {{GENDER:$2|کردی}} بۆ بۆچوونەکەت لە '''$3'''ی '''$4'''دا.",
- "notification-bundle-header-flow-thank": "$1 کەس سوپاسیان کردیت بۆ لێدوانەکەت لە «<strong>$2</strong>»دا."
+ "notification-header-flow-thank": "$1 لەبەر بۆچوونەکەت لە «<strong>$3</strong>» {{GENDER:$2|سپاسی}} {{GENDER:$5|کردیت}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|یەک کەس|$1 کەس|100=99+ کەس}} لەبەر بۆچوونەکەت لە \n«<strong>$2</strong>» {{PLURAL:$1|سپاسی|سپاسیان}} {{GENDER:$3|کردیت}}."
}
diff --git a/Thanks/i18n/cop.json b/Thanks/i18n/cop.json
new file mode 100644
index 00000000..e02892fc
--- /dev/null
+++ b/Thanks/i18n/cop.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bloomaround"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ⲥⲙⲟⲩ}}}}"
+}
diff --git a/Thanks/i18n/cpx.json b/Thanks/i18n/cpx.json
new file mode 100644
index 00000000..f1f88ed6
--- /dev/null
+++ b/Thanks/i18n/cpx.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChoiChong"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|感謝}}}}"
+}
diff --git a/Thanks/i18n/crh-latn.json b/Thanks/i18n/crh-latn.json
new file mode 100644
index 00000000..564ede20
--- /dev/null
+++ b/Thanks/i18n/crh-latn.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "TayfunEt."
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|teşekkür}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Teşekkür et}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Teşekkür etildi}}}}",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Bir kişi|$1 kişi|100=99+ kişi}} <strong>$2</strong> saifesini tüzettiñiz içün {{GENDER:$3|sizge}} teşekkür etti."
+}
diff --git a/Thanks/i18n/cs.json b/Thanks/i18n/cs.json
index ee539cad..8c7d6b6a 100644
--- a/Thanks/i18n/cs.json
+++ b/Thanks/i18n/cs.json
@@ -9,6 +9,7 @@
"Matěj Suchánek",
"Mormegil",
"Patriccck",
+ "Patrik L.",
"Tchoř"
]
},
diff --git a/Thanks/i18n/cv.json b/Thanks/i18n/cv.json
deleted file mode 100644
index 5a4a0be9..00000000
--- a/Thanks/i18n/cv.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Chuvash2014"
- ]
- },
- "thanks-thank": "тав"
-}
diff --git a/Thanks/i18n/dag.json b/Thanks/i18n/dag.json
new file mode 100644
index 00000000..9bfcf6ca
--- /dev/null
+++ b/Thanks/i18n/dag.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dnshitobu"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|npaɣaya}}}}"
+}
diff --git a/Thanks/i18n/de-ch.json b/Thanks/i18n/de-ch.json
deleted file mode 100644
index 008ec34e..00000000
--- a/Thanks/i18n/de-ch.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Geitost",
- "J. 'mach' wust"
- ]
- },
- "flow-thanks-thanked-notice": "$1 erhielt dein Dankeschön für {{GENDER:$2|seinen|ihren|seinen/ihren}} Kommentar."
-}
diff --git a/Thanks/i18n/de.json b/Thanks/i18n/de.json
index 8f044330..88473dd0 100644
--- a/Thanks/i18n/de.json
+++ b/Thanks/i18n/de.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Brettchenweber",
"Geitost",
"Inkowik",
"J. 'mach' wust",
@@ -26,7 +27,7 @@
"thanks-button-action-completed": "Du hast $1 {{GENDER:$1|{{GENDER:$2|gedankt}}}}",
"thanks-error-undefined": "Bedanken fehlgeschlagen (Fehlercode: $1). Bitte erneut versuchen.",
"thanks-error-invalid-log-id": "Logbucheintrag nicht gefunden",
- "thanks-error-invalid-log-type": "Der Logbuchtyp „$1“ ist nicht in der weißen Liste der erlaubten Logbuchtypen.",
+ "thanks-error-invalid-log-type": "Der Logbuchtyp „$1“ ist nicht in der Liste der erlaubten Logbuchtypen.",
"thanks-error-log-deleted": "Der gewünschte Logbucheintrag wurde gelöscht und Dankeschöns können nicht für ihn vergeben werden.",
"thanks-error-invalidrevision": "Die Versionskennung ist ungültig.",
"thanks-error-revdeleted": "Es können keine Dankeschöns versandt werden, da die Version gelöscht wurde.",
@@ -41,7 +42,7 @@
"thanks-thank-tooltip-no": "Die Dankeschön-Benachrichtigung {{GENDER:$1|abbrechen}}",
"thanks-thank-tooltip-yes": "Die Dankeschön-Benachrichtigung {{GENDER:$1|senden}}",
"thanks-confirmation2": "Dan­ke­schön öffentlich {{GENDER:$1|senden}}?",
- "thanks-thanked-notice": "{{GENDER:$3|Du}} danktest {{GENDER:$2|$1}}.",
+ "thanks-thanked-notice": "{{GENDER:$3|Du}} hast {{GENDER:$2|$1}} gedankt.",
"thanks": "Für diese Bearbeitung danken",
"thanks-submit": "Dankeschön senden",
"echo-pref-subscription-edit-thank": "Dankeschöns für meine Bearbeitung",
@@ -69,5 +70,6 @@
"notification-flow-thanks-post-link": "deinen Kommentar",
"notification-header-flow-thank": "$1 {{GENDER:$2|dankte}} {{GENDER:$5|dir}} für deinen Kommentar „<strong>$3</strong>“.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|dankte}} {{GENDER:$3|dir}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Eine Person dankte|$1 Personen dankten|100=Mehr als 99 Personen dankten}} {{GENDER:$3|dir}} für deinen Kommentar in „<strong>$2</strong>“."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Eine Person dankte|$1 Personen dankten|100=Mehr als 99 Personen dankten}} {{GENDER:$3|dir}} für deinen Kommentar in „<strong>$2</strong>“.",
+ "ipb-action-thanks": "Dankeschöns senden"
}
diff --git a/Thanks/i18n/diq.json b/Thanks/i18n/diq.json
index 4ff3409d..b4c10a25 100644
--- a/Thanks/i18n/diq.json
+++ b/Thanks/i18n/diq.json
@@ -10,9 +10,9 @@
"Orbot707"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|teşekur bıkerê }}}}",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|teşekur bıke}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|teşekur kerd}}}}",
- "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Teşekur bıkerê}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Teşekur bıke}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Teşekur kerd}}}}",
"thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Teşekur}}}} $1…",
"thanks-button-action-cancel": "Bıtexelne",
@@ -20,10 +20,10 @@
"thanks-thank-tooltip": "{{GENDER:$2|Karberi}} rê teşekur {{GENDER:$1|bırışe}}",
"thanks-confirmation2": "Şari rê akerde teşekuri {{GENDER:$1|bırışê}}?",
"thanks-thanked-notice": "Karberê {{GENDER:$2|$1}} rê {{GENDER:$3|şıma}} teşekur kerd",
- "thanks": "Teşekur bıkerê",
+ "thanks": "Teşekur bırışe",
"thanks-submit": "Teşekur bırışe",
"echo-pref-subscription-edit-thank": "Serva iştiraki mı rê teşekur biyo",
- "echo-category-title-edit-thank": "Teşekuri",
+ "echo-category-title-edit-thank": "Teşekur",
"notification-thanks-diff-link": "vırnayışê şıma",
"notification-header-rev-thank": "$1, qandé vurnayışê pera <strong>$3</strong>i {{GENDER:$4|şıma}} rê {{GENDER:$2|teşekur kerd}}.",
"notification-header-creation-thank": "$1, serva vıraştışê pela <strong>$3</strong> {{GENDER:$4|şıma}} rê {{GENDER:$2|teşekur kerd}}.",
diff --git a/Thanks/i18n/dsb.json b/Thanks/i18n/dsb.json
index 0388c4ca..611d92dc 100644
--- a/Thanks/i18n/dsb.json
+++ b/Thanks/i18n/dsb.json
@@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Derbeth",
- "Michawiki"
+ "Michawiki",
+ "Vlad5250"
]
},
"thanks-desc": "Pśidawa źěkowe wótkaze historiji a wersijowym rozdźělam",
- "thanks-thank": "źěkowaś se",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|źěkowaś se}}}}",
"thanks-thanked": "{{GENDER:$1|jo se źěkował|jo se źěkowała}}",
"thanks-button-thank": "{{GENDER:$1|Źěkowaś se}}",
"thanks-button-thanked": "{{GENDER:$1|Jo se źěkował|Jo se źěkowała}}",
diff --git a/Thanks/i18n/el.json b/Thanks/i18n/el.json
index a2c0b0dc..d8515967 100644
--- a/Thanks/i18n/el.json
+++ b/Thanks/i18n/el.json
@@ -3,8 +3,11 @@
"authors": [
"Geraki",
"Glavkos",
+ "NikosLikomitros",
"Nikosgranturismogt",
- "Protnet"
+ "Protnet",
+ "Sarri.greek",
+ "Αντιγόνη"
]
},
"thanks-desc": "Προσθέτει συνδέσμους για να ευχαριστείτε χρήστες για επεξεργασίες, σχόλια, κλπ.",
@@ -27,6 +30,7 @@
"echo-category-title-edit-thank": "Ευχαριστίες",
"notification-thanks-diff-link": "την επεξεργασία σου",
"notification-header-rev-thank": "{{GENDER:$2|Ο|Η}} $1 {{GENDER:$4|σας}} ευχαρίστησε για την επεξεργασία σας στην <strong>$3</strong>.",
+ "notification-header-creation-thank": "{{GENDER:$2|Ο|Η}} $1 {{GENDER:$4|σας}} ευχαρίστησε για τη δημιουργία της σελίδας <strong>$3</strong>.",
"notification-compact-header-edit-thank": "{{GENDER:$2|Ο|Η}} $1 {{GENDER:$3|σας}} ευχαρίστησε.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Ένα άτομο σας ευχαρίστησε|$1 άτομα σας ευχαρίστησαν|100=99+ άτομα σας ευχαρίστησαν}} για την επεξεργασία {{GENDER:$3|σας}} στην <strong>$2</strong>.",
"log-name-thanks": "Καταγραφή ευχαριστηρίων",
@@ -34,6 +38,7 @@
"logentry-thanks-thank": "{{GENDER:$2|Ο|Η}} $1 ευχαρίστησε {{GENDER:$4|τον|την}} $3",
"logeventslist-thanks-log": "Καταγραφή ευχαριστηρίων",
"thanks-error-no-id-specified": "Πρέπει να καθορίσετε αναγνωριστικό αναθεώρησης ή αρχείου καταγραφών για να στείλετε ευχαριστίες.",
+ "thanks-confirmation-special-rev": "Θέλετε να στείλετε δημόσια ευχαριστία για αυτή την επεξεργασία;",
"notification-link-text-view-post": "Προβολή σχολίου",
"thanks-error-invalidpostid": "Το Post ID δεν είναι έγκυρο.",
"flow-thanks-confirmation-special": "Θέλετε να στείλετε δημόσια ευχαριστία για αυτό το σχόλιο;",
diff --git a/Thanks/i18n/en.json b/Thanks/i18n/en.json
index a8ec42a7..4b096ac6 100644
--- a/Thanks/i18n/en.json
+++ b/Thanks/i18n/en.json
@@ -14,7 +14,7 @@
"thanks-button-action-completed": "You {{GENDER:$1|{{GENDER:$2|thanked}}}} $1",
"thanks-error-undefined": "Thank action failed (error code: $1). Please try again.",
"thanks-error-invalid-log-id": "Log entry not found",
- "thanks-error-invalid-log-type": "Log type '$1' is not in the whitelist of permitted log types.",
+ "thanks-error-invalid-log-type": "Log type '$1' is not in the list of permitted log types.",
"thanks-error-log-deleted": "The requested log entry has been deleted and thanks cannot be given for it.",
"thanks-error-invalidrevision": "Revision ID is not valid.",
"thanks-error-revdeleted": "Unable to send thanks because the revision has been deleted.",
@@ -57,5 +57,6 @@
"notification-flow-thanks-post-link": "your comment",
"notification-header-flow-thank": "$1 {{GENDER:$2|thanked}} {{GENDER:$5|you}} for your comment in \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|thanked}} {{GENDER:$3|you}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|One person|$1 people|100=99+ people}} thanked {{GENDER:$3|you}} for your comment in \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|One person|$1 people|100=99+ people}} thanked {{GENDER:$3|you}} for your comment in \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Sending thanks"
}
diff --git a/Thanks/i18n/es.json b/Thanks/i18n/es.json
index 115854cc..0a3a633f 100644
--- a/Thanks/i18n/es.json
+++ b/Thanks/i18n/es.json
@@ -1,6 +1,8 @@
{
"@metadata": {
"authors": [
+ "-sasha-",
+ "AVIADOR71",
"Alan",
"Fitoschido",
"Hahc21",
@@ -10,6 +12,7 @@
"MarcoAurelio",
"Peter Bowman",
"PoLuX124",
+ "Rodney Araujo",
"Savh",
"Sethladan",
"Themasterriot"
@@ -22,6 +25,7 @@
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Agradecido|Agradecida}}}}",
"thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Agradeciendo}}}} a $1…",
"thanks-button-action-cancel": "Cancelar",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|Agradeciste}}}} a $1",
"thanks-error-undefined": "El agradecimiento falló (código de error: $1). Inténtalo de nuevo.",
"thanks-error-invalid-log-id": "No se ha encontrado la entrada en el registro",
"thanks-error-invalid-log-type": "El tipo de registro «$1» no se encuentra en la lista blanca de tipos permitidos.",
@@ -37,10 +41,10 @@
"thanks-thank-tooltip": "{{GENDER:$1|Enviar}} una notificación de agradecimiento a {{GENDER:$2|este usuario|esta usuaria}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|Cancelar}} la notificación de agradecimiento",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Enviar}} la notificación de agradecimiento",
- "thanks-confirmation2": "¿Quieres {{GENDER:$1|enviar}} tu agradecimiento públicamente?",
+ "thanks-confirmation2": "¿Quieres {{GENDER:$1|agradecer}} públicamente?",
"thanks-thanked-notice": "{{GENDER:$3|Agradeciste}} a {{GENDER:$2|$1}}.",
- "thanks": "Enviar agradecimiento",
- "thanks-submit": "Enviar agradecimiento",
+ "thanks": "Agradecer",
+ "thanks-submit": "Agradecer",
"echo-pref-subscription-edit-thank": "Agradecerme mi edición",
"echo-pref-tooltip-edit-thank": "Notificarme cuando alguien me agradezca por una edición que haya realizado.",
"echo-category-title-edit-thank": "Agradecimientos",
@@ -53,7 +57,7 @@
"notification-bundle-header-log-thank": "{{PLURAL:$1|Una persona|$1 personas|100=Más de 99 personas}} {{PLURAL:$1|agradeció|agradecieron}} {{GENDER:$3|tu}} acción en <strong>$2</strong>.",
"log-name-thanks": "Registro de agradecimientos",
"log-description-thanks": "A continuación se muestra una lista de usuarios agradecidos por otros usuarios.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|se lo agradeció}} a {{GENDER:$4|$3}}",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|le dio las gracias}} a {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "Registro de agradecimientos",
"thanks-error-no-id-specified": "Debes especificar una revisión o un identificador de registro para enviar agradecimientos.",
"thanks-confirmation-special-log": "¿Quieres agradecer públicamente esta acción del registro?",
@@ -61,7 +65,7 @@
"notification-link-text-view-post": "Ver comentario",
"notification-link-text-view-logentry": "Ver entrada de registro",
"thanks-error-invalidpostid": "El identificador de publicación no es válido.",
- "flow-thanks-confirmation-special": "¿Deseas agradecer públicamente este comentario?",
+ "flow-thanks-confirmation-special": "¿Quieres agradecer públicamente este comentario?",
"flow-thanks-thanked-notice": "{{GENDER:$3|Agradeciste}} a $1 {{GENDER:$2|su}} comentario.",
"notification-flow-thanks-post-link": "tu comentario",
"notification-header-flow-thank": "$1 {{GENDER:$2|agradeció}} {{GENDER:$5|tu}} comentario en \"<strong>$3</strong>\".",
diff --git a/Thanks/i18n/et.json b/Thanks/i18n/et.json
index 2fe1d394..94f84583 100644
--- a/Thanks/i18n/et.json
+++ b/Thanks/i18n/et.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Adeliine",
"Kyng",
"Macofe",
"Pikne"
@@ -16,7 +17,7 @@
"thanks-button-action-completed": "{{GENDER:$2|Tänasid}} kasutajat $1",
"thanks-error-undefined": "Tänamine ebaõnnestus (tõrkekood: $1). Palun proovi uuesti.",
"thanks-error-invalid-log-id": "Logisissekannet ei leidu",
- "thanks-error-invalid-log-type": "Logitüüp \"$1\" pole lubatud logitüüpide valges nimekirjas.",
+ "thanks-error-invalid-log-type": "Logitüüp \"$1\" pole lubatud logitüüpide nimekirjas.",
"thanks-error-log-deleted": "Päritud logisissekanne on kustutatud ja selle eest ei saa tänu avaldada.",
"thanks-error-invalidrevision": "Redaktsiooni identifikaator ei sobi.",
"thanks-error-revdeleted": "Ei saa tänuteavitust saata, sest redaktsioon on kustutatud.",
diff --git a/Thanks/i18n/eu.json b/Thanks/i18n/eu.json
index eced2737..687a80ee 100644
--- a/Thanks/i18n/eu.json
+++ b/Thanks/i18n/eu.json
@@ -16,7 +16,7 @@
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Eskertuta}}}}",
"thanks-error-undefined": "Ekertzeko ekintzak huts egin du (errorearen kodea: $1). Saiatu berriro mesedez.",
"thanks-thank-tooltip": "{{GENDER:$1|Bidali}} eskertze mezua {{GENDER:$2|lankide}} honi",
- "thanks-confirmation2": "Eskerrak {{GENDER:$1|bidali}} edizio honengatik?",
+ "thanks-confirmation2": "Publikoki {{GENDER:$1|eskertu}}?",
"thanks-thanked-notice": "$1 {{GENDER:$2|wikilariari}} eskerrak eman {{GENDER:$3|dizkiozu}}.",
"thanks": "Eman eskerrak",
"thanks-submit": "Bidali eskerrak",
@@ -27,6 +27,8 @@
"notification-header-rev-thank": "$1 lankideak '''$3''' orrian egin {{GENDER:$4|duzun}} aldaketa eskertu {{GENDER:$2|dizu}}.",
"log-name-thanks": "Eskertza erregistroa",
"logentry-thanks-thank": "$1 {{GENDER:$2|wikilariak}} eskerrak eman dizkio {{GENDER:$4|$3}} wikilariari",
+ "thanks-confirmation-special-log": "Publikoki eskertu nahi duzu egunkari ekintza hau?",
+ "thanks-confirmation-special-rev": "Publikoki eskertu nahi duzu edizio hau?",
"notification-link-text-view-post": "Erakutsi iruzkina",
"flow-thanks-confirmation-special": "Iruzkin hau eskertu nahi duzu?",
"flow-thanks-thanked-notice": "{{GENDER:$3|Zu}} eskerrak $1 {{GENDER:$2|mutilarena|neskarena|haiena}}agatik oharra.",
diff --git a/Thanks/i18n/fa.json b/Thanks/i18n/fa.json
index eb0308a2..53760447 100644
--- a/Thanks/i18n/fa.json
+++ b/Thanks/i18n/fa.json
@@ -9,6 +9,7 @@
"Amirsara",
"Armin1392",
"AzorAhai",
+ "Beginneruser",
"Dalba",
"Ebraminio",
"Huji",
@@ -28,10 +29,12 @@
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|تشکر شد}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|تشکر}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|تشکر شد}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|درحال تشکر}}}} $1…",
"thanks-button-action-cancel": "لغو",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|تشکر شد}}}}",
"thanks-error-undefined": "عمل تشکر ناموفق بود (پیام خطا: $1). لطفاً دوباره تلاش کنید.",
"thanks-error-invalid-log-id": "مورد سیاهه یافته نشد",
- "thanks-error-invalid-log-type": "نوع سیاههٔ «$1» در فهرست سفید انواع سیاههٔ مجاز نیست.",
+ "thanks-error-invalid-log-type": "نوع سیاههٔ '$1' در فهرست انواع سیاههٔ مجاز نیست.",
"thanks-error-log-deleted": "مورد سیاههٔ درخواست شده، حذف شده‌است و امکان تشکر برای آن وجود ندارد.",
"thanks-error-invalidrevision": "شناسهٔ نسخه معتبر نیست.",
"thanks-error-revdeleted": "تشکر کردن ممکن نیست، چون ویرایش حذف شده‌است.",
@@ -74,5 +77,6 @@
"notification-flow-thanks-post-link": "نظر شما",
"notification-header-flow-thank": "$1 از {{GENDER:$5|شما}} به خاطر نظرتان در «<strong>$3</strong>» {{GENDER:$2|تشکر کرد}}.",
"notification-compact-header-flow-thank": "$1 از {{GENDER:$3|شما}} {{GENDER:$2|تشکر کرد}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|یک نفر|$1 نفر|100=بیش از ۹۹ نفر}} از شما برای نظرتان در «<strong>$2</strong>» {{GENDER:$3|تشکر}} {{PLURAL:$1|کرد|کردند}}."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|یک نفر|$1 نفر|100=بیش از ۹۹ نفر}} از شما برای نظرتان در «<strong>$2</strong>» {{GENDER:$3|تشکر}} {{PLURAL:$1|کرد|کردند}}.",
+ "ipb-action-thanks": "ارسال تشکر"
}
diff --git a/Thanks/i18n/fat.json b/Thanks/i18n/fat.json
new file mode 100644
index 00000000..6116d17d
--- /dev/null
+++ b/Thanks/i18n/fat.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Leonard Nketsia"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|da ase}}}}"
+}
diff --git a/Thanks/i18n/ff.json b/Thanks/i18n/ff.json
index 19bc13c9..b6208ceb 100644
--- a/Thanks/i18n/ff.json
+++ b/Thanks/i18n/ff.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Ibrahima"
+ "Ibrahima",
+ "Ibrahima Malal Sarr"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|jaar}}}}",
diff --git a/Thanks/i18n/fon.json b/Thanks/i18n/fon.json
new file mode 100644
index 00000000..0975d12b
--- /dev/null
+++ b/Thanks/i18n/fon.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mahuton"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|É na cɛ nu mǐ}}}}"
+}
diff --git a/Thanks/i18n/fr.json b/Thanks/i18n/fr.json
index 51e4fcf3..f41902c3 100644
--- a/Thanks/i18n/fr.json
+++ b/Thanks/i18n/fr.json
@@ -30,56 +30,57 @@
},
"thanks-desc": "Ajoute des liens pour remercier les utilisateurs pour des modifications, des commentaires, etc.",
"thanks-thank": "{{GENDER:$1|}}remercier{{GENDER:$2|}}",
- "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|remercié|remerciée|remercié(e)}}}}",
- "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Remercier}}}}",
- "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Remercié|Remerciée|Remercié(e)}}}}",
- "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Remercie}}}} $1…",
+ "thanks-thanked": "{{GENDER:$1|}}remercié{{GENDER:$2||e|(e)}}",
+ "thanks-button-thank": "{{GENDER:$1|}}Remercier{{GENDER:$2|}}",
+ "thanks-button-thanked": "{{GENDER:$1|}}Remercié{{GENDER:$2||e|(e)}}",
+ "thanks-button-action-queued": "{{GENDER:$2|}}Remerciement de {{GENDER:$1|}}$1...",
"thanks-button-action-cancel": "Annuler",
- "thanks-button-action-completed": "Vous avez {{GENDER:$1|{{GENDER:$2|remercié}}}} $1",
- "thanks-error-undefined": "Échec de l’action de remerciement (code d'erreur : $1). Veuillez réessayer.",
+ "thanks-button-action-completed": "{{GENDER:$2|}}Vous avez remercié {{GENDER:$1|}}$1",
+ "thanks-error-undefined": "Échec de l’action de remerciement (code d’erreur : $1). Veuillez essayer à nouveau.",
"thanks-error-invalid-log-id": "Entrée non trouvée dans le journal",
- "thanks-error-invalid-log-type": "Le type de journal '$1' n’est pas dans la liste blanche des types de journaux autorisés.",
+ "thanks-error-invalid-log-type": "Le type de journal « $1 » n’est pas dans la liste des types de journaux autorisés.",
"thanks-error-log-deleted": "L’entrée de journal demandée a été supprimée et il est impossible de remercier pour cela.",
- "thanks-error-invalidrevision": "L’ID de révision n’est pas valide.",
- "thanks-error-revdeleted": "Impossible d'envoyer les remerciements car la révision a été supprimée.",
- "thanks-error-notitle": "Le titre de la page n'a pas pu être récupéré",
- "thanks-error-invalidrecipient": "Pas de destinataire valide trouvé",
+ "thanks-error-invalidrevision": "L’identifiant de révision n’est pas valide.",
+ "thanks-error-revdeleted": "Impossible d’envoyer les remerciements car la révision a été supprimée.",
+ "thanks-error-notitle": "Le titre de la page n’a pas pu être récupéré",
+ "thanks-error-invalidrecipient": "Aucun destinataire valide trouvé",
"thanks-error-invalidrecipient-bot": "Les robots ne peuvent pas être remerciés",
"thanks-error-invalidrecipient-self": "Vous ne pouvez pas vous remercier vous-même.",
- "thanks-error-notloggedin": "Les utilisateurs anonymes ne peuvent pas envoyer de merci",
- "thanks-error-ratelimited": "{{GENDER:$1|Vous}} avez dépassé votre limite de débit. Veuillez attendre un peu et réessayer.",
- "thanks-error-api-params": "Il faut fournir soit le paramètre 'revid', soit 'logid'",
+ "thanks-error-notloggedin": "Les utilisateurs anonymes ne peuvent envoyer aucun remerciement",
+ "thanks-error-ratelimited": "{{GENDER:$1|}}Vous avez dépassé votre limite de débit. Veuillez attendre un peu et essayer à nouveau.",
+ "thanks-error-api-params": "Un seul des deux paramètres « revid » ou « logid » doit être fourni",
"thanks-thank-tooltip": "{{GENDER:$1|}}Envoyer une notification de remerciement à cet{{GENDER:$2||te}} utilisat{{GENDER:$2|eur|rice}}",
- "thanks-thank-tooltip-no": "{{GENDER:$1|Annuler}} les remerciements",
- "thanks-thank-tooltip-yes": "{{GENDER:$1|Envoyer}} les remerciements",
- "thanks-confirmation2": "{{GENDER:$1|Envoyer}} publiquement des remerciements ?",
- "thanks-thanked-notice": "{{GENDER:$3|Vous}} avez remercié {{GENDER:$2|$1}}.",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|}}Annuler la notification de remerciement",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|}}Envoyer la notification de remerciement",
+ "thanks-confirmation2": "{{GENDER:$1|}}Envoyer publiquement des remerciements ?",
+ "thanks-thanked-notice": "{{GENDER:$3|}}Vous avez remercié {{GENDER:$2|}}$1.",
"thanks": "Envoyer des remerciements",
- "thanks-submit": "Remercier",
+ "thanks-submit": "Envoyer des remerciements",
"echo-pref-subscription-edit-thank": "Me remercie pour ma modification",
- "echo-pref-tooltip-edit-thank": "Me prévenir quand quelqu’un me remercie pour une modification que j’ai faite.",
+ "echo-pref-tooltip-edit-thank": "Me notifier quand quelqu’un me remercie pour une modification que j’ai effectuée.",
"echo-category-title-edit-thank": "Remerciements",
"notification-thanks-diff-link": "votre modification",
- "notification-header-rev-thank": "$1 vous {{GENDER:$2|a}} {{GENDER:$4|remercié|remerciée|remercié(e)}} pour votre modification sur <strong>$3</strong>.",
- "notification-header-creation-thank": "$1 {{GENDER:$4|vous}} {{GENDER:$2|a remercié}} pour la création de <strong>$3</strong>.",
- "notification-header-log-thank": "$1 {{GENDER:$4|vous}} {{GENDER:$2|a remercié}} pour votre action concernant <strong>$3</strong>.",
- "notification-compact-header-edit-thank": "$1 {{GENDER:$2|vous}} {{GENDER:$3|a remercié|a remerciée}}.",
- "notification-bundle-header-rev-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Au moins 100 personnes}} vous {{PLURAL:$1|a|ont}} {{GENDER:$3|remercié|remerciée}} pour votre modification sur <strong>$2</strong>.",
- "notification-bundle-header-log-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Plus de cent personnes}} {{GENDER:$3|vous}} {{PLURAL:$1|a remercié|ont remercié}} pour votre action concernant <strong>$2</strong>.",
+ "notification-header-rev-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$4||e|(e)}} pour votre modification sur <strong>$3</strong>.",
+ "notification-header-creation-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$4||e|(e)}} pour la création de <strong>$3</strong>.",
+ "notification-header-log-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$4||e|(e)}} pour votre action concernant <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$3||e|(e)}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Au moins 100 personnes}} vous {{PLURAL:$1|a|ont}} remercié{{GENDER:$3||e|(e)}} pour votre modification sur <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Au moins 100 personnes}} vous {{PLURAL:$1|a|ont}} remercié{{GENDER:$3||e|(e)}} pour votre action concernant <strong>$2</strong>.",
"log-name-thanks": "Journal des remerciements",
- "log-description-thanks": "Ci-dessous se trouve une liste d'utilisateurs qui ont été remerciés par d'autres.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|a remercié}} {{GENDER:$4|$3}}",
+ "log-description-thanks": "Voici une liste d’utilisateurs qui ont été remerciés par d’autres.",
+ "logentry-thanks-thank": "{{GENDER:$2|}}$1 a remercié $3{{GENDER:$4|}}",
"logeventslist-thanks-log": "Journal des remerciements",
- "thanks-error-no-id-specified": "Vous devez spécifier un ID de révision ou de journal pour envoyer des remerciements.",
- "thanks-confirmation-special-log": "Voulez-vous envoyer publiquement des remerciements pour cette action du journal ?",
- "thanks-confirmation-special-rev": "Voulez-vous envoyer publiquement des remerciements pour cette modification ?",
+ "thanks-error-no-id-specified": "Vous devez spécifier un identifiant de révision ou de journal pour envoyer des remerciements.",
+ "thanks-confirmation-special-log": "Voulez-vous envoyer publiquement des remerciements pour cette action du journal ?",
+ "thanks-confirmation-special-rev": "Voulez-vous envoyer publiquement des remerciements pour cette modification ?",
"notification-link-text-view-post": "Afficher le commentaire",
"notification-link-text-view-logentry": "Afficher l’entrée du journal",
- "thanks-error-invalidpostid": "L’ID de la note n’est pas valide.",
- "flow-thanks-confirmation-special": "Voulez-vous envoyer publiquement des remerciements pour ce commentaire ?",
- "flow-thanks-thanked-notice": "{{GENDER:$3|Vous}} avez remercié $1 pour {{GENDER:$2|sa|sa|sa}} modification.",
+ "thanks-error-invalidpostid": "L’identifiant du message envoyé n’est pas valide.",
+ "flow-thanks-confirmation-special": "Voulez-vous envoyer publiquement des remerciements pour ce commentaire ?",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|}}Vous avez remercié $1{{GENDER:$2|}} pour sa modification.",
"notification-flow-thanks-post-link": "votre commentaire",
- "notification-header-flow-thank": "{{GENDER:$2|$1}} {{GENDER:$5|vous a remercié|vous a remerciée|vous a remercié(e)}} pour votre commentaire dans « <strong>$3</strong> ».",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$2|vous}} {{GENDER:$3|a remercié|a remerciée}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Au moins 100 personnes}} vous {{PLURAL:$1|a|ont}} {{GENDER:$3|remercié|remerciée}} pour votre commentaire sur « <strong>$2</strong> »."
+ "notification-header-flow-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$5||e|(e)}} pour votre commentaire dans « <strong>$3</strong> ».",
+ "notification-compact-header-flow-thank": "{{GENDER:$2|}}$1 vous a remercié{{GENDER:$3||e|(e)}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Une personne|$1 personnes|100=Au moins 100 personnes}} vous {{PLURAL:$1|a|ont}} remercié{{GENDER:$3||e|(e)}} pour votre commentaire sur « <strong>$2</strong> ».",
+ "ipb-action-thanks": "Envoi des remerciements"
}
diff --git a/Thanks/i18n/frr.json b/Thanks/i18n/frr.json
index f4778de5..7b4cd2b3 100644
--- a/Thanks/i18n/frr.json
+++ b/Thanks/i18n/frr.json
@@ -11,26 +11,28 @@
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Soonke}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Besoonket}}}}",
"thanks-error-undefined": "\"Soonk\" hää ei loket. Ferschük det man noch ans.",
- "thanks-error-invalidrevision": "Det werjuun jaft at ei.",
+ "thanks-error-invalidrevision": "Detdiar wersion ID jaft at ei.",
"thanks-error-ratelimited": "{{GENDER:$1|Dü}} heest tuföl aktjuunen onernimen. Teew en uugenblak an ferschük det noch ans weder.",
- "thanks-thank-tooltip": "{{Gender:$1|Schüür}} {{Gender:$2|didiar brüker}} en \"soonk\".",
+ "thanks-thank-tooltip": "{{Gender:$1|Sjüür}} {{Gender:$2|didiar|detdiar}} brüker en \"soonk\".",
"thanks-thank-tooltip-no": "{{GENDER:$1|Breeg}} det soonkin uf",
- "thanks-thank-tooltip-yes": "{{GENDER:$1|Schüür}} det soonk-bööd",
- "thanks-confirmation2": "Diar en öfentelken soonk för {{GENDER:$1|schüür}}?",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Sjüür}} det bööd mä en soonk",
+ "thanks-confirmation2": "Diar en öfentelken soonk för {{GENDER:$1|sjüür}}?",
"thanks-thanked-notice": "$1 hää bööd füngen, dat dü {{GENDER:$2|sin|hör|hör}} feranrang gud fanjst.",
- "thanks": "Soonk schüür",
- "thanks-submit": "Soonk schüür",
+ "thanks": "Soonk sjüür",
+ "thanks-submit": "Soonk sjüür",
"echo-pref-subscription-edit-thank": "\"Soonk\" saien för man bidrach",
"echo-pref-tooltip-edit-thank": "Du mi bööd, wan mi hoker en \"soonk\" schüürt för man bidrach.",
"echo-category-title-edit-thank": "Föl soonk",
"notification-thanks-diff-link": "dan bidrach",
- "log-name-thanks": "Soonk-logbuk",
+ "log-name-thanks": "Soonk-Logbuk",
"log-description-thanks": "Oner stäänt en list faan brükern, diar faan ööder brükern soonk saad wurden as.",
"logentry-thanks-thank": "$1 {{GENDER:$2|besoonket}} ham bi {{Gender:$4|$3}}",
- "thanks-error-no-id-specified": "Dü skel en werjuuns-ID uundu, am en soonk tu schüüren.",
+ "thanks-error-no-id-specified": "Dü skel en wersion of log ID uundu, am en soonk tu sjüüren.",
+ "thanks-confirmation-special-log": "Maadst dü diar öfentelk en soonk för sjüür?",
+ "thanks-confirmation-special-rev": "Maadst dü diar öfentelk en soonk för sjüür?",
"notification-link-text-view-post": "Komentaar uunwise",
"thanks-error-invalidpostid": "Det ID faan di bidrach as ferkiard.",
- "flow-thanks-confirmation-special": "Maadst dü öfentelk en soonk för didiar komentaar schüür?",
+ "flow-thanks-confirmation-special": "Maadst dü öfentelk en soonk för didiar komentaar sjüür?",
"flow-thanks-thanked-notice": "$1 hää bööd füngen, dat dü {{GENDER:$2|sin|hör|hör}} komentaar gud fanjst.",
"notification-flow-thanks-post-link": "dan komentaar"
}
diff --git a/Thanks/i18n/fy.json b/Thanks/i18n/fy.json
index 72e9cd18..a1cf10c7 100644
--- a/Thanks/i18n/fy.json
+++ b/Thanks/i18n/fy.json
@@ -16,7 +16,7 @@
"thanks-button-action-completed": "Jo {{GENDER:$1|{{GENDER:$2|hawwe}}}} $1 betanke",
"thanks-error-undefined": "Betankjen mislearre (flaterkoade: $1). Besykje it nochris.",
"thanks-error-invalid-log-id": "Lochrigel net fûn",
- "thanks-error-invalid-log-type": "Lochtype '$1' stiet net op 'e wite list fan tastiene lochtypen.",
+ "thanks-error-invalid-log-type": "Lochtype '$1' stiet net op 'e list fan tastiene lochtypen.",
"thanks-error-log-deleted": "De oanfrege lochrigel is wiske, dat der kin net foar betanke wurde.",
"thanks-error-invalidrevision": "Ferzjenûmer is ûnjildich.",
"thanks-error-revdeleted": "Kin it betankje net ferstjoere, om't de ferzje wiske is.",
@@ -59,5 +59,6 @@
"notification-flow-thanks-post-link": "jo reäksje",
"notification-header-flow-thank": "$1 {{GENDER:$2|hat}} {{GENDER:$5|jo}} betanke foar jo reäksje yn \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|hat}} {{GENDER:$3|jo}} betanke.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Ien persoan hat|$1 lju hawwe|100=99+ lju hawwe}} {{GENDER:$3|jo}} betanke foar jo reäksje yn \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Ien persoan hat|$1 lju hawwe|100=99+ lju hawwe}} {{GENDER:$3|jo}} betanke foar jo reäksje yn \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Betankjes ferstjoeren"
}
diff --git a/Thanks/i18n/gld.json b/Thanks/i18n/gld.json
new file mode 100644
index 00000000..4a3ca9e1
--- /dev/null
+++ b/Thanks/i18n/gld.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "RFScott",
+ "SaldırganSincap"
+ ]
+ },
+ "thanks-thank": "{{$1|{{$2|баниори}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Банилайни}} {{GENDER:$2|ва}}"
+}
diff --git a/Thanks/i18n/gpe.json b/Thanks/i18n/gpe.json
new file mode 100644
index 00000000..d0fb20a0
--- /dev/null
+++ b/Thanks/i18n/gpe.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "DaSupremo"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|thank}}}}"
+}
diff --git a/Thanks/i18n/grc.json b/Thanks/i18n/grc.json
index d768c06f..8b675eb1 100644
--- a/Thanks/i18n/grc.json
+++ b/Thanks/i18n/grc.json
@@ -1,9 +1,10 @@
{
"@metadata": {
"authors": [
- "Gts-tg"
+ "Gts-tg",
+ "PastelKos"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|μετὰ χάριτος}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Ἀπέστειλλε}} εὐχαριστήριαν εἰδοποίηση εἴς τόν {{GENDER:$2|χρώμενο}}"
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|εὐχαριστεῖν}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Ἔστελλε}} εὐχαριστήριαν εἰδοποίησιν εἰς τὸν {{GENDER:$2|χρώμενον}}"
}
diff --git a/Thanks/i18n/guc.json b/Thanks/i18n/guc.json
new file mode 100644
index 00000000..58a2e5bf
--- /dev/null
+++ b/Thanks/i18n/guc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Leonfd1992"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|achuntaa analu'ut}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Püjütaa}} wane pütchi eere püchuntüin analu'ut nümüin chii {{GENDER:$2|ka’yataayakalü}}"
+}
diff --git a/Thanks/i18n/gur.json b/Thanks/i18n/gur.json
new file mode 100644
index 00000000..6449fe35
--- /dev/null
+++ b/Thanks/i18n/gur.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dnshitobu"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|pusiya}}}}"
+}
diff --git a/Thanks/i18n/guw.json b/Thanks/i18n/guw.json
new file mode 100644
index 00000000..c1cd799f
--- /dev/null
+++ b/Thanks/i18n/guw.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Misteld",
+ "Samatics"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|awánu}}}}"
+}
diff --git a/Thanks/i18n/ha.json b/Thanks/i18n/ha.json
new file mode 100644
index 00000000..949cdc83
--- /dev/null
+++ b/Thanks/i18n/ha.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Em-em"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|godiya}}}}"
+}
diff --git a/Thanks/i18n/he.json b/Thanks/i18n/he.json
index 9b26f415..92964fb8 100644
--- a/Thanks/i18n/he.json
+++ b/Thanks/i18n/he.json
@@ -14,12 +14,12 @@
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|אמרת תודה}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|תודה}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|אמרת תודה}}}}",
- "thanks-button-action-queued": "שליחת {{GENDER:$2|תודה}} אל $1",
+ "thanks-button-action-queued": "שליחת {{GENDER:$2|תודה}} אל $1...",
"thanks-button-action-cancel": "ביטול",
"thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|הודית}}}} למשתמש $1",
"thanks-error-undefined": "פעולת תודה נכשלה (קוד שגיאה: $1). נא לנסות שוב.",
"thanks-error-invalid-log-id": "פעולת היומן לא נמצאה",
- "thanks-error-invalid-log-type": "סוג היומן '$1' לא נמצא ברשימה הלבנה של סוגי היומן המותרים.",
+ "thanks-error-invalid-log-type": "סוג היומן \"$1\" לא נמצא ברשימת סוגי היומן המותרים.",
"thanks-error-log-deleted": "פעולת היומן שביקשת נמחקה, ולכן לא ניתן לשלוח עבורה תודה.",
"thanks-error-invalidrevision": "מזהה גרסה אינו תקין.",
"thanks-error-revdeleted": "לא ניתן לשלוח תודה משום שהגרסה נמחקה.",
@@ -30,11 +30,11 @@
"thanks-error-notloggedin": "משתמשים אנונימיים לא יכולים לשלוח הודעות תודה",
"thanks-error-ratelimited": "{{GENDER:$1|עברת}} את מגבלת הקצב שלך. נא להמתין ולנסות שוב.",
"thanks-error-api-params": "יש לציין את אחד הפרמטרים 'revid' או 'logid'",
- "thanks-thank-tooltip": "{{GENDER:$1|שלח|שלחי}} הודעת תודה {{GENDER:$2|למשתמש זה|למשתמשת זו}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|שליחת}} הודעת תודה {{GENDER:$2|למשתמש הזה|למשתמשת הזאת}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|ביטול}} הודעת התודה",
"thanks-thank-tooltip-yes": "{{GENDER:$1|שליחת}} הודעת תודה",
"thanks-confirmation2": "{{GENDER:$1|לשלוח}} תודה באופן ציבורי?",
- "thanks-thanked-notice": "{{GENDER:$3|הודית}} ל־{{GENDER:$2|$1}}.",
+ "thanks-thanked-notice": "{{GENDER:$3|הודית}} למשתמש {{GENDER:$2|$1}}.",
"thanks": "שליחת תודה",
"thanks-submit": "שליחת תודה",
"echo-pref-subscription-edit-thank": "מודה לי על עריכה שלי",
@@ -46,10 +46,10 @@
"notification-header-log-thank": "$1 {{GENDER:$2|הודה|הודתה}} {{GENDER:$4|לך}} על פעולה שעשית בדף <strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$2|הודה|הודתה}} {{GENDER:$3|לך}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|קיבלת הודעת \"תודה\"|$1 משתמשים הודו לך|100=99+ משתמשים הודו לך}} על עריכה {{GENDER:$3|שלך}} בדף <strong>$2</strong>.",
- "notification-bundle-header-log-thank": "{{PLURAL:$1|קיבלת הודעת \"תודה\"|$1 משתמשים הודו לך|100=99+ משתמשים הודו {{GENDER:$3|לך}}}} על פעולה שעשית בדף <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|קיבלת תודה|$1 משתמשים הודו לך|100=99+ משתמשים הודו {{GENDER:$3|לך}}}} על פעולה שעשית בדף <strong>$2</strong>.",
"log-name-thanks": "יומן תודות",
"log-description-thanks": "להלן רשימת משתמשים שאנשים אחרים הודו להם.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|הודה|הודתה}} למשתמש {{GENDER:$4|$3}}",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|הודה|הודתה}} {{GENDER:$4|למשתמש|למשתמשת}} $3",
"logeventslist-thanks-log": "יומן תודות",
"thanks-error-no-id-specified": "יש לציין מזהה גרסה או פעולת יומן כדי לשלוח תודה.",
"thanks-confirmation-special-log": "האם ברצונך לשלוח תודה על פעולת היומן הזאת באופן ציבורי?",
@@ -62,5 +62,6 @@
"notification-flow-thanks-post-link": "התגובה שלך",
"notification-header-flow-thank": "$1 {{GENDER:$2|הודה|הודתה}} {{GENDER:$5|לך}} על הערתך בנושא \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|הודה|הודתה}} {{GENDER:$3|לך}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|קיבלת הודעת \"תודה\"|$1 משתמשים הודו לך|100=99+ משתמשים הודו לך}} על {{GENDER:$3|הערתך}} בנושא \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|קיבלת תודה|$1 משתמשים הודו לך|100=99+ משתמשים הודו לך}} על {{GENDER:$3|הערתך}} בנושא \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "שליחת תודה"
}
diff --git a/Thanks/i18n/hi.json b/Thanks/i18n/hi.json
index c336e452..def4d3c8 100644
--- a/Thanks/i18n/hi.json
+++ b/Thanks/i18n/hi.json
@@ -2,8 +2,10 @@
"@metadata": {
"authors": [
"Angpradesh",
+ "BaRaN6161 TURK",
"Bhatakati aatma",
"Sachinkatiyar",
+ "Saurmandal",
"Sfic",
"Shubhamkanodia",
"Siddhartha Ghai",
@@ -12,7 +14,7 @@
]
},
"thanks-desc": "सदस्यों को उनके सम्पादनों, टिप्पणियों आदि के लिए धन्यवाद देने कड़ियाँ जोड़ें।",
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|धन्यवाद}}}}",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दें}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दिया}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|धन्यवाद}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दिया}}}}",
@@ -29,7 +31,7 @@
"thanks-thank-tooltip-no": "धन्यवाद की सूचना {{GENDER:$1|न भेजें}}",
"thanks-thank-tooltip-yes": "धन्यवाद की सूचना {{GENDER:$1|भेजें}}",
"thanks-confirmation2": "\nसभी धन्यवाद सार्वजनिक हैं। {{GENDER:$1|धन्यवाद}} भेजें?",
- "thanks-thanked-notice": "{{लिंग:$3|आप}} ने {{लिंग:$2|$1}} का धन्यवाद किया।",
+ "thanks-thanked-notice": "{{GENDER:$3|आप}} ने {{GENDER:$2|$1}} का धन्यवाद किया।",
"thanks": "धन्यवाद दें",
"thanks-submit": "धन्यवाद दें",
"echo-pref-subscription-edit-thank": "मेरे सम्पादन के लिए मुझे धन्यवाद दे।",
diff --git a/Thanks/i18n/hif-latn.json b/Thanks/i18n/hif-latn.json
index 0b5318b4..228a81e4 100644
--- a/Thanks/i18n/hif-latn.json
+++ b/Thanks/i18n/hif-latn.json
@@ -4,6 +4,5 @@
"Abdul Kadir"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|thank}}}}",
"thanks-thank-tooltip": "{{GENDER:$1|Bhejo}}, ek dhanbaad ke notification ii {{GENDER:$2|sadasya}} ke lage"
}
diff --git a/Thanks/i18n/hr.json b/Thanks/i18n/hr.json
index f579dc0b..42f880bf 100644
--- a/Thanks/i18n/hr.json
+++ b/Thanks/i18n/hr.json
@@ -5,6 +5,7 @@
"MaGa",
"Macofe",
"Neptune, the Mystic",
+ "Ponor",
"Roberta F.",
"Srdjan m",
"Teoo3"
@@ -18,7 +19,7 @@
"thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Zahvaljivanje}}}} $1…",
"thanks-button-action-cancel": "Otkaži",
"thanks-button-action-completed": "Zahvalili {{GENDER:$2|ste}} {{GENDER:$1|suradniku|suradnici|suradnici/suradniku}} $1",
- "thanks-error-undefined": "Zahvaljivanje nije uspjelo (kôd pogrješke: $1). Pokušajte ponovo.",
+ "thanks-error-undefined": "Zahvaljivanje nije uspjelo (kôd pogreške: $1). Pokušajte ponovo.",
"thanks-error-invalid-log-id": "Evidencijska stavka nije pronađena",
"thanks-error-invalid-log-type": "Evidencijska vrsta »$1« nije na bijeloj listi dopuštenih vrsta evidencija.",
"thanks-error-log-deleted": "Zahtijevana evidencijska stavka bila je izbrisana i zahvala ne može biti dana za nju.",
@@ -29,7 +30,7 @@
"thanks-error-invalidrecipient-bot": "Ne možete zahvaliti botovima",
"thanks-error-invalidrecipient-self": "Ne možete zahvaliti sami sebi",
"thanks-error-notloggedin": "Anonimni suradnici ne mogu slati zahvale.",
- "thanks-error-ratelimited": "{{GENDER:$1|Prekoračili ste}} Vaše ograničenje za slanje zahvala. Pričekajte neko vrijeme i zatim pokušajte ponovo.",
+ "thanks-error-ratelimited": "{{GENDER:$1|Prekoračili ste}} ograničenje za slanje zahvala. Pričekajte pa pokušajte ponovo.",
"thanks-error-api-params": "Mora se navesti ili »revid« ili »logid« parametar",
"thanks-thank-tooltip": "{{GENDER:$1|Pošalji}} zahvalu {{GENDER:$2|ovom suradniku|ovoj suradnici}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|Otkaži}} vijestice o zahvaljivanju",
@@ -41,16 +42,16 @@
"echo-pref-subscription-edit-thank": "Zahvaljivanje Vama za Vaše uređivanje",
"echo-pref-tooltip-edit-thank": "Obavijesti me kad mi netko zahvali za moju izmjenu.",
"echo-category-title-edit-thank": "Zahvala",
- "notification-thanks-diff-link": "vaše uređivanje",
- "notification-header-rev-thank": "$1 {{GENDER:$2|zahvalio|zahvalila}} je za {{GENDER:$4|Vaše}} uređivanje na stranici <strong>$3</strong>.",
- "notification-header-creation-thank": "$1 {{GENDER:$2|zahvalio|zahvalila}} {{GENDER:$4|Vam}} je na stvaranju stranice <strong>$3</strong>.",
- "notification-header-log-thank": "$1 {{GENDER:$2|zahvalio|zahvalila}} {{GENDER:$4|Vam}} je za Vašu radnju vezanu uz stranicu <strong>$3</strong>.",
+ "notification-thanks-diff-link": "uređivanje",
+ "notification-header-rev-thank": "$1 {{GENDER:$2|zahvaljuje}} za {{GENDER:$4|Vaše}} uređivanje na stranici <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$2|zahvaljuje}} {{GENDER:$4|Vam}} za stvaranje stranice <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 {{GENDER:$2|zahvaljuje}} {{GENDER:$4|Vam}} za Vašu radnju na stranici <strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$3|Vam}} je {{GENDER:$2|zahvalio|zahvalila}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Jedna osoba poslala Vam je zahvalu|$1 osobe poslale su Vam zahvalu|$1 osoba poslale su Vam zahvalu|100=>&thinsp;Sto i više osoba Vam zahvaljuje}} za {{GENDER:$3|Vaše}} uređivanje na stranici <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|1=Jedna osoba zahvaljuje|$1 osoba zahvaljuje|$1 osobe zahvaljuju|$1 osoba zahvaljuju|100=99 i više osoba zahvaljuju}} {{GENDER:$3|Vam}} za Vašu radnju povezanu uz <strong>$2</strong>.",
"log-name-thanks": "Evidencija zahvala",
- "log-description-thanks": "Slijedi popis suradnika koji su drugim suradnicima objavili zahvalu.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|zahvalio|zahvalila}} je {{GENDER:$4|suradniku|suradnici}} {{GENDER:$4|$3}}",
+ "log-description-thanks": "Slijedi popis suradnika koji su drugim suradnicima poslali zahvalu.",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|zahvaljuje}} {{GENDER:$4|suradniku|suradnici}} {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "Evidencija zahvala",
"thanks-error-no-id-specified": "Morate navesti identifikator (ID) izmjene ili evidencije za koju želite poslati zahvalu.",
"thanks-confirmation-special-log": "Želite li javno zahvaliti za ovu evidencijsku radnju?",
@@ -59,9 +60,10 @@
"notification-link-text-view-logentry": "Vidi evidencijsku stavku",
"thanks-error-invalidpostid": "ID objave nije valjan.",
"flow-thanks-confirmation-special": "Želite li javno zahvaliti za ovo uređivanje?",
- "flow-thanks-thanked-notice": "$1 {{GENDER:$2|primio|primila|primio/la}} je \n{{GENDER:$3|Vašu}} zahvalu za {{GENDER:$2|njegovo|njezino|predmetni}} komentar.",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Vašu}} zahvalu za komentar {{GENDER:$2|primio je suradnik|primila je suradnica|prima}} $1.",
"notification-flow-thanks-post-link": "Vašem komentaru",
"notification-header-flow-thank": "$1 Vam {{GENDER:$2|je zahvalio|je zahvalila|zahvaljuje}} na {{GENDER:$5|Vašem}} komentaru u temi »<strong>$3</strong>«.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|Vam}} šalje {{GENDER:$2|zahvalu}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|1=Jedna osoba zahvaljuje|$1 osoba zahvaljuje|$1 osobe zahvaljuju|$1 osoba zahvaljuju|100=99 i više osoba zahvaljuju}} {{GENDER:$3|Vam}} za Vaš komentar na »<strong>$2</strong>«."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|1=Jedna osoba zahvaljuje|$1 osoba zahvaljuje|$1 osobe zahvaljuju|$1 osoba zahvaljuju|100=99 i više osoba zahvaljuju}} {{GENDER:$3|Vam}} za Vaš komentar na »<strong>$2</strong>«.",
+ "ipb-action-thanks": "Slanje zahvala"
}
diff --git a/Thanks/i18n/hrx.json b/Thanks/i18n/hrx.json
new file mode 100644
index 00000000..73ced231
--- /dev/null
+++ b/Thanks/i18n/hrx.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iohanen"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|danke}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$2|Dem Benutzer|Där Benutzerin}} een Dankescheen {{GENDER:$1|schicke}}"
+}
diff --git a/Thanks/i18n/hsn.json b/Thanks/i18n/hsn.json
new file mode 100644
index 00000000..34144be5
--- /dev/null
+++ b/Thanks/i18n/hsn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChoiChong"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|感谢}}}}"
+}
diff --git a/Thanks/i18n/ht.json b/Thanks/i18n/ht.json
new file mode 100644
index 00000000..8c6daaa5
--- /dev/null
+++ b/Thanks/i18n/ht.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|mèsi}}}}"
+}
diff --git a/Thanks/i18n/hyw.json b/Thanks/i18n/hyw.json
index 76c7c2ba..a7029d29 100644
--- a/Thanks/i18n/hyw.json
+++ b/Thanks/i18n/hyw.json
@@ -5,14 +5,39 @@
"Rajemian"
]
},
+ "thanks-desc": "Կ'աւելցնէ «Շնորհակալ եմ» յղումը էջին պատմութեան խմբագրումներուն տարբերութիւններուն մէջ",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|շնորհակալութիւն}}}}",
- "thanks-button-action-cancel": "Չեղարկել",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|շնորհակալութիւն}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Շնորհակալութիւն}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Շնորհակալութիւն}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Շնորհակալութիւն}}}}",
+ "thanks-button-action-cancel": "Ջնջել",
"thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|շնորհակալութիւն}}}}",
+ "thanks-error-undefined": "Շնորհակալութիւն յայտնելու փորձը անյաջող էր։ Դարձեալ փորձէ՛։",
+ "thanks-error-notitle": "Էջին վերնագիրը չդարմացաւ",
+ "thanks-error-invalidrecipient-bot": "Մեքենքայիկներուն շնորհակալութիւն չենք կրնար յայտնել",
+ "thanks-error-invalidrecipient-self": "Դուն քեզի շնորհակալութիւն չես կրնար յայտնել",
+ "thanks-error-notloggedin": "Անանուն խմբագիրները չեն կրնար շնորհակալութիւն յայտնել",
"thanks-thank-tooltip": "{{GENDER:$1|Ուղարկել}} շնորհակալական գիր մը այս {{GENDER:$2|մասնակիցին}}",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|Ջնջել}} շնորհակալական ծանուցումը",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Յայտնել}} շնորհակալական ծանուցումը",
+ "thanks-confirmation2": "Կ'ուզէ՞ք հրապարակաւ շնորհակալութիւն {{GENDER:$1|յայտնել}}",
+ "thanks-thanked-notice": "{{GENDER:$3|Դուն}} շնորհակալութիւն յայտնեցիր {{GENDER:$2|$1}}ին։",
"thanks": "Շնորհակալութիւն յայտնել",
+ "thanks-submit": "Շնորհակալութիւն յայտնել",
+ "echo-pref-subscription-edit-thank": "Խմբագրումներուս համար զիս շնորհակալութիւն յայտնէ՛",
+ "echo-pref-tooltip-edit-thank": "Զիս տեղեկացո՛ւր, երբ որեւէ մէկը շնորհակալութիւն յայտնած է կատարած խմբագրումներուս համար:",
"echo-category-title-edit-thank": "Շնորհակալութիւն",
+ "notification-thanks-diff-link": "Ձեր խմբագրումը",
+ "notification-header-rev-thank": "$1 մասնակիցը {{GENDER:$4|ձեզ}} {{GENDER:$2|շնորհակալութիւն յայտնած}} է՝ $3 էջին մէջ ձեր կատարած խմբագրման համար։",
"notification-compact-header-edit-thank": "$1 մասնակիցը {{GENDER:$2|շնորհակալութիւն}} յայտնած է {{GENDER:$3|ձեզի}}։",
+ "logentry-thanks-thank": "$1 մասնակիցը {{GENDER:$2|շնորհակալութիւն յայտնած է}} {{GENDER:$4|$3}} մասնակիցին",
+ "thanks-confirmation-special-log": "Կ'ուզէ՞ք հրապարակաւ շնորհակալութիւն յայտնել այս մուտքին համար։",
"thanks-confirmation-special-rev": "Կ'ուզէ՞ք շնորհակալութիւն յայտնել այս խմբագրումին համար։",
+ "notification-link-text-view-post": "Տեսնել մեկնաբանութիւնը",
"flow-thanks-confirmation-special": "Կ'ուզէ՞ք շնորհակալութիւն յայտնել այս մեկնաբանումին համար։",
- "notification-compact-header-flow-thank": "$1 մասնակիցը {{GENDER:$2|շնորհակալութիւն}} յայտնած է {{GENDER:$3|ձեզի}}։"
+ "notification-flow-thanks-post-link": "Ձեր մեկնաբանութիւնը",
+ "notification-compact-header-flow-thank": "$1 մասնակիցը {{GENDER:$2|շնորհակալութիւն}} յայտնած է {{GENDER:$3|ձեզի}}։",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Մէկը|$1 մարդիկ|100=99+ people}} {{GENDER:$3|քեզ}} շնորհակալութիւն յայտնած է՝ մեկնաբանութեանդ համար \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Շնորհակալութիւն յայտնել"
}
diff --git a/Thanks/i18n/id.json b/Thanks/i18n/id.json
index 9c91d2c1..9259bbef 100644
--- a/Thanks/i18n/id.json
+++ b/Thanks/i18n/id.json
@@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Bennylin",
+ "Daud I.F. Argana",
"Gombang",
"Iwan Novirion",
"Kenrick95",
@@ -17,6 +18,9 @@
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|berterima kasih}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Terima kasih}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Terima kasih}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Sedang berterima kasih}}}} kepada $1…",
+ "thanks-button-action-cancel": "Batalkan",
+ "thanks-button-action-completed": "Anda {{GENDER:$1|{{GENDER:$2|telah berterima kasih}}}} kepada $1",
"thanks-error-undefined": "Kiriman terima kasih gagal (kode galat: $1). Mohon coba kembali.",
"thanks-error-invalid-log-id": "Entri log tidak ditemukan",
"thanks-error-invalid-log-type": "Log jenis '$1' tidak ada dalam daftar putih jenis log yang diizinkan.",
@@ -32,7 +36,7 @@
"thanks-error-api-params": "Parameter 'revid' atau 'logid' harus diberikan",
"thanks-thank-tooltip": "{{GENDER:$1|Kirim}} sebuah pemberitahuan terima kasih kepada {{GENDER:$2|pengguna}} ini",
"thanks-thank-tooltip-no": "{{GENDER:$1|Batalkan}} notifikasi terima kasih",
- "thanks-thank-tooltip-yes": "{{GENDER:$1|Kirimkan}} notifikasi terima kasih",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Kirim}} notifikasi terima kasih",
"thanks-confirmation2": "{{GENDER:$1|Kirimkan}} ucapan terima kasih?",
"thanks-thanked-notice": "{{GENDER:$3|Anda}} berterima kasih kepada {{GENDER:$2|$1}}",
"thanks": "Kirim ucapan terima kasih",
@@ -47,7 +51,7 @@
"notification-compact-header-edit-thank": "$1 {{GENDER:$2|mengirimkan terima kasih}} kepada {{GENDER:$3|Anda}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Satu orang|$1 orang|100=99+ orang}} berterima kasih kepada {{GENDER:$3|Anda}} atas suntingan di <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|Satu orang|$1 orang|100=99+ orang}} berterima kasih kepada {{GENDER:$3|Anda}} atas tindakan Anda terkait dengan <strong>$2</strong>/.",
- "log-name-thanks": "Catatan ucapan terima kasih",
+ "log-name-thanks": "Catatan terima kasih",
"log-description-thanks": "Di bawah ini adalah daftar pengguna yang menerima terima kasih dari pengguna lain.",
"logentry-thanks-thank": "$1 {{GENDER:$2|berterima kasih}} kepada {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "Log terima kasih",
@@ -62,5 +66,6 @@
"notification-flow-thanks-post-link": "komentar Anda",
"notification-header-flow-thank": "$1 {{GENDER:$2|mengucapkan terima kasih}} kepada {{GENDER:$5|Anda}} atas komentar di \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|mengirimkan terima kasih}} kepada {{GENDER:$3|Anda}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Satu orang|$1 orang|100=99+ orang}} berterima kasih kepada {{GENDER:$3|Anda}} atas komentar di \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Satu orang|$1 orang|100=99+ orang}} berterima kasih kepada {{GENDER:$3|Anda}} atas komentar di \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Mengirimkan ucapan terima kasih"
}
diff --git a/Thanks/i18n/ie.json b/Thanks/i18n/ie.json
index 9cab8772..7b2a722e 100644
--- a/Thanks/i18n/ie.json
+++ b/Thanks/i18n/ie.json
@@ -1,8 +1,12 @@
{
"@metadata": {
"authors": [
- "OIS"
+ "Mithridates",
+ "OIS",
+ "Renan"
]
},
- "thanks-thank": "mersiar"
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|mersiar}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Inviar}} un mersí a ti-ci {{GENDER:$2|usator}}",
+ "log-name-thanks": "Diarium de mersiamentes"
}
diff --git a/Thanks/i18n/ig.json b/Thanks/i18n/ig.json
new file mode 100644
index 00000000..e478fbbe
--- /dev/null
+++ b/Thanks/i18n/ig.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tochiprecious"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|kelee}}}}"
+}
diff --git a/Thanks/i18n/inh.json b/Thanks/i18n/inh.json
index 07b18e78..affaa05d 100644
--- a/Thanks/i18n/inh.json
+++ b/Thanks/i18n/inh.json
@@ -11,7 +11,7 @@
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Баркал áла}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Баркал аьннад}}}}",
"thanks-thank-tooltip": "{{GENDER:$1|ДIадахьийта}} {{GENDER:$2|укх доакъашхочунна}} баркал",
- "thanks-confirmation2": "ХӀара баркал алар массанена гу йиш йолаш хул. {{GENDER:$1|ДӀадахьийта баркал}}?",
+ "thanks-confirmation2": "Массанена гуш {{GENDER:$1|баркал ала}} дезий?",
"echo-category-title-edit-thank": "Баркал алар",
"log-name-thanks": "Баркал аларий тептар",
"logentry-thanks-thank": "доакъашхочо $1 {{GENDER:$2|баркал аьннад}} {{GENDER:$4|доакъашхочунна}} $3"
diff --git a/Thanks/i18n/io.json b/Thanks/i18n/io.json
index ae7199b7..cb1ebe7c 100644
--- a/Thanks/i18n/io.json
+++ b/Thanks/i18n/io.json
@@ -20,6 +20,7 @@
"notification-bundle-header-log-thank": "{{PLURAL:$1|Ulu|$1 personi|100= plu kam 99 personi}} dankis {{GENDER:$3|vu}} pro vua agado pri <strong>$2</strong>.",
"log-name-thanks": "Protokolo pri danko",
"logentry-thanks-thank": "$1 {{GENDER:$2|dankis}} a {{GENDER:$4|$3}}",
+ "thanks-confirmation-special-rev": "Ka vu deziras dankar publike ca redaktero pro ilua redakto?",
"notification-link-text-view-post": "Videz komento",
"flow-thanks-confirmation-special": "Ka vu deziras dankar publike ca komento?",
"notification-header-flow-thank": "$1 {{GENDER:$2|dankis}} {{GENDER:$5|vu}} pro vua komento pri «<strong>$3</strong>».",
diff --git a/Thanks/i18n/ish.json b/Thanks/i18n/ish.json
new file mode 100644
index 00000000..070bbf9f
--- /dev/null
+++ b/Thanks/i18n/ish.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hackesan"
+ ]
+ },
+ "thanks-thank": "{{GEND:$1|{{GENDER:$22|obulu}}}}"
+}
diff --git a/Thanks/i18n/it.json b/Thanks/i18n/it.json
index 15bb657f..63c255bd 100644
--- a/Thanks/i18n/it.json
+++ b/Thanks/i18n/it.json
@@ -9,6 +9,7 @@
"Fringio",
"Horcrux92",
"Macofe",
+ "Mannivu",
"Sakretsu",
"Valepert"
]
diff --git a/Thanks/i18n/ja.json b/Thanks/i18n/ja.json
index d2d529a0..ca512c1b 100644
--- a/Thanks/i18n/ja.json
+++ b/Thanks/i18n/ja.json
@@ -35,8 +35,8 @@
"thanks-error-ratelimited": "{{GENDER:$1|}}速度制限を超えました。しばらくしてからもう一度やり直してください。",
"thanks-error-api-params": "「revid」または「logid」のいずれかを指定してください",
"thanks-thank-tooltip": "この{{GENDER:$2|利用者}}に感謝の通知を{{GENDER:$1|送信する}}",
- "thanks-thank-tooltip-no": "感謝の通知の送信を{{GENDER:$1|取り消し}}ました。",
- "thanks-thank-tooltip-yes": "感謝の通知を{{GENDER:$1|送信}}しました。",
+ "thanks-thank-tooltip-no": "感謝の通知の送信を{{GENDER:$1|取り消す}}",
+ "thanks-thank-tooltip-yes": "感謝の通知を{{GENDER:$1|送信}}",
"thanks-confirmation2": "公開の場で感謝を{{GENDER:$1|示しますか}}?",
"thanks-thanked-notice": "{{GENDER:$3|あなた}}から{{GENDER:$2|$1}}の編集に感謝を示しました。",
"thanks": "感謝を示す",
diff --git a/Thanks/i18n/ka.json b/Thanks/i18n/ka.json
index 14b7bfdc..0ac0c47f 100644
--- a/Thanks/i18n/ka.json
+++ b/Thanks/i18n/ka.json
@@ -10,13 +10,13 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|მადლობა}}}}",
- "thanks-thanked": "{{GENDER:$1|მადლობა გადახდილია}}",
- "thanks-button-thank": "{{GENDER:$1|მადლობა}}",
- "thanks-button-thanked": "{{GENDER:$1|მადლობა გადახდილია}}",
- "thanks-error-undefined": "მადლობის გადახდა ვერ მოხერხდა. გთხოვ სცადეთ კიდევ.",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|მადლობა გადახდილია}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|მადლობა}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|მადლობა გადახდილია}}}}",
+ "thanks-error-undefined": "მადლობის გადახდა ვერ მოხერხდა (შეცდომის კოდი: $1). გთხოვ სცადეთ კიდევ.",
"thanks-thank-tooltip": "{{GENDER:$2|ამ მომხმარებლისათვის}} სამადლობელი შეტყობინების {{GENDER:$1|გაგზავნა}}",
- "thanks-confirmation2": "გსურთ ამ რედაქტირებისათვის მადლობა {{GENDER:$1|გააგზავნოთ}}?",
- "thanks-thanked-notice": "მომხმარებელს/მომხმარებლებს $1 გაეგზავნა(თ) შეტყობინება, რომ თქვენ მოიწონეთ {{GENDER:$2|მისი|მისი|მათი}} რედაქტირება.",
+ "thanks-confirmation2": "საჯარო მადლობის {{GENDER:$1|გაგზავნა}}?",
+ "thanks-thanked-notice": "{{GENDER:$3|თქვენ}} მადლობა გადაუხადეთ მომხმარებელს {{GENDER:$2|$1}}.",
"thanks": "გადაუხადე მადლობა",
"thanks-submit": "გადაუხადე მადლობა",
"echo-pref-subscription-edit-thank": "მადლობა ჩემი რედაქტირებისათვის",
diff --git a/Thanks/i18n/kaa.json b/Thanks/i18n/kaa.json
new file mode 100644
index 00000000..ac61bd03
--- /dev/null
+++ b/Thanks/i18n/kaa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Inabat Allanova"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|raxmet}}}}"
+}
diff --git a/Thanks/i18n/kcg.json b/Thanks/i18n/kcg.json
new file mode 100644
index 00000000..96677b2a
--- /dev/null
+++ b/Thanks/i18n/kcg.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Kambai Akau"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|gwai ma̱ng}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Ta̱m ma̱ng}} {{GENDER:$2|a̱tyuta̱m}} wuni a̱lama gwai"
+}
diff --git a/Thanks/i18n/kea.json b/Thanks/i18n/kea.json
new file mode 100644
index 00000000..9b6d15e9
--- /dev/null
+++ b/Thanks/i18n/kea.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Waldyrious"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|agradesi}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|agradesidu}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Agradesi}}}}",
+ "thanks-confirmation2": "{{GENDER:$1|Manda}} un agradesimentu públiku?",
+ "thanks": "Manda agradesimentu",
+ "thanks-submit": "Manda agradesimentu"
+}
diff --git a/Thanks/i18n/kk-cyrl.json b/Thanks/i18n/kk-cyrl.json
index 8e693c24..24428bae 100644
--- a/Thanks/i18n/kk-cyrl.json
+++ b/Thanks/i18n/kk-cyrl.json
@@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Arystanbek",
- "Macofe"
+ "Macofe",
+ "СеніңШешең"
]
},
"thanks-desc": "Қатысушылардың өңдемелеріне, пікірлеріне және тағы басқаларға рахмет айту үшін сілтемелерді қосу",
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|рахмет}}}}",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|рақмет}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|рахмет айттыңыз}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Рахметіңізді білдіру}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Рахмет білдірілді}}}}",
diff --git a/Thanks/i18n/ko.json b/Thanks/i18n/ko.json
index d5390d6f..6e0a13a6 100644
--- a/Thanks/i18n/ko.json
+++ b/Thanks/i18n/ko.json
@@ -71,5 +71,6 @@
"flow-thanks-thanked-notice": "{{GENDER:$3|당신}}이 {{GENDER:$2|그의|그녀의|그 사용자의}} 댓글에 감사를 표했습니다.",
"notification-flow-thanks-post-link": "당신의 의견",
"notification-compact-header-flow-thank": "$1 님이 {{GENDER:$3|당신}}에게 {{GENDER:$2|감사를 표했습니다}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|사람 한 명|사람 $1명|100=사람 99명 이상}}이 \"<strong>$2</strong>\"에 {{GENDER:$3|당신}}이 남긴 댓글에 감사를 표했습니다."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|사람 한 명|사람 $1명|100=사람 99명 이상}}이 \"<strong>$2</strong>\"에 {{GENDER:$3|당신}}이 남긴 댓글에 감사를 표했습니다.",
+ "ipb-action-thanks": "감사 표현 보내기"
}
diff --git a/Thanks/i18n/kr.json b/Thanks/i18n/kr.json
new file mode 100644
index 00000000..2ef74d9c
--- /dev/null
+++ b/Thanks/i18n/kr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mohammedbama123"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|askǝrne}}}}"
+}
diff --git a/Thanks/i18n/ks-arab.json b/Thanks/i18n/ks-arab.json
new file mode 100644
index 00000000..66d6e2b5
--- /dev/null
+++ b/Thanks/i18n/ks-arab.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iflaq",
+ "Teashae"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|شُکرِیا}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|شُکرِیا}}}}",
+ "thanks-button-action-cancel": "مَنسوٗخ",
+ "echo-category-title-edit-thank": "شُکرِیا"
+}
diff --git a/Thanks/i18n/ku-latn.json b/Thanks/i18n/ku-latn.json
index 9b11e97d..0890045f 100644
--- a/Thanks/i18n/ku-latn.json
+++ b/Thanks/i18n/ku-latn.json
@@ -9,5 +9,6 @@
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|spas}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|hate spaskirin}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Spas}}}}",
+ "thanks-thank-tooltip": "Ji {{GENDER:$2|vî bikarhênerî|vê bikarhênerê}} re danezaneke sipasiyê {{GENDER:$1|bişîne}}",
"echo-category-title-edit-thank": "Spas"
}
diff --git a/Thanks/i18n/lad.json b/Thanks/i18n/lad.json
new file mode 100644
index 00000000..a404f546
--- /dev/null
+++ b/Thanks/i18n/lad.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "WikiiiTranslator"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|agradeser}}}}"
+}
diff --git a/Thanks/i18n/lb.json b/Thanks/i18n/lb.json
index 4672dc9b..57e54116 100644
--- a/Thanks/i18n/lb.json
+++ b/Thanks/i18n/lb.json
@@ -40,5 +40,6 @@
"flow-thanks-confirmation-special": "Wëllt Dir ëffentlech fir dës Bemierkung e 'Merci' schécken?",
"notification-flow-thanks-post-link": "Är Bemierkung",
"notification-header-flow-thank": "$1 {{GENDER:$2|huet}} {{GENDER:$5|Iech}} fir Är Bemierkung op \"<strong>$3</strong>\" Merci gesot.",
- "notification-compact-header-flow-thank": "$1 huet {{GENDER:$3|Iech}} {{GENDER:$2|Merci gesot}} ."
+ "notification-compact-header-flow-thank": "$1 huet {{GENDER:$3|Iech}} {{GENDER:$2|Merci gesot}} .",
+ "ipb-action-thanks": "Merci schécken"
}
diff --git a/Thanks/i18n/lbe.json b/Thanks/i18n/lbe.json
new file mode 100644
index 00000000..86120ac9
--- /dev/null
+++ b/Thanks/i18n/lbe.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Soul Train"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|барча бан}}}}"
+}
diff --git a/Thanks/i18n/lez.json b/Thanks/i18n/lez.json
new file mode 100644
index 00000000..c4fedc15
--- /dev/null
+++ b/Thanks/i18n/lez.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Soul Train"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|сагьрай}}}}"
+}
diff --git a/Thanks/i18n/lij.json b/Thanks/i18n/lij.json
index a6590b53..07788b40 100644
--- a/Thanks/i18n/lij.json
+++ b/Thanks/i18n/lij.json
@@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Giromin Cangiaxo",
+ "N. Longo",
"S4b1nuz E.656"
]
},
"thanks-desc": "A l'azonze un ingancio pe ringrassiâ i utenti pe de modiffiche, di commenti, ecc.",
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ringrassia}}}}",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ringràçia}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ringrassiou|ringrassiâ|ringrassiou/â}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Ringrassia}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|ringrassiou|ringrassiâ|ringrassiou/â}}}}",
diff --git a/Thanks/i18n/lmo.json b/Thanks/i18n/lmo.json
new file mode 100644
index 00000000..5d8c452e
--- /dev/null
+++ b/Thanks/i18n/lmo.json
@@ -0,0 +1,62 @@
+{
+ "@metadata": {
+ "authors": [
+ "Salvemm el lombard"
+ ]
+ },
+ "thanks-desc": "El sgionta un conligament per ringrazzià i utent per i modifiche, i coment, eccetera.",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ringrazziel}}|{{GENDER:$2|ringrazziala}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ringraziad|ringraziada|ringraziad/da}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Ringrazzia}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Ringraziado|Ringraziada|Ringraziad/da}}}}",
+ "thanks-button-action-queued": "Adree a ringrazzià {{GENDER:$1|{{GENDER:$2|el $1…|la $1…|el/la $1…}}}}",
+ "thanks-button-action-cancel": "Anulla",
+ "thanks-button-action-completed": "T'hee ringrazziad {{GENDER:$1|{{GENDER:$2|el $1…|la $1…|el/la $1…}}}}",
+ "thanks-error-undefined": "Eror in del cors del rigraziament (codes eror: $1). Prova anmò.",
+ "thanks-error-invalid-log-id": "Vos de register minga trovada",
+ "thanks-error-invalid-log-type": "El tipo de register '$1' l'è minga in la lista di tipi de register permetud.",
+ "thanks-error-log-deleted": "La vos de register l'è stada scancelada e per quella reson chì a se po fa minga el ringrazziament.",
+ "thanks-error-invalidrevision": "L'Id de la version l'è minga valid.",
+ "thanks-error-revdeleted": "Impossibel mandà i ringrazziament perchè la revision l'è stada scacelada.",
+ "thanks-error-notitle": "A l'è stad minga possibil recuperà el titol de la pagina",
+ "thanks-error-invalidrecipient": "A l'è stad trovad nissun destinatari valid",
+ "thanks-error-invalidrecipient-bot": "A se po minga ringrazzià i bot",
+ "thanks-error-invalidrecipient-self": "Te podet minga ringrazziass",
+ "thanks-error-notloggedin": "I utent anonim i poden minga mandà di ringrzziament",
+ "thanks-error-ratelimited": "{{GENDER:$1|t'hee sorpassad}} el numer massim de ringrazziament. Speta un poo de temp e prova anmò.",
+ "thanks-error-api-params": "I gh'hann de vesser fornid tant el parametro 'revid', quant el parametro 'logid'",
+ "thanks-thank-tooltip": "{{GENDER:$1|Manda}} una notifica de ringrazzià {{GENDER:$2|quell utent chì}}",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|Anula}} la notifica de ringrazziament",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Spediss}} la notifica de ringrazziament",
+ "thanks-confirmation2": "{{GENDER:$1|Mandà}} un ringrazziament publicament?",
+ "thanks-thanked-notice": "{{GENDER:$3|T'hee ringtrazziad}} {{GENDER:$2|el $1|el $1|el/la $1}}.",
+ "thanks": "Manda i ringrazziament",
+ "thanks-submit": "Manda i ringrazziament",
+ "echo-pref-subscription-edit-thank": "El me ringrazia per una mia modifica",
+ "echo-pref-tooltip-edit-thank": "Avisom quand che un quaivun el me ringrazzia per una notifica che hoo fad.",
+ "echo-category-title-edit-thank": "Ringrazziament",
+ "notification-thanks-diff-link": "la toa modifega",
+ "notification-header-rev-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$4|t'ha ringraziad}} per la toa modifica in su <strong>$3</strong>.",
+ "notification-header-creation-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$4|t'ha ringraziad|t'ha ringraziada|t'ha ringraziad/da}} de avè cread la pagina <strong>$3</strong>.",
+ "notification-header-log-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$4|t'ha ringraziad|t'ha ringraziada|t'ha ringraziad/da}} per la toa azzion in su <strong>$3</strong>",
+ "notification-compact-header-edit-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$3|t'ha ringraziad|t'ha ringraziada|t'ha ringraziad/da}}",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Una persona la t'hà|$1 persone i t'hann|100=Pussée de 99 persone i t'hann}} {{GENDER:$3|ringraziad}} per la toa modifica in su <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|Una persona la t'hà|$1 persone i t'hann|100=Pussée de 99 persone i t'hann}} {{GENDER:$3|ringraziad}} per la azzion in su <strong>$2</strong>.",
+ "log-name-thanks": "Register di ringrazziament",
+ "log-description-thanks": "Chi de sota gh'è la lista di utent ringrazziad di alter utent.",
+ "logentry-thanks-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} t'hà ringrazziad {{GENDER:$4|el $3|la $3|el/la $3}}",
+ "logeventslist-thanks-log": "Register di ringrazziament",
+ "thanks-error-no-id-specified": "Te gh'heet de specifegà un ID de la version o un register per ringrazià.",
+ "thanks-confirmation-special-log": "Te veouret ringrazzià publicament per questa azzion in del register?",
+ "thanks-confirmation-special-rev": "Te voeuret ringrazzià publicament per questa modifica chì?",
+ "notification-link-text-view-post": "Varda el coment",
+ "notification-link-text-view-logentry": "Varda l'element del register",
+ "thanks-error-invalidpostid": "L'ID del messagg l'è minga valid.",
+ "flow-thanks-confirmation-special": "Te voeuret ringrazzià publicament per quell coment chì?",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|T'hee ringraziad}} $1 per {{GENDER:$2|el so}} coment.",
+ "notification-flow-thanks-post-link": "el to coment",
+ "notification-header-flow-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$5|t'hà}} ringrazziad per el to coment in \"<strong>$3</strong>\".",
+ "notification-compact-header-flow-thank": "{{GENDER:$2|El $1 el|La $1 la|El/la $1 el/la}} {{GENDER:$3|t'ha ringraziad}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Una persona la t'hà|$1 persone i t'hann|100=Pussée de 99 persone i t'hann}} {{GENDER:$3|ringraziad|ringraziada|ringraziad/a}} per el to coment in \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Mandà i ringrazziament"
+}
diff --git a/Thanks/i18n/lt.json b/Thanks/i18n/lt.json
index 73cec76c..a104ad25 100644
--- a/Thanks/i18n/lt.json
+++ b/Thanks/i18n/lt.json
@@ -21,7 +21,7 @@
"thanks-button-action-completed": "Jūs {{GENDER:$1|{{GENDER:$2|padėkojote}}}} $1",
"thanks-error-undefined": "Padėkoti nepavyko (klaidos kodas: $1). Prašome pabandyti dar kartą.",
"thanks-error-invalidrevision": "Netinkamas versijos ID",
- "thanks-error-revdeleted": "Versija buvo ištrinta",
+ "thanks-error-revdeleted": "Neįmanoma padėkoti, nes ši versija buvo ištrinta.",
"thanks-error-notitle": "Nepavyko gauti puslapio pavadinimo",
"thanks-error-invalidrecipient": "Nerastas tinkamas recipientas",
"thanks-error-invalidrecipient-bot": "Negalima padėkoti robotams",
diff --git a/Thanks/i18n/lv.json b/Thanks/i18n/lv.json
index 68254e11..98f45d37 100644
--- a/Thanks/i18n/lv.json
+++ b/Thanks/i18n/lv.json
@@ -44,6 +44,8 @@
"notification-header-creation-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$4|tev}} par <strong>$3</strong> izveidi.",
"notification-header-log-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$4|tev}} par tavu darbību saistībā ar <strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$3|tev}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|$1 cilvēks|$1 cilvēki|100=99+ cilvēki}} pateicās {{GENDER:$3|tev}} par tavu labojumu <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|$1 cilvēks|$1 cilvēki|100=99+ cilvēki}} pateicās {{GENDER:$3|tev}} par tavu darbību saistībā ar <strong>$2</strong>.",
"log-name-thanks": "Pateicību žurnāls",
"log-description-thanks": "Zemāk ir saraksts ar lietotājiem, kuriem citi lietotāji ir pateikušies.",
"logentry-thanks-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$4|$3}}",
@@ -58,5 +60,7 @@
"flow-thanks-thanked-notice": "{{GENDER:$3|Tu}} pateicies $1 par {{GENDER:$2|viņa|viņas|viņa}} komentāru.",
"notification-flow-thanks-post-link": "tavs komentārs",
"notification-header-flow-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$5|tev}} par tavu komentāru tēmā \"<strong>$3</strong>\".",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$3|tev}}."
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$2|pateicās}} {{GENDER:$3|tev}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|$1 cilvēks|$1 cilvēki|100=99+ cilvēki}} pateicās {{GENDER:$3|tev}} par tavu komentāru par \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Pateicību sūtīšana"
}
diff --git a/Thanks/i18n/mad.json b/Thanks/i18n/mad.json
new file mode 100644
index 00000000..0a38a0d1
--- /dev/null
+++ b/Thanks/i18n/mad.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Boesenbergia"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ngoca' kaso'on}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Kèrèm}} sèttong partèla pamator sakalangkong ḍâ' {{GENDER:$2|pangangghuy}} arèya"
+}
diff --git a/Thanks/i18n/mag.json b/Thanks/i18n/mag.json
new file mode 100644
index 00000000..683b9deb
--- /dev/null
+++ b/Thanks/i18n/mag.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ऐक्टिवेटेड्"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|धन्यबाद द}}}}"
+}
diff --git a/Thanks/i18n/mk.json b/Thanks/i18n/mk.json
index 49b2f50a..d2e44323 100644
--- a/Thanks/i18n/mk.json
+++ b/Thanks/i18n/mk.json
@@ -16,7 +16,7 @@
"thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|Се заблагодаривте на}}}} $1",
"thanks-error-undefined": "Заблагодарувањето не успеа (код на грешката: $1). Обидете се повторно.",
"thanks-error-invalid-log-id": "Не ја пронајдов дневничката ставка",
- "thanks-error-invalid-log-type": "Нема дневник од видот „$1“ на белиот список на дозволени видови дневници.",
+ "thanks-error-invalid-log-type": "Нема дневник од видот „$1“ на списокот на дозволени видови дневници.",
"thanks-error-log-deleted": "Побараната дневничка ставка е избришана и затоа не може да се благодари за неа.",
"thanks-error-invalidrevision": "Преработката има неважечка назнака.",
"thanks-error-revdeleted": "Не можам да благодарам бидејќи преработката е избришана.",
@@ -59,5 +59,6 @@
"notification-flow-thanks-post-link": "вашиот коментар",
"notification-header-flow-thank": "$1 {{GENDER:$5|ви}} {{GENDER:$2|благодари}} за вашиот коментар на „<strong>$3</strong>“.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|ви}} се {{GENDER:$2|заблагодари}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Едно лице ви благодари|$1 луѓе ви благодарат|100=Преку 99 луѓе ви благодарат}} за {{GENDER:$3|вашиот}} коментар на „<strong>$2</strong>“."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Едно лице ви благодари|$1 луѓе ви благодарат|100=Преку 99 луѓе ви благодарат}} за {{GENDER:$3|вашиот}} коментар на „<strong>$2</strong>“.",
+ "ipb-action-thanks": "Испраќање на благодарница"
}
diff --git a/Thanks/i18n/mnc.json b/Thanks/i18n/mnc.json
new file mode 100644
index 00000000..0f404b84
--- /dev/null
+++ b/Thanks/i18n/mnc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chulsu463"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|baniha}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|ulambi}}emke baniha sinde mejige{{GENDER:$2|baitalasi}}"
+}
diff --git a/Thanks/i18n/mni.json b/Thanks/i18n/mni.json
index d2df5112..adeb8e1c 100644
--- a/Thanks/i18n/mni.json
+++ b/Thanks/i18n/mni.json
@@ -3,11 +3,11 @@
"authors": [
"Amire80",
"Awangba Mangang",
- "Laishram Lokendro"
+ "Laishram Lokendro",
+ "꯴꯰꯴"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ꯊꯥꯒꯠꯆꯔꯤ}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Send}} a thank you notification to this {{GENDER:$2|ꯁꯤꯖꯤꯟꯅꯔꯤꯕ}}",
- "thanks-confirmation2": "{{GENDER:$1|Send}} public thanks for this edit?",
+ "thanks-thank-tooltip": "ꯃꯁꯤꯒꯤ{{GENDER:$2|ꯁꯤꯖꯤꯟꯅꯔꯤꯕ}} ꯑꯁꯤꯗ ꯑꯗꯣꯝꯕꯨ ꯊꯥꯒꯠꯆꯔꯤ ꯍꯥꯏꯕ ꯅꯣꯇꯤꯐꯤꯀꯦꯁꯟ ꯑꯗꯨ {{GENDER:$1|ꯊꯥꯁꯤ}}",
"flow-thanks-confirmation-special": "nahak waphamsigidamak mayamda thagat-waheising piningbra?"
}
diff --git a/Thanks/i18n/mos.json b/Thanks/i18n/mos.json
new file mode 100644
index 00000000..ff2feceb
--- /dev/null
+++ b/Thanks/i18n/mos.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hasslaebetch"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|pʋʋs barka}}}}"
+}
diff --git a/Thanks/i18n/ms-arab.json b/Thanks/i18n/ms-arab.json
new file mode 100644
index 00000000..ebc49a63
--- /dev/null
+++ b/Thanks/i18n/ms-arab.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tofeiku"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|هرݢاءي}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|هانتر}} ڤمبريتاهوان تريما کاسيه ک{{GENDER:$2|ڤڠݢونا}} اين"
+}
diff --git a/Thanks/i18n/my.json b/Thanks/i18n/my.json
index c0a08403..bac8cc81 100644
--- a/Thanks/i18n/my.json
+++ b/Thanks/i18n/my.json
@@ -42,5 +42,6 @@
"notification-flow-thanks-post-link": "သင်၏မှတ်ချက်",
"notification-header-flow-thank": "$1 က \"<strong>$3</strong>\" ရှိ သင်၏မှတ်ချက်အတွက် {{GENDER:$5|သင့်ကို}} {{GENDER:$2|ကျေးဇူးတင်ခဲ့သည်}}။",
"notification-compact-header-flow-thank": "$1 က {{GENDER:$3|သင်}}အား {{GENDER:$2|ကျေးဇူးတင်ခဲ့}}သည်။",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|လူတစ်ယောက်|လူ $1 ယောက်|100=99+ လူပေါင်း}} က {{GENDER:$3|သင့်ကို}} <strong>$2</strong> ပေါ်ရှိသင်၏မှတ်ချက်အတွက် ကျေးဇူးတင်ခဲ့သည်။"
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|လူတစ်ယောက်|လူ $1 ယောက်|100=99+ လူပေါင်း}} က {{GENDER:$3|သင့်ကို}} <strong>$2</strong> ပေါ်ရှိသင်၏မှတ်ချက်အတွက် ကျေးဇူးတင်ခဲ့သည်။",
+ "ipb-action-thanks": "ကျေးဇူးတင်မှု ပို့ခြင်း"
}
diff --git a/Thanks/i18n/mzn.json b/Thanks/i18n/mzn.json
index a9f31ac0..bedfed86 100644
--- a/Thanks/i18n/mzn.json
+++ b/Thanks/i18n/mzn.json
@@ -5,5 +5,6 @@
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|تشکر}}}}",
- "thanks-thank-tooltip": " {{GENDER:$2|کارور}} وسّه تشکر ِپیغوم {{GENDER:$1|برسنی‌ین}}"
+ "thanks-thank-tooltip": " {{GENDER:$2|کارور}} وسّه تشکر ِپیغوم {{GENDER:$1|برسنی‌ین}}",
+ "notification-header-rev-thank": "$1، {{GENDER:$4|شمجه}} <strong>$3</strong> دچی‌ین وسّه، {{GENDER:$2|تشکر هاکرده}}."
}
diff --git a/Thanks/i18n/nb.json b/Thanks/i18n/nb.json
index 539a4c7c..0c433b24 100644
--- a/Thanks/i18n/nb.json
+++ b/Thanks/i18n/nb.json
@@ -20,7 +20,7 @@
"thanks-button-action-completed": "Du {{GENDER:$1|{{GENDER:$2|takket}}}} $1",
"thanks-error-undefined": "Takkehandlingen feilet (feilkode: $1). Prøv igjen.",
"thanks-error-invalid-log-id": "Loggpost ble ikke funnet",
- "thanks-error-invalid-log-type": "Loggtypen '$1' er ikke i hvitelisten over tillatte loggtyper.",
+ "thanks-error-invalid-log-type": "Loggtypen «$1» er ikke i listen over tillatte loggtyper.",
"thanks-error-log-deleted": "Den forespurte loggposten har blitt sletta og kan ikke takkes for.",
"thanks-error-invalidrevision": "Revisjons-ID er ikke gyldig.",
"thanks-error-revdeleted": "Kunne ikke sende takk fordi revisjonen har blitt sletta.",
@@ -63,5 +63,6 @@
"notification-flow-thanks-post-link": "kommentaren din",
"notification-header-flow-thank": "$1 {{GENDER:$2|takket}} for kommentaren {{GENDER:$5|din}} under overskriften «<strong>$3</strong>».",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|takket}} {{GENDER:$3|deg}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Én person|$1 personer|100=99+ personer}} takket for kommentaren {{GENDER:$3|din}} under «<strong>$2</strong>»."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Én person|$1 personer|100=99+ personer}} takket for kommentaren {{GENDER:$3|din}} under «<strong>$2</strong>».",
+ "ipb-action-thanks": "Sender takk"
}
diff --git a/Thanks/i18n/ne.json b/Thanks/i18n/ne.json
index e3541a47..ccebb2cf 100644
--- a/Thanks/i18n/ne.json
+++ b/Thanks/i18n/ne.json
@@ -1,8 +1,10 @@
{
"@metadata": {
"authors": [
+ "Bada Kaji",
"NehalDaveND",
"Nirjal stha",
+ "बडा काजी",
"बिप्लब आनन्द",
"राम प्रसाद जोशी",
"सरोज कुमार ढकाल",
@@ -11,31 +13,50 @@
},
"thanks-desc": "प्रयोगकर्ताहरूलाई तिनीहरूको सम्पादन, टिप्पणी आदिको लागि धन्यवाद दिने लिङ्क जोड्ने।",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दिनुहोस्}}}}",
- "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दिइयो}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|तपाईँले धन्यवाद दिनुभयो}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|धन्यवाद}}}}",
- "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|धन्यवाद दिइयो}}}}",
- "thanks-error-undefined": "धन्यवाद दिने कार्य विफल भयो। कृपया पुनः प्रयास गर्नुहोस।",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|तपाईँले धन्यवाद दिनुभयो}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|लाई धन्यवाद दिँदै}}}} $1…",
+ "thanks-button-action-cancel": "रद्द गर्नुहोस्",
+ "thanks-button-action-completed": "तपाईंले {{GENDER:$1|{{GENDER:$2|धन्यवाद दिनुभयो}}}} $1",
+ "thanks-error-undefined": "धन्यवाद कार्य असफल भयो (त्रुटि: $1)। फेरि प्रयास गर्नुहोस।",
+ "thanks-error-invalid-log-id": "अभिलेख प्रविष्टि फेला परेन",
"thanks-error-invalidrevision": "अवतरण आइडी मान्य छैन।",
+ "thanks-error-notitle": "पृष्ठ शीर्षक पुन: प्राप्त गर्न सकिएन",
+ "thanks-error-invalidrecipient": "कुनै मान्य प्रयोगकर्ता फेला परेन",
+ "thanks-error-invalidrecipient-bot": "बटहरूलाई धन्यवाद दिन सकिँदैन",
+ "thanks-error-invalidrecipient-self": "तपाईं आफैलाई धन्यवाद दिन सक्नुहुन्न",
+ "thanks-error-notloggedin": "अज्ञात प्रयोगकर्ताहरूले धन्यवाद पठाउन सक्दैनन्",
"thanks-error-ratelimited": "{{GENDER:$1|तपाईं}} आफ्नो दर सीमा पार गरिसक्नु भएको छ। कृपया केही समय पछी पुनः प्रयास गर्नुहोला।",
"thanks-thank-tooltip": "यस {{GENDER:$2|प्रयोगकर्ता}}लाई धन्यवाद अधिसूचना {{GENDER:$1|पठाउने}}।",
- "thanks-confirmation2": "यो सम्पादनको लागि धन्यवाद {{GENDER:$1|दिनुहोस्}}",
+ "thanks-thank-tooltip-no": "धन्यवाद सूचनालाई {{GENDER:$1|रद्द गर्नुहोस्}}",
+ "thanks-thank-tooltip-yes": "धन्यवाद सूचना {{GENDER:$1|पठाउनुहोस्}}",
+ "thanks-confirmation2": "के तपाईंले सार्वजनिक रूपमा धन्यवाद {{GENDER:$1|पठाउन}} चाहनुहुन्छ?",
"thanks-thanked-notice": "तपाईंलाई {{GENDER:$2|उसले|उनले|उनिहरूले}} गरेको सम्पादन मन परेको छ भन्ने सूचना $1लाई पठाइएको छ ।",
"thanks": "धन्यवाद पठाउनुहोस्",
"thanks-submit": "धन्यवाद पठाउनुहोस्",
+ "echo-pref-subscription-edit-thank": "मेरो सम्पादनको लागि धन्यवाद",
"echo-pref-tooltip-edit-thank": "कसैले मेरो सम्पादनको लागि मलाई धन्यवाद दिएमा मलाई सूचित गर्ने ।",
"echo-category-title-edit-thank": "धन्यवाद",
"notification-thanks-diff-link": "तपाईंको सम्पादन",
- "notification-header-rev-thank": "$1 ले {{GENDER:$4|तपाईंलाई}} तपाईंको सम्पादन <strong>$3</strong> को लागि {{GENDER:$2|धन्यवाद दिएका छन्}} ।",
+ "notification-header-rev-thank": "$1ले {{GENDER:$4|तपाईंलाई}} \"<strong>$3</strong>\"को सम्पादनको लागी {{GENDER:$2|धन्यवाद दिनुभएको छ}}।",
"notification-header-creation-thank": "$1 {{GENDER:$2|धन्यवाद}} {{GENDER:$4|तपाईकाे}} सृजनाका लागि <strong>$3</strong> छ।",
+ "notification-compact-header-edit-thank": "$1ले {{GENDER:$3|तपाईं}}लाई {{GENDER:$2|धन्यवाद}} दिनुभो।",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|एक व्यक्ति|$1 व्यक्तिहरू|100=99+ व्यक्तिहरू}}ले {{GENDER:$3|तपाईंलाई}} <strong>$2</strong>मा तपाईंले गरेको सम्पादनको लागि धन्यवाद दिएका छन् ।",
- "log-name-thanks": "धन्यवाद लग",
+ "log-name-thanks": "धन्यवाद अभिलेखहरू",
"log-description-thanks": "अन्य प्रयोगकर्ताहरूद्वारा धन्यवाद पाउने प्रयोगकर्ताहरूको सूची निम्न रहेको छ।",
- "logentry-thanks-thank": "$1ले {{GENDER:$4|$3}}लाई {{GENDER:$2|धन्यवाद दिएको छ}}",
+ "logentry-thanks-thank": "$1ले {{GENDER:$4|$3}}लाई {{GENDER:$2|धन्यवाद दिनुभएको छ}}",
+ "logeventslist-thanks-log": "धन्यवाद अभिलेखहरू",
"thanks-error-no-id-specified": "धन्यवाद गर्नको लागि तपाईंलाई कुनै एक पुनरीक्षण ठेगाना निर्दिष्ट गर्नु पर्ने हो।",
+ "thanks-confirmation-special-log": "के तपाईं सार्वजनिक रूपमा धन्यवाद पठाउन चाहनुहुन्छ?",
+ "thanks-confirmation-special-rev": "के तपाईं सार्वजनिक रूपमा यो सम्पादनको लागि धन्यवाद पठाउन चाहनुहुन्छ?",
"notification-link-text-view-post": "टिप्पणी हेर्ने",
+ "notification-link-text-view-logentry": "अभिलेख प्रविष्टि हेर्नुहोस्",
"thanks-error-invalidpostid": "पोस्ट ठेगाना अमान्य छ।",
"flow-thanks-confirmation-special": "के तपाईं यस प्रतिक्रियाको लागि धन्यवाद पठाउन चाहनुहुन्छ?",
"flow-thanks-thanked-notice": "तपाईंलाई {{GENDER:$2|उसले|उनले|उनिहरूले}} दिएको प्रतिक्रिया मन परेको छ भन्ने सूचना $1लाई पठाइएको छ ।",
+ "notification-flow-thanks-post-link": "तपाईको टिप्पणी",
"notification-header-flow-thank": " \"<strong>$3</strong>\" मा तपाईँको प्रतिक्रियाको लागि $1 ले {{GENDER:$5|तपाईँलाई}} {{GENDER:$2|धन्यवाद}} दिनुभो ।",
- "notification-compact-header-flow-thank": "$1 ले {{GENDER:$3|तपाईँ}}लाई {{GENDER:$2|धन्यवाद}} दिनुभो ।"
+ "notification-compact-header-flow-thank": "$1ले {{GENDER:$3|तपाईं}}लाई {{GENDER:$2|धन्यवाद}} दिनुभो।",
+ "ipb-action-thanks": "धन्यवाद पठाउँदै"
}
diff --git a/Thanks/i18n/nia.json b/Thanks/i18n/nia.json
new file mode 100644
index 00000000..64abca66
--- /dev/null
+++ b/Thanks/i18n/nia.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Slaia"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|andrö saohagölö}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Send}} manguma'ö saohagölö khö {{GENDER:$2|user}}"
+}
diff --git a/Thanks/i18n/nmz.json b/Thanks/i18n/nmz.json
new file mode 100644
index 00000000..c47419d6
--- /dev/null
+++ b/Thanks/i18n/nmz.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "GastonJeremiah"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|hɛra ŋwɛɛgb}}}}"
+}
diff --git a/Thanks/i18n/nod.json b/Thanks/i18n/nod.json
new file mode 100644
index 00000000..fe3cdac7
--- /dev/null
+++ b/Thanks/i18n/nod.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Noktonissian"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ᨿᩥ᩠ᨶᨯᩦ}}}}"
+}
diff --git a/Thanks/i18n/nqo.json b/Thanks/i18n/nqo.json
index 6b6539a7..cc55ece7 100644
--- a/Thanks/i18n/nqo.json
+++ b/Thanks/i18n/nqo.json
@@ -7,6 +7,50 @@
"Lanciné.kounfantoh.fofana"
]
},
+ "thanks-desc": "ߛߘߌ߬ߜߋ߲ ߠߎ߬ ߟߊߘߏ߲߬ ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߟߎ߬ ߞߏߢߌߡߊߟߐ߲߫ ߞߊ߲ߡߊ߬ ߊ߬ߟߎ߬ ߟߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߠߎ߬ ߟߊ߫߸ ߡߙߌߣߊ߲ ߠߎ߬߸ ߊ߬ ߣߌ߫.",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ߌ ߣߌ߫ ߗߋ߫}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|ߗߋ߫}} ߞߎ߲ߟߎ߲ߖߋߟߌ߫ ߗߋߛߓߍ ߗߋ߫ {{GENDER:$2|ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ}} ߡߊ߬"
+ "thanks-thanked": "{{GENDER:$1|}} $2 {{GENDER:|ߞߏߢߌߡߊߟߐ߲߫}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|ߌ ߣߌ߫ ߗߋ߫}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|}} $2 {{GENDER:|ߞߏߢߌߡߊߟߐ߲߫}}",
+ "thanks-button-action-queued": "$2 ߦߋ߫{{GENDER:$1|$1}}ߞߏߢߌߡߊߟߐ߲߫ ߞߊ߲߫...",
+ "thanks-button-action-cancel": "ߊ߬ ߘߐߛߊ߬",
+ "thanks-button-action-completed": "{{GENDER:$2|ߌ}}ߓߘߊ߫ {{GENDER:$1|ߞߏߢߌߡߊߟߐ߲߫}}",
+ "thanks-error-undefined": "ߓߊߙߌߞߊ߫ ߓߌߟߊ ߓߘߊ߫ ߗߌߙߏ߲߫ (ߝߌ߬ߟߌ ߘߏߝߙߍߕߍ: $1). ߊ߬ ߡߊߝߍߣߍ߲߫ ߌ ߞߐ߫ ߖߊ߰ߣߌ߲߫.",
+ "thanks-error-invalid-log-id": "ߕߋ߬ߟߋ߲ ߘߏ߲߬ߠߌ߲ ߡߊ߫ ߛߐ߬ߘߐ߲߫",
+ "thanks-error-invalid-log-type": "ߕߋ߬ߟߋ߲ ߛߎ߯ߦߊ «$1» ߕߍ߫ ߘߌ߬ߢߍ߬ߒ߬ߢߊ߬ ߕߋߟߋ߲ ߛߎ߯ߦߊ ߟߎ߬ ߛߙߍߘߍ ߘߐ߫.",
+ "thanks-error-invalidrevision": "ߟߢߊ߬ߟߌ ߡߊߟߐ߲ߠߌ߲ ߓߍ߲߬ߣߍ߲߫ ߕߍ߫.",
+ "thanks-error-revdeleted": "ߞߏߢߌߡߊߟߐ߲ ߕߍ߫ ߛߐ߲߬ ߗߋ߫ ߟߊ߫ ߓߊߏ߬ ߟߢߊ߬ߟߌ ߓߘߊ߫ ߓߊ߲߫ ߖߏ߲߫ ߠߊ߫.",
+ "thanks-error-notitle": "ߞߐߜߍ ߞߎ߲߬ߕߐ߮ ߕߍߣߊ߬ ߛߐ߲߬ ߠߊ߫ ߟߊߛߐ߬ߘߐ߲߬ ߠߊ߫",
+ "thanks-error-invalidrecipient": "ߕߊ߯ߦߙߐ߫ ߓߍ߲߬ߣߍ߲߫ ߛߌ߫ ߡߊ߫ ߛߐ߬ߘߐ߲߫",
+ "thanks-error-invalidrecipient-bot": "ߡߐ߰ߡߐ߮ ߕߍ߫ ߛߐ߲߬ ߞߏߢߌߡߊߟߐ߲߫ ߠߊ߫",
+ "thanks-error-invalidrecipient-self": "ߌ ߕߴߛߋ߫ ߌ ߖߘߍ߬ ߞߏߢߌߡߊߟߐ߲߫ ߠߊ߫",
+ "thanks-error-notloggedin": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߕߐ߯ߒߕߊ߲ ߕߴߛߋ߫ ߌ ߣߌ߫ ߗߋ ߗߋ߫ ߟߊ߫",
+ "thanks-error-ratelimited": "{{GENDER:$1|ߌ}} ߓߘߊ߫ ߛߴߌ ߟߊ߫ ߝߙߊ ߘߊ߲߭ ߠߊ߫. ߥߊ߯ߕߌ ߘߏ߫ ߘߐߞߐ߬ߣߐ߲߫ ߖߊ߰ߣߌ߲߫ ߞߵߊ߬ ߡߊߝߍߣߍ߲߫ ߞߎߘߊ߫ ߘߌ߫.",
+ "thanks-error-api-params": "ߕߎ߬ߡߊ߬ߘߐ߫ 'revid' ߥߟߊ߫ 'logid' ߟߊ߬ߓߍ߲߬ߢߐ߲߰ߡߦߊ߬ߘߊ ߟߋ߬ ߞߊ߫ ߞߊ߲߫ ߦߋ߫ ߞߊ߬ ߡߊߛߐ߫.",
+ "thanks-thank-tooltip": "{{GENDER:$1|ߗߋ߫}} ߞߎ߲ߟߎ߲ߖߋߟߌ߫ ߗߋߛߓߍ ߗߋ߫ {{GENDER:$2|ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ}} ߡߊ߬",
+ "thanks-thank-tooltip-no": "$1 ߓߘߊ߫ ߌ ߣߌ߫ ߗߋ ߖߊ߲߬ߓߌ߬ߟߊ߬ߟߌ {{GENDER:|ߘߐߛߊ߬}}",
+ "thanks-thank-tooltip-yes": "$1 ߓߘߊ߫ ߌ ߣߌ߫ ߗߋ ߖߊ߲߬ߓߌ߬ߟߊ߬ߟߌ {{GENDER:|ߗߋ߫}}",
+ "thanks-confirmation2": "$1 ߞߊ߬ ߌ ߣߌ߫ ߗߋ {{GENDER:|ߗߋ߫}} ߞߣߍ ߞߊ߲߬؟",
+ "thanks-thanked-notice": "{{GENDER:$3|ߌ}} ߓߘߊ߫ {{GENDER:$2|$1}} ߞߏߢߌߡߊߟߐ߲߫.",
+ "thanks": "'ߌ ߣߌ߫ ߗߋ ߗߋ߫",
+ "thanks-submit": "'ߌ ߣߌ߫ ߗߋ ߗߋ߫",
+ "echo-pref-subscription-edit-thank": "ߒ ߞߏߢߌߡߊߟߐ߲ ߒ ߠߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߞߏߛߐ߲߬",
+ "echo-pref-tooltip-edit-thank": "ߞߊ߬ ߒ ߖߊ߲߭ߓߌ߬ߟߊ߬ ߣߌ߫ ߘߏߕߌ߰ ߞߊ߬ ߒ ߞߏߢߌߡߊߟߐ߲߫ ߒ ߠߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߞߏߛߐ߲߬.",
+ "echo-category-title-edit-thank": "ߌ ߣߌ߫ ߗߋ߫߹",
+ "notification-thanks-diff-link": "ߌ ߟߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲",
+ "notification-header-rev-thank": "$1 ߓߘߊ߫{{GENDER:$2|}} {{GENDER:$4|ߌ}}ߞߏߢߌߡߊߟߐ߲߫ ߌ ߟߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߠߊ߫ <strong>$3</strong> ߞߊ߲߬.",
+ "notification-header-creation-thank": "$1 ߓߘߊ߫{{GENDER:$2|}} {{GENDER:$4|ߌ}}ߞߏߢߌߡߊߟߐ߲߫ ߌ ߟߊ߫ <strong>$3</strong> ߛߌ߲ߘߟߌ ߟߊ߫.",
+ "notification-header-log-thank": "$1 ߓߘߊ߫{{GENDER:$2|}} {{GENDER:$4|ߌ}}ߞߏߢߌߡߊߟߐ߲߫ ߌ ߟߊ߫ ߞߍߟߌ ߘߏ߫ ߟߊ߫ ߞߊ߬ ߟߐ߬ <strong>$3</strong> ߡߊ߬.",
+ "notification-compact-header-edit-thank": "$1 ߓߘߊ߫{{GENDER:$2|}}{{GENDER:$3|ߌ}}ߞߏߢߌߡߊߟߐ߲߫.",
+ "log-name-thanks": "ߕߋ߬ߟߋ߲ ߞߏߢߌߡߊߟߐ߲ ߠߎ߬",
+ "log-description-thanks": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߡߍ߲ ߠߎ߬ ߞߏߢߌߡߊߟߐ߲ߣߍ߲߫ ߦߋ߫ ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߕߐ߭ ߟߎ߬ ߓߟߴߏ߬ ߛߙߍߘߍ ߟߋ߬ ߦߋ߫ ߘߎ߰ߟߊ߫ ߣߌ߲߬.",
+ "logentry-thanks-thank": "$1 ߓߘߊ߫{{GENDER:$2|}}{{GENDER:$4|$3|ߌ}}ߞߏߢߌߡߊߟߐ߲߫.",
+ "logeventslist-thanks-log": "ߕߋ߬ߟߋ߲ ߞߏߢߌߡߊߟߐ߲ ߠߎ߬",
+ "thanks-error-no-id-specified": "ߌ ߞߊߡߊ߲߫ ߦߋ߫ ߞߊ߬ ߟߢߊ߬ߟߌ ߘߏ߫ ߞߙߍߞߙߍ߫ ߥߟߊ߫ ߕߋ߬ߟߋ߲ ߡߊ߬ߟߐ߲߬ߠߌ߲ ߞߊ߬ ߌ ߣߌ߫ ߗߋ ߗߋ߫",
+ "thanks-confirmation-special-log": "ߌ ߦߴߊ߬ ߝߍ߬ ߟߋ߬ ߓߊ߬ ߞߊ߬ ߌ ߣߌ߫ ߗߋ ߗߋ߫ ߜߍ ߘߐ߫ ߕߋ߬ߟߋ߲ ߣߌ߲߬ ߞߍߟߌ ߟߎ߬ ߢߍ߫؟",
+ "thanks-confirmation-special-rev": "ߌ ߦߴߊ߬ ߝߍ߬ ߞߊ߬ ߌ ߣߌ߫ ߗߋ ߗߋ߫ ߜߍ ߘߐ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߣߌ߲߬ ߢߍ߫ ߟߋ߬ ߓߊ߬؟",
+ "notification-link-text-view-post": "ߡߙߌߣߊ߲ ߦߌ߬ߘߊ߬",
+ "notification-link-text-view-logentry": "ߕߋ߬ߟߋ߲ ߘߏ߲߬ߠߌ߲ ߠߎ߬ ߦߋ߫",
+ "thanks-error-invalidpostid": "ߗߋߛߓߍ߫ ߗߋߣߍ߲ ߏ߬ ߡߊ߬ߟߐ߲߬ߠߌ߲ ߓߍ߲߬ߣߍ߲߫ ߕߍ߫.",
+ "flow-thanks-confirmation-special": "ߌ ߦߴߊ߬ ߝߍ߬ ߟߋ߬ ߓߊ߬ ߞߊ߬ ߌ ߣߌ߫ ߗߋ ߗߋ߫ ߜߍ ߘߐ߫ ߟߋ߬ ߡߙߌߣߊ߲ ߣߌ߲߬ ߢߍ߫؟"
}
diff --git a/Thanks/i18n/nyn.json b/Thanks/i18n/nyn.json
new file mode 100644
index 00000000..8e5a68ef
--- /dev/null
+++ b/Thanks/i18n/nyn.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Kakonjo"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|yebaza}}}}"
+}
diff --git a/Thanks/i18n/ojb.json b/Thanks/i18n/ojb.json
new file mode 100644
index 00000000..9f55506f
--- /dev/null
+++ b/Thanks/i18n/ojb.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aandeginini"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|daga}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Naajinizha'}} daga agwaakwa'igan izhi wa'aw {{GENDER:$2|wiin-aabaji'}}"
+}
diff --git a/Thanks/i18n/om.json b/Thanks/i18n/om.json
new file mode 100644
index 00000000..bdd59637
--- /dev/null
+++ b/Thanks/i18n/om.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Oromoom"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|galatoomi}}}}",
+ "thanks-thank-tooltip": "Yaadachiisa galatoomii {{GENDER:$2|fayyadamaa}} {{GENDER:$1|ergi}}"
+}
diff --git a/Thanks/i18n/or.json b/Thanks/i18n/or.json
index d23b99a4..5e0b6b9d 100644
--- a/Thanks/i18n/or.json
+++ b/Thanks/i18n/or.json
@@ -7,13 +7,25 @@
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ ଦେବେ}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ ଦେଉଛି}}}} $1…",
+ "thanks-button-action-cancel": "ନାକଚ",
+ "thanks-button-action-completed": "ଆପଣ $1ଙ୍କୁ {{GENDER:$1|{{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}}}}",
+ "thanks-error-invalid-log-id": "ଇତିହାସ ମିଳିଲା ନାହିଁ",
"thanks-thank-tooltip": "{{GENDER:$2|user}}ଙ୍କୁ ଏକ ସାଧୁବାଦ ସୂଚନା {{GENDER:$1|ପଠାନ୍ତୁ}}",
- "thanks-confirmation2": "ଏହି ସମ୍ପାଦନା ପାଇଁ ସାଧାରଣରେ {{GENDER:$1|ସାଧୁବାଦ ଜଣାଇବେ}}?",
+ "thanks-confirmation2": "ସାଧାରଣରେ ସାଧୁବାଦ {{GENDER:$1|ଜଣାଇବେ}}?",
+ "thanks-thanked-notice": "{{GENDER:$3|ଆପଣ}} {{GENDER:$2|$1}}ଙ୍କୁ ସାଧୁବାଦ ଦେଲେ ।",
"thanks": "ସାଧୁବାଦ ଜଣାନ୍ତୁ",
"thanks-submit": "ସାଧୁବାଦ ଜଣାନ୍ତୁ",
+ "echo-category-title-edit-thank": "ସାଧୁବାଦ",
+ "notification-thanks-diff-link": "ଆପଣଙ୍କ ସମ୍ପାଦନା",
+ "notification-header-rev-thank": "<strong>$3</strong>ରେ ଆପଣଙ୍କ ସମ୍ପାଦନା ପାଇଁ {{GENDER:$4|ଆପଣଙ୍କୁ}} $1 {{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}} ।",
+ "notification-header-creation-thank": "$1 <strong>$3</strong> ତିଆରି କରିବା ସକାଶେ {{GENDER:$4|ଆପଣଙ୍କୁ}} {{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}} ।",
"log-description-thanks": "ବାକି ବ୍ୟବହାରକାରୀଙ୍କ ଦ୍ୱାରା ସାଧୁବାଦ ପାଇଥିବା ସଭ୍ୟଙ୍କ ତାଲିକା ।",
"logentry-thanks-thank": "$1 {{GENDER:$2|ସାଧୁବାଦ ଦେଲେ}} {{GENDER:$4|$3}}",
"flow-thanks-confirmation-special": "ଏହି ମତ ପାଇଁ ସାଧାରଣରେ ସାଧୁବାଦ ଜଣାଇବେ?",
- "flow-thanks-thanked-notice": "$1ଙ୍କୁ {{GENDER:$2|ତାଙ୍କ|ତାଙ୍କ|ସେମାନଙ୍କ}} ସମ୍ପାଦନା ଲାଗି ସାଧୁବାଦ ଜଣାଇଦିଆଗଲା ।"
+ "flow-thanks-thanked-notice": "{{GENDER:$3|ଆପଣ}} $1ଙ୍କୁ for {{GENDER:$2|ତାଙ୍କ|ତାଙ୍କ|ତାଙ୍କ}} ମତ ପାଇଁ ସାଧୁବାଦ ଦେଲେ ।",
+ "notification-flow-thanks-post-link": "ଆପଣଙ୍କ ମତ",
+ "ipb-action-thanks": "ସାଧୁବାଦ ଜଣାଉଛି"
}
diff --git a/Thanks/i18n/os.json b/Thanks/i18n/os.json
index 647b79e3..b2505d9d 100644
--- a/Thanks/i18n/os.json
+++ b/Thanks/i18n/os.json
@@ -4,6 +4,6 @@
"Amikeco"
]
},
- "thanks-thank": "бузныг",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|бузныг зæгъ}}}}",
"thanks-button-thank": "Бузныг зæгъын"
}
diff --git a/Thanks/i18n/pa.json b/Thanks/i18n/pa.json
index e76a0d5e..57d69e13 100644
--- a/Thanks/i18n/pa.json
+++ b/Thanks/i18n/pa.json
@@ -3,11 +3,12 @@
"authors": [
"Aalam",
"Babanwalia",
+ "Bgo eiu",
"Satdeep gill",
"TariButtar"
]
},
- "thanks-desc": "ਵਰਤੋਂਕਾਰਾਂ ਦਾ ਸੋਧਾਂ, ਟਿੱਪਣੀਆਂ ਆਦਿ ਲਈ ਧੰਨਵਾਦ ਕਰਨ ਲਈ ਧੰਨਵਾਦੀ ਲਿੰਕ ਜੋੜਦਾ ਹੈ",
+ "thanks-desc": "ਵਰਤੋਂਕਾਰਾਂ ਦੀਆਂ ਸੋਧਾਂ, ਟਿੱਪਣੀਆਂ ਆਦਿ ਲਈ ਧੰਨਵਾਦ ਕਰਨ ਲਈ ਧੰਨਵਾਦੀ ਲਿੰਕ ਜੋੜਦਾ ਹੈ",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ਧੰਨਵਾਦ ਕਹੋ}}}}",
"thanks-thanked": "{{GENDER:$1|ਧੰਨਵਾਦ ਕੀਤਾ ਗਿਆ}}",
"thanks-button-thank": "ਧੰਨਵਾਦ",
diff --git a/Thanks/i18n/pap.json b/Thanks/i18n/pap.json
new file mode 100644
index 00000000..21003c7b
--- /dev/null
+++ b/Thanks/i18n/pap.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ObaTango"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|yama danki}}}}"
+}
diff --git a/Thanks/i18n/pcm.json b/Thanks/i18n/pcm.json
new file mode 100644
index 00000000..4f06c64b
--- /dev/null
+++ b/Thanks/i18n/pcm.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Samatics"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|thank}}}}"
+}
diff --git a/Thanks/i18n/pl.json b/Thanks/i18n/pl.json
index 25cf7f16..57704184 100644
--- a/Thanks/i18n/pl.json
+++ b/Thanks/i18n/pl.json
@@ -9,6 +9,7 @@
"Sethakill",
"Tar Lócesilion",
"The Polish",
+ "Tsca",
"Ty221",
"WTM",
"Woytecr"
@@ -24,7 +25,7 @@
"thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|podziękowałeś|podziękowałaś}}}} $1",
"thanks-error-undefined": "Operacja podziękowania nie powiodła się (kod błędu: $1). Proszę spróbować ponownie.",
"thanks-error-invalid-log-id": "Nie znaleziono wpisu rejestru",
- "thanks-error-invalid-log-type": "Rodzaj czynności z rejestru '$1' nie znajduje się na białej liście dozwolonych rodzajów akcji.",
+ "thanks-error-invalid-log-type": "Rodzaj czynności z rejestru „$1” nie znajduje się na liście dozwolonych rodzajów akcji.",
"thanks-error-log-deleted": "Wskazany wpis rejestru został usunięty, więc nie można wystawić za niego podziękowania.",
"thanks-error-invalidrevision": "Nieprawidłowy identyfikator wersji.",
"thanks-error-revdeleted": "Nie można wysłać podziękowań, ponieważ wersja została usunięta.",
@@ -34,27 +35,27 @@
"thanks-error-invalidrecipient-self": "Nie możesz sobie podziękować",
"thanks-error-notloggedin": "Niezarejestrowani użytkownicy nie mogą wysyłać podziękowań",
"thanks-error-ratelimited": "{{GENDER:$1|Przekroczyłeś|Przekroczyłaś}} limit podziękowań. Poczekaj jakiś czas i spróbuj ponownie.",
- "thanks-error-api-params": "Musi być podany parametr 'revid' lub 'logid'",
+ "thanks-error-api-params": "Musi być podany parametr „revid” lub „logid”",
"thanks-thank-tooltip": "{{GENDER:$1|Wyślij}} podziękowanie do {{GENDER:$2|tego użytkownika|tej użytkowniczki}}",
"thanks-thank-tooltip-no": "Nie {{GENDER:$1|wysyłaj}} podziękowania",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Wyślij}} podziękowanie",
"thanks-confirmation2": "{{GENDER:$1|Wysłać}} publiczne podziękowanie?",
- "thanks-thanked-notice": "{{GENDER:$3|Podziękowałeś|Podziękowałaś}} {{GENDER:$2|użytkownikowi $1|użytkowniczce $1}}.",
+ "thanks-thanked-notice": "{{GENDER:$3|Podziękowałeś|Podziękowałaś|Podziękowano}} {{GENDER:$2|użytkownikowi $1|użytkowniczce $1}}.",
"thanks": "Wyślij podziękowanie",
"thanks-submit": "Wyślij podziękowanie",
"echo-pref-subscription-edit-thank": "podziękuje mi za edycję, którą wykonałem",
"echo-pref-tooltip-edit-thank": "Powiadom mnie, kiedy ktoś podziękuje mi za edycję, którą wykonałem.",
"echo-category-title-edit-thank": "Podziękowania",
"notification-thanks-diff-link": "edycję",
- "notification-header-rev-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$4|ci}} za edycję na stronie <strong>$3</strong>.",
- "notification-header-creation-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$4|ci}} za utworzenie <strong>$3</strong>.",
+ "notification-header-rev-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$4|Ci}} za edycję na stronie <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$2|podziękował|podziękowała|dziękuje}} {{GENDER:$4|Ci}} za utworzenie strony <strong>$3</strong>.",
"notification-header-log-thank": "$1 {{GENDER:$2|podziękował|podziękowała}} {{GENDER:$4|Ci}} za czynność związaną ze stroną <strong>$3</strong>.",
- "notification-compact-header-edit-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$3|ci}}.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$2|podziękował|podziękowała|dziękuje}} {{GENDER:$3|Ci}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Jedna osoba|$1 osoby|$1 osób|100=Co najmniej 100 osób}} podziękowało {{GENDER:$3|ci}} za twoją edycję strony <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|Jedna osoba|$1 osoby|100=99+ osób}} podziękowało {{GENDER:$3|Ci}} za czynność związaną ze stroną <strong>$2</strong>.",
"log-name-thanks": "Rejestr podziękowań",
"log-description-thanks": "Poniżej znajduje się lista użytkowników, którym podziękowali inni użytkownicy.",
- "logentry-thanks-thank": "$1 {{GENDER:$2|podziękował|podziękowała}} {{GENDER:$4|użytkownikowi|użytkowniczce}} $3",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$4|użytkownikowi|użytkowniczce}} $3",
"logeventslist-thanks-log": "Rejestr podziękowań",
"thanks-error-no-id-specified": "Musisz określić wersję strony lub identyfikator wpisu rejestru, aby wysłać podziękowanie.",
"thanks-confirmation-special-log": "Czy chcesz wysłać publiczne podziękowanie za tę akcję?",
@@ -65,7 +66,8 @@
"flow-thanks-confirmation-special": "Czy chcesz wysłać publiczne podziękowanie za ten komentarz?",
"flow-thanks-thanked-notice": "{{GENDER:$3|Podziękowałeś|Podziękowałaś}} $1 za {{GENDER:$2|jego|jej}} komentarz.",
"notification-flow-thanks-post-link": "twój komentarz",
- "notification-header-flow-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$5|ci}} za komentarz w \"<strong>$3</strong>\".",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$2|podziękował|podziękowała|podziękował(a)}} {{GENDER:$3|ci}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Jedna osoba|$1 osoby|$1 osób|100=Co najmniej 100 osób}} podziękowało {{GENDER:$3|ci}} za twój komentarz w „<strong>$2</strong>”."
+ "notification-header-flow-thank": "$1 {{GENDER:$2|podziękował|podziękowała|dziękuje}} {{GENDER:$5|Ci}} za komentarz w „<strong>$3</strong>”.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$2|podziękował|podziękowała|dziękuje}} {{GENDER:$3|Ci}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Jedna osoba|$1 osoby|$1 osób|100=Co najmniej 100 osób}} podziękowało {{GENDER:$3|ci}} za twój komentarz w „<strong>$2</strong>”.",
+ "ipb-action-thanks": "Wysyłanie podziękowań"
}
diff --git a/Thanks/i18n/pnb.json b/Thanks/i18n/pnb.json
index 9dc2ab0f..1cfdde28 100644
--- a/Thanks/i18n/pnb.json
+++ b/Thanks/i18n/pnb.json
@@ -2,9 +2,30 @@
"@metadata": {
"authors": [
"Abbas dhothar",
+ "Bgo eiu",
"Khalid Mahmood"
]
},
+ "thanks-desc": "ورتنوالیاں دیاں سودھاں، ٹپݨیااں آد لئی دھنقار کرن لئی دھنوادی لنک جوڑا اے۔",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|شکریہ}}}}",
- "thanks-thank-tooltip": "ایس {{GENDER:$1|پیجو}} نوں اک شکریۓ دا سنیہہ {{GENDER:$2|ورتنوالے}}"
+ "thanks-thanked": "{{GENDER:$2|{{GENDER:$1|شکریہ بھیجیا گیا}}}}",
+ "thanks-button-thank": "{{GENDER:$2|{{GENDER:$1|شکریہ بھیجو}}}}",
+ "thanks-button-thanked": "{{GENDER:$2|{{GENDER:$1|شکریہ بھیجیا گیا}}}}",
+ "thanks-button-action-queued": "$1 لئی {{GENDER:$2|{{GENDER:$1|شکریہ بیجیا جا رہا اے}}}}…",
+ "thanks-button-action-cancel": "رد کرو",
+ "thanks-button-action-completed": "$1 نوں تسیں {{GENDER:$1|{{GENDER:$2|شکریہ بیجے گئے اے۔}}}}",
+ "thanks-error-undefined": "شکریہ بھیج بہیں سکدیا (غلطی دا کوڈ: $1)۔ خبرے فیر کریو۔",
+ "thanks-thank-tooltip": "ایس {{GENDER:$1|پیجو}} نوں اک شکریۓ دا سنیہا {{GENDER:$2|ورتنوالے}}",
+ "thanks-confirmation2": "عاوم {{GENDER:$1|شکریئے بھیجو}}؟",
+ "thanks": "شکریئے بھیجو",
+ "thanks-submit": "شکریئے بھیجو",
+ "echo-pref-subscription-edit-thank": "میں نوں اوہ شکریہ بھیجیا",
+ "echo-category-title-edit-thank": "شکریئے",
+ "notification-thanks-diff-link": "تہاڈیاں دودھ",
+ "notification-compact-header-edit-thank": "$1 توں {{GENDER:$3|تہاڈے}} {{GENDER:$2|شکریہ لے گئے}} او۔",
+ "logentry-thanks-thank": "{{GENDER:$4|$3}} نوں $1 {{GENDER:$2|شکریہ بھیجیا گیا}}۔",
+ "notification-link-text-view-post": "ٹپݨی ویکھو",
+ "notification-flow-thanks-post-link": "تہاڈیاں ٹپݨی",
+ "notification-compact-header-flow-thank": "$1 توں {{GENDER:$3|تہاڈے}} {{GENDER:$2|شکریہ لے گئے}} او۔",
+ "ipb-action-thanks": "شکریئے بھیجے جا رہے اے"
}
diff --git a/Thanks/i18n/prg.json b/Thanks/i18n/prg.json
new file mode 100644
index 00000000..9c11bcd7
--- /dev/null
+++ b/Thanks/i18n/prg.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Nērtiks Jōrgesuns"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|dīnkun}}}}"
+}
diff --git a/Thanks/i18n/pt-br.json b/Thanks/i18n/pt-br.json
index 7c7c1e61..366c4c6c 100644
--- a/Thanks/i18n/pt-br.json
+++ b/Thanks/i18n/pt-br.json
@@ -6,6 +6,7 @@
"Chicocvenancio",
"Dianakc",
"Eduardo Addad de Oliveira",
+ "Eduardoaddad",
"Felipe L. Ewald",
"HenriqueCrang",
"Macofe",
@@ -25,7 +26,7 @@
"thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|agradeceu|agradeceu}}}}",
"thanks-error-undefined": "O agradecimento falhou (erro: $1). Tente de novamente.",
"thanks-error-invalid-log-id": "A entrada do registo não foi encontrada",
- "thanks-error-invalid-log-type": "O tipo de registo '$1' não consta da lista branca dos tipos de registo permitidos.",
+ "thanks-error-invalid-log-type": "O tipo de registo '$1' não consta da lista permitida dos tipos de registo permitidos.",
"thanks-error-log-deleted": "A entrada de registo solicitada foi eliminada e não se pode dar agradecimentos por ela.",
"thanks-error-invalidrevision": "ID de revisão inválido.",
"thanks-error-revdeleted": "Não é possível enviar o agradecimento, porque a revisão foi eliminada.",
@@ -68,5 +69,6 @@
"notification-flow-thanks-post-link": "seu comentário",
"notification-header-flow-thank": "$1 {{GENDER:$2|agradeceu}} {{GENDER:$5|você}} por seu comentário em <strong>$3</strong>.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|agradeceu}} {{GENDER:$3|você}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Uma pessoa agradeceu|$1 pessoas agradeceram|100=99+ pessoas agradeceram}} {{GENDER:$3|você}} por seu comentário em <strong>$2</strong>."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Uma pessoa agradeceu|$1 pessoas agradeceram|100=99+ pessoas agradeceram}} {{GENDER:$3|você}} por seu comentário em <strong>$2</strong>.",
+ "ipb-action-thanks": "Enviando agradecimentos"
}
diff --git a/Thanks/i18n/pt.json b/Thanks/i18n/pt.json
index 97dc88fb..467e9a3a 100644
--- a/Thanks/i18n/pt.json
+++ b/Thanks/i18n/pt.json
@@ -15,7 +15,8 @@
"Oona",
"Opraco",
"Titoncio",
- "Vitorvicentevalente"
+ "Vitorvicentevalente",
+ "Waldyrious"
]
},
"thanks-desc": "Adiciona hiperligações para agradecer a utilizadores por edições, comentários, etc.",
@@ -28,7 +29,7 @@
"thanks-button-action-completed": "Você {{GENDER:$1|{{GENDER:$2|agradeceu a}}}} $1",
"thanks-error-undefined": "A ação de agradecimento falhou (código de erro: $1). Por favor, tente novamente.",
"thanks-error-invalid-log-id": "A entrada do registo não foi encontrada",
- "thanks-error-invalid-log-type": "O tipo de registo '$1' não consta da lista branca dos tipos de registo permitidos.",
+ "thanks-error-invalid-log-type": "O tipo de registo '$1' não consta da lista dos tipos de registo permitidos.",
"thanks-error-log-deleted": "A entrada de registo solicitada foi eliminada e não se pode dar agradecimentos por ela.",
"thanks-error-invalidrevision": "O ID de revisão não é válido.",
"thanks-error-revdeleted": "Não é possível enviar o agradecimento, porque a revisão foi eliminada.",
@@ -71,5 +72,6 @@
"notification-flow-thanks-post-link": "o seu comentário",
"notification-header-flow-thank": "$1 {{GENDER:$2|agradeceu-lhe}} {{GENDER:$5|pelo}} seu comentário em \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|agradeceu}}{{GENDER:$3|-lhe}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Uma pessoa agradeceu-lhe|$1 pessoas agradeceram-lhe|100=Mais de 99 pessoas agradeceram-lhe}} pelo {{GENDER:$3|seu}} comentário em \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Uma pessoa agradeceu-lhe|$1 pessoas agradeceram-lhe|100=Mais de 99 pessoas agradeceram-lhe}} pelo {{GENDER:$3|seu}} comentário em \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "A enviar agradecimento"
}
diff --git a/Thanks/i18n/pwn.json b/Thanks/i18n/pwn.json
new file mode 100644
index 00000000..f05e0f71
--- /dev/null
+++ b/Thanks/i18n/pwn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iyumu"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|pumaljimalji}}}}"
+}
diff --git a/Thanks/i18n/qqq.json b/Thanks/i18n/qqq.json
index 399954b6..5333661b 100644
--- a/Thanks/i18n/qqq.json
+++ b/Thanks/i18n/qqq.json
@@ -22,12 +22,12 @@
"thanks-thanked": "This message immediately replaces the message {{msg-mw|Thanks-thank}} after it's pressed. It means that the thanking operation has been completed. It can be translated as \"''thanked''\" in \"You ''thanked'' the user\" or \"The user has just been ''thanked''\" - whatever is appropriate to your language.\n\nFor languages that need it, the gender of each of the thanked and thanking users is available.\n\nParameters:\n* $1 - The user that is thanking\n* $2 - The user that has been thanked\n\n{{Identical|Thanked}}",
"thanks-button-thank": "Text of a button to thank another user. Same as {{msg-mw|Thanks-thank}}, but the context is in a button.\n\nFor languages that need it, the gender of each of the thanked and thanking users is available.\n\nParameters:\n* $1 - The user that is thanking\n* $2 - The user that is being thanked\n\n{{Identical|Thank}}",
"thanks-button-thanked": "This message immediately replaces the message {{msg-mw|Thanks-button-thank}} after it's pressed. It means that the thanking operation has been completed. Same as {{msg-mw|Thanks-thanked}}, but the context is in a button.\n\nFor languages that need it, the gender of each of the thanked and thanking users is available.\n\nParameters:\n* $1 - The user that is thanking\n* $2 - The user that has been thanked\n\n{{Identical|Thanked}}",
- "thanks-button-action-queued": "Informs the user the thanks will happen ($1)\nParameters:\n$1 - username \n$2 - gender",
+ "thanks-button-action-queued": "Informs the user the thanks will happen ($1)\n\nParameters:\n* $1 - username \n* $2 - gender",
"thanks-button-action-cancel": "Follows {{msg-mw|thanks-button-action-queued}} and is clickable to cancel the action.\n{{Identical|Cancel}}",
"thanks-button-action-completed": "You {{GENDER:$1|{{GENDER:$2|thanked}}}} $1",
"thanks-error-undefined": "Error message that is displayed when the thank action fails. $1 is the error code returned by the API (an English string).",
"thanks-error-invalid-log-id": "Error message that is displayed when the thank action can't find the log entry it's supposed to thank for.",
- "thanks-error-invalid-log-type": "Error message that is displayed when thanks is attempted for a log entry of a non-whitelisted type. $1 is the offending log type.",
+ "thanks-error-invalid-log-type": "Error message that is displayed when thanks is attempted for a log entry of a non-allowed type. $1 is the offending log type.",
"thanks-error-log-deleted": "Error message that is displayed when thanks is attempted for a deleted log entry.",
"thanks-error-invalidrevision": "Error message that is displayed when the revision ID is not valid",
"thanks-error-revdeleted": "Error message that is displayed when the revision has been deleted (RevDel)",
@@ -70,5 +70,6 @@
"notification-flow-thanks-post-link": "The text of a link to the comment made by the user.\n\nUsed for <code>$2</code> in {{msg-mw|notification-flow-thanks}}. Should have capitalization appropriate for the middle of a sentence.\n\nThis is an object in a sentence so it should be in object case in languages where there is a special object form for words.",
"notification-header-flow-thank": "Header text for a notification when a user is thanked for their comment on a Flow board.\n\nParameters:\n* $1 – The username of the user sending the thanks (not suitable for GENDER).\n* $2 – Either unused by the translation, or the thanking user's name for use in GENDER.\n* $3 – The title of the topic the comment belongs to.\n* $4 – The title of the page where the comment is located.\n* $5 – Either unused by the translation, or the username of the user being thanked, for use in GENDER.\n\n{{related|Notification-header-flow}}",
"notification-compact-header-flow-thank": "Compact header text for a notification when a user is thanked for their comment on a Flow board.\n\nParameters:\n* $1 – The username of the user sending the thanks (not suitable for GENDER).\n* $2 – Either unused by the translation, or the thanking user's name for use in GENDER.\n* $3 – Either unused by the translation, or the username of the user being thanked, for use in GENDER.\n\n{{related|Notification-header-flow}}",
- "notification-bundle-header-flow-thank": "Bundle header text for a notification when a user is thanked for their comment on a Flow board.\n\nParameters:\n* $1 – The number of users who sent thanks for the same post. When used with PLURAL, the value 100 represents more than 99.\n* $2 – The title of the topic the comment belongs to.\n* $3 – Either unused by the translation, or the username of the user being thanked, for use in GENDER.\n\n{{related|Notification-header-flow}}"
+ "notification-bundle-header-flow-thank": "Bundle header text for a notification when a user is thanked for their comment on a Flow board.\n\nParameters:\n* $1 – The number of users who sent thanks for the same post. When used with PLURAL, the value 100 represents more than 99.\n* $2 – The title of the topic the comment belongs to.\n* $3 – Either unused by the translation, or the username of the user being thanked, for use in GENDER.\n\n{{related|Notification-header-flow}}",
+ "ipb-action-thanks": "The label for a selecting the option on [[Special:Block]] to block a user from sending thanks. Should be similar to these:\n* {{msg-mw|Ipb-action-create}}\n* {{msg-mw|Ipb-action-move}}\n* {{msg-mw|Ipb-action-upload}}"
}
diff --git a/Thanks/i18n/rki.json b/Thanks/i18n/rki.json
new file mode 100644
index 00000000..709c9927
--- /dev/null
+++ b/Thanks/i18n/rki.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tejoebāsa"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ကျေးဇူးတင်ပါရေ}}}}"
+}
diff --git a/Thanks/i18n/rmc.json b/Thanks/i18n/rmc.json
new file mode 100644
index 00000000..d82a5f93
--- /dev/null
+++ b/Thanks/i18n/rmc.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Adehertogh"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|paľikerav}}}}"
+}
diff --git a/Thanks/i18n/rn.json b/Thanks/i18n/rn.json
new file mode 100644
index 00000000..190afd11
--- /dev/null
+++ b/Thanks/i18n/rn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gilbert Ndihokubwayo"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|shima}}}}"
+}
diff --git a/Thanks/i18n/ro.json b/Thanks/i18n/ro.json
index 96ade141..97229542 100644
--- a/Thanks/i18n/ro.json
+++ b/Thanks/i18n/ro.json
@@ -2,7 +2,9 @@
"@metadata": {
"authors": [
"Andrei Stroe",
- "Minisarm"
+ "Carcassonne93",
+ "Minisarm",
+ "NGC 54"
]
},
"thanks-desc": "Adaugă legături pentru a putea mulțumi utilizatorilor pentru modificări, comentarii etc.",
@@ -10,8 +12,15 @@
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ați mulțumit}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Mulțumesc}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Ați mulțumit}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Se mulțumește}}}} lui $1…",
+ "thanks-button-action-cancel": "Anulare",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|I-ați mulțumit}}}} lui $1",
"thanks-error-undefined": "Încercarea de a mulțumi a eșuat (cod de eroare: $1). Încercați din nou.",
"thanks-error-invalidrevision": "Codul versiunii nu este valid.",
+ "thanks-error-revdeleted": "Nu se pot trimite mulțumiri deoarece revizia a fost ștearsă.",
+ "thanks-error-invalidrecipient-bot": "Roboților nu li se poate mulțumi",
+ "thanks-error-invalidrecipient-self": "Nu vă puteți mulțumi vouă.",
+ "thanks-error-notloggedin": "Utilizatorii anonimi nu pot trimite mulțumiri",
"thanks-error-ratelimited": "{{GENDER:$1|V}}-ați depășit limita de evaluare. Așteptați un timp și reîncercați.",
"thanks-thank-tooltip": "{{GENDER:$1|Trimite}} o notificare de mulțumire {{GENDER:$2|acestui utilizator|acestei utilizatoare}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|Revocă}} notificarea de mulțumire",
@@ -24,13 +33,26 @@
"echo-pref-tooltip-edit-thank": "Notifică-mă când cineva îmi mulțumește pentru o modificare pe care am efectuat-o.",
"echo-category-title-edit-thank": "Mulțumiri",
"notification-thanks-diff-link": "modificarea dumneavoastră",
+ "notification-header-rev-thank": "$1 {{GENDER:$4|v-a}} {{GENDER:$2|mulțumit}} pentru modificarea dvs. de la pagina <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$4|v-}}{{GENDER:$2|a mulțumit}} pentru că ați creat pagina <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 {{GENDER:$4|v-}}a {{GENDER:$2|mulțumit}} pentru acțiunea dvs. privitoare la <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$2|v-a}} {{GENDER:$3|mulțumit}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|O persoană v-a|$1 persoane v-au|100=99+ de persoane v-au}} {{GENDER:$3|mulțumit}} pentru pentru modificarea dvs. de la pagina <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|O persoană v-a|$1 persoane v-au|100=99+ de persoane v-au}} {{GENDER:$3|mulțumit}} pentru acțiunea dvs. privitoare la <strong>$2</strong>.",
"log-name-thanks": "Jurnal mulțumiri",
"log-description-thanks": "Mai jos se află o listă a utilizatorilor cărora li s-a mulțumit de către alți utilizatori.",
"logentry-thanks-thank": "$1 {{GENDER:$2|i-a mulțumit}} {{GENDER:$4|utilizatorului $3|utilizatoarei $3}}",
+ "logeventslist-thanks-log": "Jurnal mulțumiri",
"thanks-error-no-id-specified": "Trebuie să precizați un ID de versiune sau de înregistrare de jurnal pentru a trimite mulțumiri.",
+ "thanks-confirmation-special-log": "Doriți să trimiteți în mod public mulțumiri pentru această acțiune de jurnal?",
+ "thanks-confirmation-special-rev": "Doriți să trimiteți în mod public mulțumiri pentru această editare?",
"notification-link-text-view-post": "Vezi comentariul",
+ "notification-link-text-view-logentry": "Vezi intrarea în jurnal",
"thanks-error-invalidpostid": "ID-ul mesajului nu este valid.",
"flow-thanks-confirmation-special": "Doriți să trimiteți în mod public mulțumiri pentru acest comentariu?",
- "flow-thanks-thanked-notice": "$1 a primit mulțumirea dumneavoastră pentru comentariul {{GENDER:$2|lui|ei|său}}.",
- "notification-flow-thanks-post-link": "comentariul dumneavoastră"
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Dvs.}} i-ați mulțumit lui $1 pentru comentariul {{GENDER:$2|lui|ei|său}}.",
+ "notification-flow-thanks-post-link": "comentariul dumneavoastră",
+ "notification-header-flow-thank": "$1 {{GENDER:$5|v-a}} {{GENDER:$2|mulțumit}} pentru comentariul dvs. din cadrul secțiunii „<strong>$3</strong>”.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$2|v-a}} {{GENDER:$3|mulțumit}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|O persoană v-a|$1 persoane v-au|100=99+ de persoane v-au}} {{GENDER:$3|mulțumit}} pentru pentru comentariul dvs. din cadrul secțiunii „<strong>$2</strong>”."
}
diff --git a/Thanks/i18n/roa-tara.json b/Thanks/i18n/roa-tara.json
index 869b4737..4af3ca0d 100644
--- a/Thanks/i18n/roa-tara.json
+++ b/Thanks/i18n/roa-tara.json
@@ -57,5 +57,6 @@
"notification-flow-thanks-post-link": "'u commende tune",
"notification-header-flow-thank": "$1 {{GENDER:$5|te}} {{GENDER:$2|ave rengraziate}} pu commende tune sus a \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|te}} {{GENDER:$2|ave ringraziate}}",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|'Nu crestiane t'ave|$1 crestiane te onne|100=Cchiù de 99 crestiane te onne}} {{GENDER:$3|ringraziate}} pu commende tune sus a \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|'Nu crestiane t'ave|$1 crestiane te onne|100=Cchiù de 99 crestiane te onne}} {{GENDER:$3|ringraziate}} pu commende tune sus a \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Stoche e manne le rengraziaminde"
}
diff --git a/Thanks/i18n/rsk.json b/Thanks/i18n/rsk.json
new file mode 100644
index 00000000..41c09a17
--- /dev/null
+++ b/Thanks/i18n/rsk.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Keresturec"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|подзековац}}}}"
+}
diff --git a/Thanks/i18n/ru.json b/Thanks/i18n/ru.json
index b4725007..777a8714 100644
--- a/Thanks/i18n/ru.json
+++ b/Thanks/i18n/ru.json
@@ -12,6 +12,7 @@
"Movses",
"Okras",
"Ole Yves",
+ "Pacha Tchernof",
"Putnik",
"Romanko Mikhail",
"Sagan",
@@ -25,7 +26,7 @@
},
"thanks-desc": "Добавляет ссылки для благодарности участников за правки, комментарии и т.д.",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|поблагодарить}}}}",
- "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|отблагодарён|отблагодарена}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|поблагодарён|поблагодарена}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Поблагодарить}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Поблагодарён|Поблагодарена}}}}",
"thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Отправка благодарности}}}} $1…",
@@ -33,7 +34,7 @@
"thanks-button-action-completed": "Вы {{GENDER:$1|{{GENDER:$2|поблагодарили}}}} $1",
"thanks-error-undefined": "Попытка поблагодарить не удалась (код ошибки: $1). Пожалуйста, пробуйте ещё раз.",
"thanks-error-invalid-log-id": "Запись журнала не найдена",
- "thanks-error-invalid-log-type": "Тип журнала «$1» не находится в белом списке разрешённых.",
+ "thanks-error-invalid-log-type": "Тип журнала '$1' не находится в списке разрешённых.",
"thanks-error-log-deleted": "Запрошенная запись журнала была удалена, невозможно дать за неё благодарность.",
"thanks-error-invalidrevision": "Некорректный номер версии.",
"thanks-error-revdeleted": "Не удалось отправить благодарность, поскольку эта версия была удалена.",
@@ -47,7 +48,7 @@
"thanks-thank-tooltip": "{{GENDER:$1|Отправить}} {{GENDER:$2|этому участнику|этой участнице}} благодарственное сообщение",
"thanks-thank-tooltip-no": "{{GENDER:$1|Отменить}} уведомление с благодарностью",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Отправить}} уведомление с благодарностью",
- "thanks-confirmation2": "{{GENDER:$1|Отправить}} публичную благодарность?",
+ "thanks-confirmation2": "{{GENDER:$1|Поблагодарить}} публично?",
"thanks-thanked-notice": "{{GENDER:$3|Вы}} поблагодарили {{GENDER:$2|$1}}.",
"thanks": "Отправить благодарность",
"thanks-submit": "Отправить благодарность",
@@ -76,5 +77,6 @@
"notification-flow-thanks-post-link": "ваш комментарий",
"notification-header-flow-thank": "$1 поблагодарил{{GENDER:$2||а}} {{GENDER:$5|вас}} за комментарий в теме «<strong>$3</strong>».",
"notification-compact-header-flow-thank": "$1 поблагодарил{{GENDER:$2||а}} {{GENDER:$3|вас}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Один участник|$1 участника|100=99+ участников}} поблагодарили {{GENDER:$3|вас}} за ваш комментарий в \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Один участник|$1 участника|100=99+ участников}} поблагодарили {{GENDER:$3|вас}} за ваш комментарий в \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Отправка благодарности"
}
diff --git a/Thanks/i18n/rue.json b/Thanks/i18n/rue.json
new file mode 100644
index 00000000..5f5a3e34
--- /dev/null
+++ b/Thanks/i18n/rue.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tkalyn"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|подяковати}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|подяковали сьте}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Подяковати}}}}",
+ "thanks-button-thanked": "{{GENDER:$2|{{GENDER:$1|Подяковали сьте}}}}",
+ "notification-header-rev-thank": "$1 {{GENDER:$4|Вам}} {{GENDER:$2|подяковав|подяковала}} за едітованя сторінкы <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$4|Вам}} {{GENDER:$2|подяковав|подяковала}} за створеня сторінкы <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 {{GENDER:$4|Вам}} {{GENDER:$2|подяковав|подяковала}} за Вашу дїю споєну зо сторінков <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$3|Вам}} {{GENDER:$2|подяковав|подяковала}}.",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|подяковав|подяковала}} {{GENDER:$4|хоснователёви|хосновательцї}} $3",
+ "notification-header-flow-thank": "$1 {{GENDER:$5|Вам}} {{GENDER:$2|подяковав|подяковала}} за Ваш коментарь на <strong>$3</strong>.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$3|Вам}} {{GENDER:$2|подяковав|подяковала}}."
+}
diff --git a/Thanks/i18n/ryu.json b/Thanks/i18n/ryu.json
new file mode 100644
index 00000000..44564ff9
--- /dev/null
+++ b/Thanks/i18n/ryu.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChoiChong"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|にふぇーでーびる}}}}"
+}
diff --git a/Thanks/i18n/sc.json b/Thanks/i18n/sc.json
index c6889637..155606be 100644
--- a/Thanks/i18n/sc.json
+++ b/Thanks/i18n/sc.json
@@ -1,9 +1,11 @@
{
"@metadata": {
"authors": [
+ "L2212",
"Via maxima"
]
},
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|torra gràtzias}}}}",
"thanks-error-no-id-specified": "Depis ponni su revision ID po torrai gràtzias.",
"flow-thanks-confirmation-special": "Bolis torrai gràtzias po custu cumentu?"
}
diff --git a/Thanks/i18n/scn.json b/Thanks/i18n/scn.json
index a4db8e57..6059eddb 100644
--- a/Thanks/i18n/scn.json
+++ b/Thanks/i18n/scn.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Ajeje Brazorf",
"Gmelfi",
"Macofe",
"Pippinu",
@@ -12,24 +13,28 @@
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|fu ringrazziatu|fu ringrazziata}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Ringrazzia}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Fu ringrazziatu|Fu ringrazziata}}}}",
- "thanks-error-undefined": "Lu ringrazziamentu nun arriniscìu. Pi favuri prova n'àutra vota.",
+ "thanks-button-action-cancel": "Annulla",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|Ringrazziasti}}}} $1",
+ "thanks-error-undefined": "Lu ringrazziamentu nun arriniscìu (còdici erruri: $1). Pi favuri prova n'àutra vota.",
"thanks-error-invalidrevision": "L'ID dâ virsioni nun è vàlidu.",
+ "thanks-error-invalidrecipient-bot": "Li bot nun ponnu èssiri ringrazziati.",
"thanks-error-ratelimited": "{{GENDER:$1|Passasti}} lu tò lìmiti màssimu di ringrazziamenti. Pi favuri aspetta na picca e appoi prova n'àutra vota.",
"thanks-thank-tooltip": "{{GENDER:$1|Manna}} na nutìfica di ringrazziamentu a {{GENDER:$2|st'utenti|st'utenti}}",
- "thanks-confirmation2": "{{GENDER:$1|Mannari}} pubblicamenti arringrazziamenti pi stu canciamentu?",
- "thanks-thanked-notice": "$1 arricivìu lu tò ringrazziamentu pû {{GENDER:$2|sò}} canciamentu.",
+ "thanks-confirmation2": "{{GENDER:$1|Mannari}} pubblicamenti arringrazziamenti?",
+ "thanks-thanked-notice": "{{GENDER:$3|Ringrazziasti}} {{GENDER:$2|$1}}.",
"thanks": "Manna ringrazziamenti",
- "echo-pref-subscription-edit-thank": "Mi ringrazzia pi nu mè canciamentu",
- "echo-pref-tooltip-edit-thank": "Avvìsami quannu quarchidunu mi ringrazzia pi nu canciamentu ca fici.",
+ "echo-pref-subscription-edit-thank": "Mi ringrazzia p'un mè canciamentu",
+ "echo-pref-tooltip-edit-thank": "Avvìsami quannu quarchidunu mi ringrazzia p'un canciamentu ca fici.",
"echo-category-title-edit-thank": "Ringrazziamenti",
"notification-thanks-diff-link": "lu tò canciamentu",
"log-name-thanks": "Riggistru dî ringrazziamenti",
"log-description-thanks": "Ccassutta c'è na lista di l'utenti chi foru ringrazziati di àutri utenti.",
"logentry-thanks-thank": "$1 {{GENDER:$2|ringrazziau}} a {{GENDER:$4|$3}}",
- "thanks-error-no-id-specified": "Hai a spicificari n'ID di virsioni pi ringrazziari.",
+ "logeventslist-thanks-log": "Riggistru dî ringrazziamenti",
+ "thanks-error-no-id-specified": "Hai a spicificari n'ID di virsioni o riggistru pi ringrazziari.",
"notification-link-text-view-post": "Talìa lu cummentu",
"thanks-error-invalidpostid": "L'ID dû missaggiu nun è vàlidu.",
"flow-thanks-confirmation-special": "Voi ringrazziari pubblicamenti pi stu cummentu?",
- "flow-thanks-thanked-notice": "$1 arricivìu lu tò ringrazziamentu pû {{GENDER:$2|sò}} cummentu.",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Ringrazziasti}} $1 pû {{GENDER:$2|sò}} cummentu.",
"notification-flow-thanks-post-link": "lu tò cummentu"
}
diff --git a/Thanks/i18n/sd.json b/Thanks/i18n/sd.json
index 00ac26b0..a92fdd6c 100644
--- a/Thanks/i18n/sd.json
+++ b/Thanks/i18n/sd.json
@@ -6,7 +6,7 @@
"Sindhu"
]
},
- "thanks-desc": "واپرائيندڙن کي سنوارن، تبصرن وغيرہ لاءِ مھرباني چوڻ لاءِ ڳنڍڻا وجھي ٿو",
+ "thanks-desc": "واپرائيندڙن کي سنوارن، راين، وغيرہ لاءِ مھرباني چوڻ لاءِ ڳنڍڻا ڏي ٿو",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|مھرباني چئو}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|مھرباني چيل}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|مھرباني چئو}}}}",
@@ -16,13 +16,15 @@
"thanks-button-action-completed": "توھان $1 کي {{GENDER:$1|{{GENDER:$2|مھرباني چئي}}}}",
"thanks-error-undefined": "مھرباني چوڻ جو عمل ناڪام (چڪ ڪوڊ: $1). مھرباني ڪري ٻيھر ڪوشش ڪريو.",
"thanks-error-invalid-log-id": "لاگ داخلا نہ لڌي",
- "thanks-error-log-deleted": "گھريل لاگ داخلا ڊاھي وئي آھي ۽ ان لاءِ مھرباني نٿي ڏئي سگھجي.",
+ "thanks-error-invalid-log-type": "لاگ جو قسم '$1' اجازت ڏنل لاگن جي قسمن جي فھرست ۾ نہ آھي.",
+ "thanks-error-log-deleted": "گهريل لاگ داخلا ڊاھي وئي آھي ۽ ان لاءِ مھرباني نٿي ڏئي سگهجي.",
"thanks-error-invalidrevision": "ورجاءُ آئِڊي قابلِڪار ناھي.",
"thanks-error-revdeleted": "مھرباني چوڻ ۾ ناڪامي ڇوتہ ورجاءُ ڊاھيو ويو آھي.",
+ "thanks-error-notitle": "صفحي جو عنوان رِٽريوِ نٿي ڪري سگهيو",
"thanks-error-invalidrecipient": "ڪوبہ قابلِڪار وصول ڪندڙ نہ لڌو",
- "thanks-error-invalidrecipient-bot": "بوٽن کي مھرباني نٿي چئي سگھجي",
- "thanks-error-invalidrecipient-self": "توھان پنھنجو پاڻ کي مھرباني نٿا چئي سگھو",
- "thanks-error-notloggedin": "گمنام واپرائيندڙ مھرباني نٿا موڪلي سگھن",
+ "thanks-error-invalidrecipient-bot": "بوٽن کي مھرباني نٿي چئي سگهجي",
+ "thanks-error-invalidrecipient-self": "توھان پنھنجو پاڻ کي مھرباني نٿا چئي سگهو",
+ "thanks-error-notloggedin": "گمنام واپرائيندڙ مھرباني نٿا موڪلي سگهن",
"thanks-thank-tooltip": "هن {{GENDER:$2|واپرائيندڙ}} ڏانهن '''توهان جي مهرباني''' جو اطلاع {{GENDER:$1|موڪليو}}",
"thanks-thank-tooltip-no": "توھان جي مھرباني اطلاع {{GENDER:$1|رد}} ڪريو",
"thanks-thank-tooltip-yes": "توھان جي مھرباني اطلاع {{GENDER:$1|موڪليو}}",
@@ -46,12 +48,14 @@
"logeventslist-thanks-log": "مھرباني لاگ",
"thanks-confirmation-special-log": "ڇا توھان ھن لاگ عمل لاءِ عوامي طور مھربانيون موڪلڻ چاھيو ٿا؟",
"thanks-confirmation-special-rev": "چا توھان ھن سنوار لاءِ عوامي طور مھربانيون موڪلڻ چاھيو ٿا؟",
- "notification-link-text-view-post": "تبصرو ڏسو",
+ "notification-link-text-view-post": "راءِ ڏسو",
"notification-link-text-view-logentry": "لاگ داخلا ڏسو",
+ "thanks-error-invalidpostid": "پوسٽ آئڊي ڪارگر نہ آھي.",
"flow-thanks-confirmation-special": "ڇا توھان ھن تبصري لاءِ عوامي طور مھربانيون موڪلڻ چاھيو ٿا؟",
- "flow-thanks-thanked-notice": "{{GENDER:$3|توھان}} $1 کي {{GENDER:$2|ھن|ھن|انھن}} کي تبصري لاءِ مھرباني چئي.",
- "notification-flow-thanks-post-link": "توھان جو تبصرو",
- "notification-header-flow-thank": "$1 {{GENDER:$5|توھان}} کي \"<strong>$3</strong>\" ۾ تبصري لاءِ {{GENDER:$2|مھرباني چئي}}.",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|توھان}} $1 کي {{GENDER:$2|ھن|ھن|انھن}} کي راءِ لاءِ مھرباني چئي.",
+ "notification-flow-thanks-post-link": "توھان جي راءِ",
+ "notification-header-flow-thank": "$1 {{GENDER:$5|توھان}} کي \"<strong>$3</strong>\" ۾ راءِ لاءِ {{GENDER:$2|مھرباني چئي}}.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$3|توھان}} کي {{GENDER:$2|مھرباني چئي}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|ھڪ شخص|$1 ماڻھن|100=99+ ماڻھن}} {{GENDER:$3|توھان}} کي \"<strong>$2</strong>\" ۾ تبصري لاءِ مھرباني چئي."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|ھڪ شخص|$1 ماڻھن|100=99+ ماڻھن}} {{GENDER:$3|توھان}} کي \"<strong>$2</strong>\" ۾ راءِ لاءِ مھرباني چئي.",
+ "ipb-action-thanks": "مھربانيون موڪلڻ"
}
diff --git a/Thanks/i18n/sdc.json b/Thanks/i18n/sdc.json
index 226da08f..5b754ca6 100644
--- a/Thanks/i18n/sdc.json
+++ b/Thanks/i18n/sdc.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "F Samaritani",
"Jun Misugi"
]
},
@@ -20,5 +21,6 @@
"thanks-submit": "Mandà li gratzi",
"echo-pref-subscription-edit-thank": "Ringratziamenti pai la mudìfigga mea",
"echo-category-title-edit-thank": "Ringratziamentu",
- "notification-thanks-diff-link": "la mudìfigga tua"
+ "notification-thanks-diff-link": "la mudìfigga tua",
+ "ipb-action-thanks": "Turrà li gratzi"
}
diff --git a/Thanks/i18n/shi.json b/Thanks/i18n/shi.json
index dd20d197..84005586 100644
--- a/Thanks/i18n/shi.json
+++ b/Thanks/i18n/shi.json
@@ -1,9 +1,10 @@
{
"@metadata": {
"authors": [
- "Amara-Amaziɣ"
+ "Amara-Amaziɣ",
+ "Ayour2002"
]
},
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ⵙⵏⵉⵎⵎⵔ}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|ⴰⵣⵏ ⵏⵏ}} ⵢⴰⵜ ⵜⵏⵖⵎⵉⵙⵜ ⵏ ⵓⵙⵏⵉⵎⵎⵔ ⵉ {{GENDER:$2|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}} ⴰⴷ"
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|snimmr}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Ṣufḍ}} yat tnɣmist n usnimmr i {{GENDER:$2|usmras|tsmrast}} ad"
}
diff --git a/Thanks/i18n/sje.json b/Thanks/i18n/sje.json
new file mode 100644
index 00000000..50fdc72b
--- /dev/null
+++ b/Thanks/i18n/sje.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Olve Utne"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|gijjto}}}}",
+ "notification-link-text-view-post": "Vuosedä målgedimev"
+}
diff --git a/Thanks/i18n/sl.json b/Thanks/i18n/sl.json
index 7c7d3c7d..898c89ff 100644
--- a/Thanks/i18n/sl.json
+++ b/Thanks/i18n/sl.json
@@ -8,14 +8,16 @@
"Yerpo"
]
},
- "thanks-desc": "Doda povezave za zahvalo uporabnikom za urejanja, pripombe itn.",
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|zahvala}}}}",
+ "thanks-desc": "Doda povezave za zahvalo uporabnikom za urejanja, pripombe idr.",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|zahvali se}}}}",
"thanks-thanked": "{{GENDER:$1|{{GENDER:$2|zahvala je objavljena}}}}",
"thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Zahvala}}}}",
"thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Zahvala je objavljena}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Zahvaljujem se}}}} $1 …",
+ "thanks-button-action-cancel": "Prekliči",
"thanks-error-undefined": "Dejanje zahvale je spodletelo (koda napake: $1). Prosimo, poskusite znova.",
"thanks-error-invalid-log-id": "Dnevniški vpis ni bil najden",
- "thanks-error-invalid-log-type": "Vrste dnevnika '$1' ni na belem seznamu predvidenih vrst dnevnikov.",
+ "thanks-error-invalid-log-type": "Vrste dnevnika »$1« ni na seznamu dovoljenih vrst dnevnikov.",
"thanks-error-log-deleted": "Zahtevan dnevniški vpis je bil izbrisan, zato zanj ni mogoče dati zahvale.",
"thanks-error-invalidrevision": "ID-številka redakcije ni veljavna.",
"thanks-error-revdeleted": "Zahvale ni mogoče poslati, saj je bila redakcija izbrisana.",
@@ -29,34 +31,34 @@
"thanks-thank-tooltip": "{{GENDER:$1|Pošljite}} {{GENDER:$2|temu uporabniku|tej uporabnici}} zahvalo",
"thanks-thank-tooltip-no": "{{GENDER:$1|Prekliči}} obvestilo zahvale",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Pošlji}} obvestilo zahvale",
- "thanks-confirmation2": "Se {{GENDER:$1|želiš}} javno zahvaliti?",
+ "thanks-confirmation2": "Se {{GENDER:$1|želite}} javno zahvaliti?",
"thanks-thanked-notice": "{{GENDER:$3|Zahvalili}} ste se {{GENDER:$2|$1}}.",
- "thanks": "Pošljite zahvalo",
+ "thanks": "Pošlji zahvalo",
"thanks-submit": "Zahvali se",
"echo-pref-subscription-edit-thank": "Se mi zahvali za urejanje",
"echo-pref-tooltip-edit-thank": "Obvesti me, kadar se mi kdo zahvali za katero od mojih urejanj.",
"echo-category-title-edit-thank": "Zahvala",
"notification-thanks-diff-link": "vaše urejanje",
- "notification-header-rev-thank": "$1 {{GENDER:$2|se}} {{GENDER:$4|ti}} zahvaljuje za urejanje <strong>$3</strong>.",
- "notification-header-creation-thank": "$1 se {{GENDER:$4|ti}} {{GENDER:$2|zahvaljuje}} za ustvaritev <strong>$3</strong>.",
- "notification-header-log-thank": "$1 se {{GENDER:$4|ti}} {{GENDER:$2|zahvaljuje}} za tvoj poseg glede <strong>$3</strong>.",
- "notification-compact-header-edit-thank": "$1 se {{GENDER:$3|ti}} {{GENDER:$2|zahvaljuje}}.",
- "notification-bundle-header-rev-thank": "{{PLURAL:$1|Ena oseba se {{GENDER:$3|ti}} zahvaljuje|$1 osebi se ti zahvaljujeta|$1 osebe se ti zahvaljujejo|100=99+ oseb se ti zahvaljuje}} za urejanje <strong>$2</strong>.",
- "notification-bundle-header-log-thank": "{{PLURAL:$1|Ena oseba se {{GENDER:$3|ti}} zahvaljuje|$1 osebi se ti zahvaljujeta|$1 osebe se ti zahvaljujejo|100=99+ oseb se ti zahvaljuje}} za tvoj poseg glede <strong>$2</strong>.",
+ "notification-header-rev-thank": "$1 se {{GENDER:$4|vam}} je {{GENDER:$2|zahvalil|zahvalila|zahvalil/a}} za urejanje <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 se {{GENDER:$4|vam}} je {{GENDER:$2|zahvalil|zahvalila|zahvalil/a}} za ustvaritev strani <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 se {{GENDER:$4|vam}} je {{GENDER:$2|zahvalil|zahvalila|zahvalil/a}} za vaš poseg v zvezi s stranjo <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 se {{GENDER:$3|vam}} {{GENDER:$2|zahvaljuje}}.",
+ "notification-bundle-header-rev-thank": "Za {{GENDER:$3|vaše}} urejanje »<strong>$2</strong>« {{PLURAL:$1|se vam zahvaljuje ena oseba|se vam zahvaljujeta dve osebi|se vam zahvaljuje $1 oseb|100=se vam zahvaljuje 99+ oseb}}.",
+ "notification-bundle-header-log-thank": "Za {{GENDER:$3|vaše}} dejanje v zvezi z »<strong>$2</strong>« {{PLURAL:$1|se vam zahvaljuje ena oseba|se vam zahvaljujeta dve osebi|se vam zahvaljuje $1 oseb|100=se vam zahvaljuje 99+ oseb}}.",
"log-name-thanks": "Dnevnik zahval",
"log-description-thanks": "Prikazan je dnevnik uporabnikov, ki se jim je kdo zahvalil.",
"logentry-thanks-thank": "$1 se je {{GENDER:$2|zahvalil|zahvalila}} {{GENDER:$4|uporabniku|uporabnici}} {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "Dnevnik zahval",
"thanks-error-no-id-specified": "Določiti morate ID redakcije ali dnevnika, da se lahko zahvalite.",
- "thanks-confirmation-special-log": "Ali želiš javno poslati zahvale za ta dnevniški poseg?",
- "thanks-confirmation-special-rev": "Ali želiš javno poslati zahvale za to urejanje?",
+ "thanks-confirmation-special-log": "Ali želite javno poslati zahvalo za ta dnevniški poseg?",
+ "thanks-confirmation-special-rev": "Ali želite javno poslati zahvale za to urejanje?",
"notification-link-text-view-post": "Ogled pripombe",
"notification-link-text-view-logentry": "Prikaži vpis v dnevnik",
"thanks-error-invalidpostid": "ID objave ni veljaven.",
"flow-thanks-confirmation-special": "Se želite javno zahvaliti za to pripombo?",
"flow-thanks-thanked-notice": "{{GENDER:$3|Zahvalili}} ste se $1 za {{GENDER:$2|njegovo|njeno}} pripombo.",
"notification-flow-thanks-post-link": "tvojo pripombo",
- "notification-header-flow-thank": "$1 se {{GENDER:$5|ti}} {{GENDER:$2|zahvaljuje}} za tvoj komentar v \"<strong>$3</strong>\".",
- "notification-compact-header-flow-thank": "$1 se {{GENDER:$3|ti}} {{GENDER:$2|zahvaljuje}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Ena oseba se {{GENDER:$3|ti}} zahvaljuje|$1 osebi se ti zahvaljujeta|$1 osebe se ti zahvaljujejo|100=99+ oseb se ti zahvaljuje}} za tvoj komentar v »<strong>$2</strong>«."
+ "notification-header-flow-thank": "$1 se {{GENDER:$5|vam}} je {{GENDER:$2|zahvalil|zahvalila|zahvalil/a}} za vaš komentar na strani »<strong>$3</strong>«.",
+ "notification-compact-header-flow-thank": "$1 se {{GENDER:$3|vam}} {{GENDER:$2|zahvaljuje}}.",
+ "notification-bundle-header-flow-thank": "Za {{GENDER:$3|vaš}} komentar v »<strong>$2</strong>« {{PLURAL:$1|se vam zahvaljuje ena oseba|se vam zahvaljujeta dve osebi|se vam zahvaljuje $1 oseb|100=se vam zahvaljuje 99+ oseb}}."
}
diff --git a/Thanks/i18n/sli.json b/Thanks/i18n/sli.json
new file mode 100644
index 00000000..4266001c
--- /dev/null
+++ b/Thanks/i18n/sli.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Äberlausitzer"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|danken}}}}",
+ "thanks-thank-tooltip": "{{GENDER:$2|Diesem Benutzer|Dieser Benutzerin}} a Dankeschien {{GENDER:$1|senda}}"
+}
diff --git a/Thanks/i18n/smn.json b/Thanks/i18n/smn.json
index 9a704c0d..19953f77 100644
--- a/Thanks/i18n/smn.json
+++ b/Thanks/i18n/smn.json
@@ -1,9 +1,15 @@
{
"@metadata": {
"authors": [
- "Trondtr"
+ "Trondtr",
+ "Yupik"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|kijte}}}}",
- "thanks-thank-tooltip": "{{GENDER:$1|Vuolgât}} kijttosijd taan {{GENDER:$2|kevttei}}"
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|kiijtij}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Kijte}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Kiijtij}}}}",
+ "thanks-button-action-cancel": "Jooskâ",
+ "thanks-thank-tooltip": "{{GENDER:$1|Vuolgât}} kijttosijd taan {{GENDER:$2|kevttei}}",
+ "logentry-thanks-thank": "$1 {{GENDER:$2|kiijtij}} kevttee {{GENDER:$4|$3}}"
}
diff --git a/Thanks/i18n/sms.json b/Thanks/i18n/sms.json
new file mode 100644
index 00000000..34be0e98
--- /dev/null
+++ b/Thanks/i18n/sms.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yupik"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|späʹssbõõžž}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Späʹssbõõžž}}}}",
+ "thanks-button-action-cancel": "Jõõsk",
+ "thanks-thank-tooltip": "{{GENDER:$1|Späʹssbõõžž}} tän {{GENDER:$2|õõʹnni}}",
+ "thanks": "Späʹssbõõžž",
+ "thanks-submit": "Vuõlttâd",
+ "echo-category-title-edit-thank": "Späʹsseb",
+ "notification-link-text-view-post": "Čuäʹjet kommeeʹnt"
+}
diff --git a/Thanks/i18n/sr-ec.json b/Thanks/i18n/sr-ec.json
index 4a940c1c..343d453b 100644
--- a/Thanks/i18n/sr-ec.json
+++ b/Thanks/i18n/sr-ec.json
@@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"BadDog",
+ "Kizule",
"Macofe",
"Milicevic01",
"Obsuser",
@@ -20,6 +21,7 @@
"thanks-button-action-completed": "Захвалили {{GENDER:$2|сте}} се {{GENDER:$1|кориснику|корисници|кориснику/ци}} $1",
"thanks-error-undefined": "Захваљивање није успело (кôд грешке: $1). Покушајте поново.",
"thanks-error-invalid-log-id": "Унос у дневнику није пронађен",
+ "thanks-error-log-deleted": "Тражени унос у дневнику је обрисан и захвалница се не може упутити.",
"thanks-error-invalidrevision": "ID измене није важећи.",
"thanks-error-revdeleted": "Није могуће послати захвалницу јер је измена избрисана.",
"thanks-error-notitle": "Није могуће преузети наслов странице.",
@@ -39,15 +41,15 @@
"echo-pref-tooltip-edit-thank": "Обавештава вас када вам се неко захвали за измену коју сте направили.",
"echo-category-title-edit-thank": "Захвалнице",
"notification-thanks-diff-link": "вашој измени",
- "notification-header-rev-thank": "$1 вам се {{GENDER:$2|захвалио|захвалила|захвалио/ла}} на {{GENDER:$4|вашој}} измени странице <strong>$3</strong>.",
- "notification-header-creation-thank": "$1 {{GENDER:$4|вам}} се {{GENDER:$2|захвалио|захвалила|захвалио/ла}} на вашем прављењу странице <strong>$3</strong>.",
- "notification-header-log-thank": "$1 вам се {{GENDER:$2|захвалио|захвалила|захвалио/ла}} на {{GENDER:$4|вашој}} радњи на страници <strong>$3</strong>.",
- "notification-compact-header-edit-thank": "$1 {{GENDER:$3|вам}} се {{GENDER:$2|захвалио|захвалила|захвалио/ла}}.",
+ "notification-header-rev-thank": "$1 {{GENDER:$4|Вам}} се {{GENDER:$2|захваљује}} на измени странице <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$4|Вам}} се {{GENDER:$2|захваљује}} на прављењу странице <strong>$3</strong>.",
+ "notification-header-log-thank": "$1 {{GENDER:$4|Вам}} се {{GENDER:$2|захваљује}} на радњи у вези са страницом <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$3|Вам}} се {{GENDER:$2|захваљује}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Једна особа вам се захвалила|$1 особе су вам се захвалиле|$1 особа вам се захвалило|100=>&thinsp;99 особа вам се захвалило}} на {{GENDER:$3|вашој}} измени странице <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|Једна особа вам се захвалила|$1 особе су вам се захвалиле|$1 особа вам се захвалило|100=>&thinsp;99 особа вам се захвалило}} на {{GENDER:$3|вашој}} радњи на страници <strong>$2</strong>.",
"log-name-thanks": "Дневник захвалница",
"log-description-thanks": "Испод се налази списак корисника којима су се други корисници захвалили.",
- "logentry-thanks-thank": "$1 се {{GENDER:$2|захвалио|захвалила|захвалио/ла}} {{GENDER:$4|кориснику|корисници|кориснику/ци}} {{GENDER:$4|$3}}",
+ "logentry-thanks-thank": "$1 се {{GENDER:$2|захвалио|захвалила}} {{GENDER:$4|кориснику|корисници}} {{GENDER:$4|$3}}",
"logeventslist-thanks-log": "Дневник захвалница",
"thanks-error-no-id-specified": "Морате навести ID измене или дневника да бисте послали захвалницу.",
"thanks-confirmation-special-log": "Желите ли да јавно пошаљете захваљивање за ову радњу у дневнику?",
@@ -58,7 +60,8 @@
"flow-thanks-confirmation-special": "Желите ли да јавно пошаљете захвалницу за овај коментар?",
"flow-thanks-thanked-notice": "{{GENDER:$3|Захвалили}} сте се {{GENDER:$2|кориснику|корисници}} $1 на {{GENDER:$2|његовом|њеном}} коментар.",
"notification-flow-thanks-post-link": "вашем коментару",
- "notification-header-flow-thank": "$1 вам се {{GENDER:$2|захвалио|захвалила|захвалио/ла}} на {{GENDER:$5|вашем}} коментару у одељку „<strong>$3</strong>”.",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$3|вам}} се {{GENDER:$2|захвалио|захвалила|захвалио/ла}}",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Једна особа вам се захвалила|$1 особе су вам се захвалиле|$1 особа вам се захвалило|100=>&thinsp;99 особа вам се захвалило}} на {{GENDER:$3|вашем}} коментару у „<strong>$2</strong>”."
+ "notification-header-flow-thank": "$1 {{GENDER:$5|Вам}} се {{GENDER:$2|захваљује}} на коментару у одељку „<strong>$3</strong>”.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$3|Вам}} се {{GENDER:$2|захваљује}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Једна особа вам се захвалила|$1 особе су вам се захвалиле|$1 особа вам се захвалило|100=>&thinsp;99 особа вам се захвалило}} на {{GENDER:$3|вашем}} коментару у „<strong>$2</strong>”.",
+ "ipb-action-thanks": "Захваљивање"
}
diff --git a/Thanks/i18n/sr-el.json b/Thanks/i18n/sr-el.json
index 7ff77674..a0444b6e 100644
--- a/Thanks/i18n/sr-el.json
+++ b/Thanks/i18n/sr-el.json
@@ -1,10 +1,12 @@
{
"@metadata": {
"authors": [
+ "Kizule",
"Macofe",
"Milicevic01",
"Obsuser",
"Srdjan m",
+ "Srđan",
"Zoranzoki21"
]
},
diff --git a/Thanks/i18n/sro.json b/Thanks/i18n/sro.json
new file mode 100644
index 00000000..a5123263
--- /dev/null
+++ b/Thanks/i18n/sro.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jaime Sulas"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|torrat gràtzias}}}}"
+}
diff --git a/Thanks/i18n/sv.json b/Thanks/i18n/sv.json
index 90716b02..e6011fb0 100644
--- a/Thanks/i18n/sv.json
+++ b/Thanks/i18n/sv.json
@@ -10,6 +10,7 @@
"Lokal Profil",
"Macofe",
"MagnusA",
+ "Sabelöga",
"Skalman",
"WikiPhoenix"
]
@@ -24,7 +25,7 @@
"thanks-button-action-completed": "Du {{GENDER:$1|{{GENDER:$2|tackade}}}} $1",
"thanks-error-undefined": "Tackåtgärden misslyckades (felkod: $1). Var god försök igen.",
"thanks-error-invalid-log-id": "Loggpost hittades inte",
- "thanks-error-invalid-log-type": "Loggtypen \"$1\" är inte i vitlistan över tillåtna loggtyper.",
+ "thanks-error-invalid-log-type": "Loggtypen \"$1\" är inte i listan över tillåtna loggtyper.",
"thanks-error-log-deleted": "Den begärda loggposten har raderats och tacket kan inte ges för den.",
"thanks-error-invalidrevision": "Versions-ID är inte giltigt.",
"thanks-error-revdeleted": "Kunde inte skicka tack eftersom sidversionen har raderats.",
@@ -67,5 +68,6 @@
"notification-flow-thanks-post-link": "din kommentar",
"notification-header-flow-thank": "$1 {{GENDER:$2|tackade}} {{GENDER:$5|dig}} för din kommentar på \"<strong>$3</strong>\".",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|tackade}} {{GENDER:$3|dig}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|En person|$1 personer|100=99+ personer}} tackade {{GENDER:$3|dig}} för din kommentar på \"<strong>$2</strong>\"."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|En person|$1 personer|100=99+ personer}} tackade {{GENDER:$3|dig}} för din kommentar på \"<strong>$2</strong>\".",
+ "ipb-action-thanks": "Skickar tack"
}
diff --git a/Thanks/i18n/sw.json b/Thanks/i18n/sw.json
index 296e44e1..7b1a7b9f 100644
--- a/Thanks/i18n/sw.json
+++ b/Thanks/i18n/sw.json
@@ -1,8 +1,10 @@
{
"@metadata": {
"authors": [
- "Rance"
+ "Rance",
+ "Wangombe"
]
},
+ "thanks-thank": "{{GENDER:$1| {{GENDER:$2| asante}}}}",
"logeventslist-thanks-log": "taarifa ya Ahsante"
}
diff --git a/Thanks/i18n/syl.json b/Thanks/i18n/syl.json
new file mode 100644
index 00000000..b1f5db14
--- /dev/null
+++ b/Thanks/i18n/syl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "এম আবু সাঈদ"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ꠡꠥꠇꠞꠤꠀ}}}}"
+}
diff --git a/Thanks/i18n/ta.json b/Thanks/i18n/ta.json
index 7be98c21..1e933ae0 100644
--- a/Thanks/i18n/ta.json
+++ b/Thanks/i18n/ta.json
@@ -4,11 +4,14 @@
"AntanO",
"Jayarathina",
"Kalyanasundar",
- "Shanmugamp7"
+ "Kanags",
+ "MinecraftAustralia",
+ "Shanmugamp7",
+ "Siddhan"
]
},
"thanks-desc": "பயனர்களின் திருத்தங்கள், கருத்துகள் முதலியவற்றிற்கு நன்றி தெரிவிக்கும் இணைப்பை சேர்க்கும்.",
- "thanks-thank": "நன்றியுரை",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|நன்றி}}}}",
"thanks-thanked": "{{GENDER:$1|நன்றியுரைக்கப்பட்டது}}",
"thanks-button-thank": "நன்றி!",
"thanks-button-thanked": "{{GENDER:$1|நன்றியுரைக்கப்பட்டது}}",
diff --git a/Thanks/i18n/tdd.json b/Thanks/i18n/tdd.json
new file mode 100644
index 00000000..c0892b45
--- /dev/null
+++ b/Thanks/i18n/tdd.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aey Tai Nuea",
+ "咽頭べさ"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ᥕᥣᥙᥱ ᥓᥬ ᥗᥪᥒᥴ}}}}"
+}
diff --git a/Thanks/i18n/te.json b/Thanks/i18n/te.json
index 2b5ed14a..158d45d4 100644
--- a/Thanks/i18n/te.json
+++ b/Thanks/i18n/te.json
@@ -10,20 +10,40 @@
"రహ్మానుద్దీన్"
]
},
- "thanks-desc": "చరిత్ర మరియు తేడా వీక్షణాలకు వాడుకరులకు ధన్యవాదములు తెలుపు లంకెలను జత చేస్తుంది",
+ "thanks-desc": "దిద్దుబాట్లు, వ్యాఖ్యలు వగైరాలు చేసినందుకు గాను వాడుకరులకు ధన్యవాదాలు చెప్పే లింకులను చేరుస్తుంది.",
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు పంపండి}}}}",
- "thanks-thanked": "{{GENDER:$1|అభినందించారు}}",
- "thanks-error-undefined": "కృతజ్ఞతల చర్య విఫలమైంది. దయచేసి మళ్ళీ ప్రయత్నించండి.",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు చెప్పారు}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు పంపండి}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు చెప్పారు}}}}",
+ "thanks-button-action-queued": "$1 కు, {{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు చెబుతున్నారు}}}}…",
+ "thanks-button-action-cancel": "రద్దుచేయి",
+ "thanks-button-action-completed": "మీరు $1 కు {{GENDER:$1|{{GENDER:$2|ధన్యవాదాలు పంపారు}}}}",
+ "thanks-error-undefined": "ధన్యవాదాలు చెప్పడం విఫలమైంది (error code: $1). మళ్ళీ ప్రయత్నించండి.",
+ "thanks-error-invalid-log-id": "చిట్టాలో ఈ పద్దు లేదు",
+ "thanks-error-invalid-log-type": "అనుమతించిన చిట్టా రకాల జాబితాలో '$1' అనే రకం లేదు.",
"thanks-error-invalidrevision": "కూర్పుల ID చెల్లదు",
- "thanks-error-ratelimited": "మీరు మీ రేట్ హద్దును దాటారు. దయచేసి కాసేపాగి తిరిగి ప్రయత్నించండి.",
+ "thanks-error-notloggedin": "అజ్ఞాత వాడుకరులు ధన్యవాదాలు చెప్పజాలరు",
+ "thanks-error-ratelimited": "{{GENDER:$1|మీరు}} మీ రేట్ పరిమితిని దాటారు. కాసేపాగి తిరిగి ప్రయత్నించండి.",
"thanks-thank-tooltip": "{{GENDER:$2|వాడుకరి}}కి ఒక ధన్యవాద సూచన {{GENDER:$1|పంపండి}}",
+ "thanks-thank-tooltip-no": "ధన్యవాదాలు గమనింపును {{GENDER:$1|రద్దు చెయ్యి}}",
+ "thanks-confirmation2": "ధన్యవాదాలను బహిరంగంగా {{GENDER:$1|పంపుతారా?}}",
+ "thanks-thanked-notice": "{{GENDER:$3|మీరు}}, {{GENDER:$2|$1}} కు ధన్యవాదాలు పంపారు.",
"echo-pref-subscription-edit-thank": "నా మార్పుకు ధన్యవాదాలు",
"echo-pref-tooltip-edit-thank": "నేను చేసిన మార్పుకు ఎవరైనా ధన్యవాదాలు చెపితే నాకు తెలియజేయి",
"echo-category-title-edit-thank": "ధన్యవాదాలు",
"notification-thanks-diff-link": "మీ మార్పు",
+ "notification-header-rev-thank": "<strong>$3</strong> లో మీరు చేసిన దిద్దుబాటుకు గాను $1, {{GENDER:$4|మీకు}} {{GENDER:$2|ధన్యవాదాలు}} చెప్పారు.",
+ "notification-header-creation-thank": "<strong>$3</strong> ను సృష్టించినందుకు $1, {{GENDER:$4|మీకు}} {{GENDER:$2|ధన్యవాదాలు}} చెప్పారు.",
+ "notification-header-log-thank": "<strong>$3</strong> కు సంబంధించి {{GENDER:$4|మీరు}} తీసుకున్న చర్యకు గాను $1, {{GENDER:$2|ధన్యవాదాలు}} చెప్పారు.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$3|మీకు}} ధన్యవాదాలు {{GENDER:$2|చెప్పారు}}.",
+ "notification-bundle-header-rev-thank": "<strong>$2</strong> లో {{GENDER:$3|మీరు}} చేసిన దిద్దుబాటుకు గాను {{PLURAL:$1|ఒక వ్యక్తి|$1 మంది|100=99+ వ్యక్తులు}} ధన్యవాదాలు చెప్పారు.",
+ "notification-bundle-header-log-thank": "<strong>$2</strong> కు సంబంధించి మీరు తీసుకున్న చర్యకు గాను {{PLURAL:$1|ఒక వ్యక్తి|$1 మంది|100=99+ మంది}} {{GENDER:$3|మీకు}} ధన్యవాదాలు చెప్పారు.",
"log-name-thanks": "ధన్యవాదాల చిట్టా",
"log-description-thanks": "క్రింది వాడుకరులు ఇతర వాడుకరుల నుండి ధన్యవాదాలు పొందారు.",
"logentry-thanks-thank": "$1 {{GENDER:$4|$3}} కు {{GENDER:$2|ధన్యవాదాలు పంపారు}}",
+ "logeventslist-thanks-log": "ధన్యవాదాల చిట్టా",
+ "thanks-error-no-id-specified": "ధన్యవాదాలు పంపించేందుకు మీరొక కూర్పునో లాగ్ ఐడీనో ఇవ్వాలి.",
+ "thanks-confirmation-special-log": "ఈ లాగ్ చర్యకు గాను మీరు బహిరంగంగా ధన్యవాదాలు పంపాలనుకుంటున్నారా?",
"notification-link-text-view-post": "వ్యాఖ్యను చూడండి",
"flow-thanks-confirmation-special": "ఈ వ్యాఖ్యకు బహిరంగంగా ధన్యవాదములు తెలుపుతారా?",
"notification-flow-thanks-post-link": "మీ వ్యాఖ్య"
diff --git a/Thanks/i18n/th.json b/Thanks/i18n/th.json
index 75ca02b6..b08b71de 100644
--- a/Thanks/i18n/th.json
+++ b/Thanks/i18n/th.json
@@ -30,7 +30,7 @@
"thanks-thank-tooltip": "{{GENDER:$1|ส่ง}}การแจ้งขอบคุณไปยัง{{GENDER:$2|ผู้ใช้}}นี้",
"thanks-thank-tooltip-no": "{{GENDER:$1|ยกเลิก}}การแจ้งขอบคุณ",
"thanks-thank-tooltip-yes": "{{GENDER:$1|ส่ง}}การแจ้งขอบคุณ",
- "thanks-confirmation2": "ส่งคำขอบคุณแบบเปิดเผยต่อสาธารณะหรือไม่",
+ "thanks-confirmation2": "{{GENDER:$1|ส่ง}}คำขอบคุณแบบเปิดเผยต่อสาธารณะหรือไม่",
"thanks-thanked-notice": "{{GENDER:$3|คุณ}}กล่าวขอบคุณ {{GENDER:$2|$1}} แล้ว",
"thanks": "ส่งคำขอบคุณ",
"thanks-submit": "ส่งคำขอบคุณ",
@@ -39,7 +39,7 @@
"echo-category-title-edit-thank": "ขอบคุณ",
"notification-thanks-diff-link": "การแก้ไขของคุณ",
"notification-header-rev-thank": "$1 ได้{{GENDER:$2|กล่าวขอบคุณ}}{{GENDER:$4|คุณ}}สำหรับการแก้ไขของคุณบน <strong>$3</strong>",
- "notification-header-creation-thank": "$1 ขอบคุณคุณสำหรับการสร้างหน้า <strong>$3</strong>",
+ "notification-header-creation-thank": "$1 {{GENDER:$2|ขอบคุณ}}{{GENDER:$4|คุณ}}สำหรับการสร้างหน้า <strong>$3</strong>",
"notification-header-log-thank": "$1 ได้{{GENDER:$2|กล่าวขอบคุณ}}{{GENDER:$4|คุณ}}สำหรับการกระทำของคุณเกี่ยวกับ <strong>$3</strong>",
"notification-compact-header-edit-thank": "$1 ได้{{GENDER:$2|กล่าวขอบคุณ}}{{GENDER:$3|คุณ}}",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|1 คน|$1 คน|100=99+ คน}}ได้กล่าวขอบคุณ{{GENDER:$3|คุณ}}สำหรับการแก้ไขของคุณบน <strong>$2</strong>",
diff --git a/Thanks/i18n/ti.json b/Thanks/i18n/ti.json
new file mode 100644
index 00000000..79164f37
--- /dev/null
+++ b/Thanks/i18n/ti.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joanmp17"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|ኣመስግን|ኣመስግኒ}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|ኣመስግን|ኣመስግኒ}}}}",
+ "thanks-button-action-cancel": "ኣትርፍ"
+}
diff --git a/Thanks/i18n/tk.json b/Thanks/i18n/tk.json
new file mode 100644
index 00000000..8aa1f554
--- /dev/null
+++ b/Thanks/i18n/tk.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "TayfunEt."
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|sag boluň}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Sag boluň}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Sag boluň iberildi}}}}"
+}
diff --git a/Thanks/i18n/tl.json b/Thanks/i18n/tl.json
index 08a2d199..bc9afac7 100644
--- a/Thanks/i18n/tl.json
+++ b/Thanks/i18n/tl.json
@@ -2,25 +2,64 @@
"@metadata": {
"authors": [
"AnakngAraw",
+ "GinawaSaHapon",
+ "Jojit fb",
"LR Guanzon",
"Sky Harbor"
]
},
- "thanks-desc": "Nagdaragdag ng mga kawing ng pasasalamat sa pagtanaw ng kasaysayan at pagkakaiba",
- "thanks-thank": "{{GENDER:$1|{{GENDER:$2|pasalamatan}}}}",
- "thanks-thanked": "{{GENDER:$1|pinasalamatan na}}",
- "thanks-button-thank": "Pasalamatan",
- "thanks-button-thanked": "{{GENDER:$1|Pinasalamatan na}}",
- "thanks-error-undefined": "Nabigo ang kilos ng pagpapasalamat. Mangyaring subukan muli.",
- "thanks-error-invalidrevision": "Walang saysay ang ID ng rebisyon.",
- "thanks-error-ratelimited": "Nilampasan mo ang iyong hangganan ng antas. Mangyaring maghintay ng ilang sandali at subukan muli.",
- "thanks-thank-tooltip": "{{GENDER:$1|Magpadala}} ng isang pabatid ng pasasalamat sa {{GENDER:$2|tagagamit}} na ito",
- "thanks-thanked-notice": "Sinabihan si $1 na ginusto mo ang {{GENDER:$2|kaniyang|kanilang}} pagbabago.",
- "echo-pref-subscription-edit-thank": "Pinasalamatan ako para sa aking pagbabago",
- "echo-pref-tooltip-edit-thank": "Ipabatid sa akin kapag may nagpasalamat sa akin para sa isang pagbabagong naigawa ko.",
+ "thanks-desc": "Nagdadagdag ng mga link para pasalamatan ang mga tagagamit para sa kanilang binago, komento, atbp.",
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|salamat}}}}",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|pinasalamatan}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Pasalamatan}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Pinasalamatan}}}}",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Pinapasalamatan}}}} si $1…",
+ "thanks-button-action-cancel": "Ikansela",
+ "thanks-button-action-completed": "{{GENDER:$1|{{GENDER:$2|Pinasalamatan}}}} mo si $1",
+ "thanks-error-undefined": "Pumalya ang pagpapasalamat (error code: $1). Pakiulit po uli.",
+ "thanks-error-invalid-log-id": "Di nakita ang entry ng tala",
+ "thanks-error-invalid-log-type": "Wala sa talaan ng mga pinapayagang uri ng tala ang '$1'.",
+ "thanks-error-log-deleted": "Binura na ang hiniling na entry ng tala kaya di na mabibigay ang pasasalamat.",
+ "thanks-error-invalidrevision": "Di valid ang ID ng pagbabago.",
+ "thanks-error-revdeleted": "Di magawang mapadala ang pasasalamat dahil binura na ang pagbabago.",
+ "thanks-error-notitle": "Di makuha ang pamagat ng pahina",
+ "thanks-error-invalidrecipient": "Walang nakitang valid na tatanggap",
+ "thanks-error-invalidrecipient-bot": "Di mapapasalamatan ang mga bot",
+ "thanks-error-invalidrecipient-self": "Bawal mong pasalamatan ang sarili mo",
+ "thanks-error-notloggedin": "Bawal magpasalamat ang mga di kilalang tagagamit",
+ "thanks-error-ratelimited": "Narating {{GENDER:$1|mo}} na ang hangganan ng pagpadala mo. Mangyaring maghintay ka muna ng ilang sandali at pakisubukan muli.",
+ "thanks-error-api-params": "Dapat may binigay na 'revid' o di kaya 'logid'",
+ "thanks-thank-tooltip": "{{GENDER:$1|Magpadala}} ng pasasalamat sa {{GENDER:$2|tagagamit}} na ito",
+ "thanks-thank-tooltip-no": "{{GENDER:$1|Ikansela}} ang pasasalamat",
+ "thanks-thank-tooltip-yes": "{{GENDER:$1|Magpadala}} ng pasasalamat",
+ "thanks-confirmation2": "{{GENDER:$1|Magpapasalamat}} ka ba talaga?",
+ "thanks-thanked-notice": "Pinasalamatan mo {{GENDER:$3|mo}} si {{GENDER:$2|$1}}.",
+ "thanks": "Magpasalamat",
+ "thanks-submit": "Magpasalamat",
+ "echo-pref-subscription-edit-thank": "Pinasalamatan ako sa pagbabagong ginawa ko",
+ "echo-pref-tooltip-edit-thank": "Abisuhan ako kapag may nagpasalamat sa akin para sa pagbabagong ginawa ko.",
"echo-category-title-edit-thank": "Pasasalamat",
- "notification-thanks-diff-link": "ang pagbabago mo",
+ "notification-thanks-diff-link": "pagbabago mo",
+ "notification-header-rev-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$4|ka}} ni $1 para sa pagbabagong ginawa mo sa <strong>$3</strong>.",
+ "notification-header-creation-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$4|ka}} ni $1 para sa paggawa mo sa <strong>$3</strong>.",
+ "notification-header-log-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$4|ka}} ni $1 para sa ginawa mong may kinalaman sa <strong>$3</strong>.",
+ "notification-compact-header-edit-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$3|ka}} ni $1.",
+ "notification-bundle-header-rev-thank": "Nagpasalamat ang {{PLURAL:$1|isang tao|$1 (na) tago|100=99+ na tao}} {{GENDER:$3|sa'yo}} para sa pagbago mo sa <strong>$2</strong>.",
+ "notification-bundle-header-log-thank": "Nagpasalamat ang {{PLURAL:$1|isang tao|$1 (na) tago|100=99+ na tao}} {{GENDER:$3|sa'yo}} para sa ginawa mong may kinalaman sa <strong>$2</strong>.",
"log-name-thanks": "Tala ng pasasalamat",
- "log-description-thanks": "Nasa ibaba ang isang tala ng mga tagagamit na pinasalamatan ng ibang tagagamit.",
- "logentry-thanks-thank": "{{GENDER:$2|Pinasalamatan}} ni $1 si {{GENDER:$4|$3}}"
+ "log-description-thanks": "Nasa baba ang tala ng mga tagagamit na pinasalamatan ng ibang tagagamit.",
+ "logentry-thanks-thank": "{{GENDER:$2|Pinasalamatan}} ni $1 si {{GENDER:$4|$3}}",
+ "logeventslist-thanks-log": "Tala ng pasasalamat",
+ "thanks-error-no-id-specified": "Kailangan mo munang ibigay ang ID ng pagbabago o tala para magpasalamat.",
+ "thanks-confirmation-special-log": "Gusto mo ba talagang magpadala ng pasasalamat para sa talang ito?",
+ "thanks-confirmation-special-rev": "Gusto mo ba talagang magpadala ng pasasalamat para sa pagbabagong ito?",
+ "notification-link-text-view-post": "Tingnan ang komento",
+ "notification-link-text-view-logentry": "Tingnan ang entry ng tala",
+ "thanks-error-invalidpostid": "Di valid ang ID ng post.",
+ "flow-thanks-confirmation-special": "Gusto mo ba talagang magpadala ng pasasalamat para sa komentong ito?",
+ "flow-thanks-thanked-notice": "Pinasalamatan {{GENDER:$3|mo}} si $1 para sa {{GENDER:$2|kanyang}} komento.",
+ "notification-flow-thanks-post-link": "komento mo",
+ "notification-header-flow-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$5|ka}} ni $1 para sa komento mo sa \"<strong>$3</strong>\".",
+ "notification-compact-header-flow-thank": "{{GENDER:$2|Pinasalamatan}} {{GENDER:$3|ka}} ni $1",
+ "notification-bundle-header-flow-thank": "Nagpasalamat ang {{PLURAL:$1|isang tao|$1 (na) tago|100=99+ na tao}} {{GENDER:$3|sa'yo}} para sa komento mo sa \"<strong>$2</strong>\"."
}
diff --git a/Thanks/i18n/tly.json b/Thanks/i18n/tly.json
index e51ffc2a..c28b86b4 100644
--- a/Thanks/i18n/tly.json
+++ b/Thanks/i18n/tly.json
@@ -1,8 +1,11 @@
{
"@metadata": {
"authors": [
- "Patriot Kur"
+ "Patriot Kur",
+ "Гусейн"
]
},
- "thanks-button-action-cancel": "Ləğv karde"
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|сәғби воте}}}}",
+ "thanks-button-action-cancel": "Ləğv karde",
+ "thanks-thank-tooltip": "{{GENDER:$1|Vığande}} {{GENDER:$2|bı iştirokəkə|bı iştirokəkə}} ve səğbi"
}
diff --git a/Thanks/i18n/tr.json b/Thanks/i18n/tr.json
index 23c5e4e2..2427a21a 100644
--- a/Thanks/i18n/tr.json
+++ b/Thanks/i18n/tr.json
@@ -9,8 +9,11 @@
"Macofe",
"McAang",
"Meelo",
+ "Melissadilara",
"Rapsar",
+ "SaldırganSincap",
"Sayginer",
+ "Sezgin İbiş",
"Stultiwikia",
"Vito Genovese"
]
@@ -25,7 +28,7 @@
"thanks-button-action-completed": "$1 kullanıcıya {{GENDER:$1|{{GENDER:$2|teşekkür}}}} ettiniz",
"thanks-error-undefined": "Teşekkür eylemi başarısız oldu (hata kodu: $1). Lütfen tekrar deneyin.",
"thanks-error-invalid-log-id": "Günlük girişi bulunamadı",
- "thanks-error-invalid-log-type": "'$1' günlük türü, izin verilen günlük türlerinin beyaz listesinde değil.",
+ "thanks-error-invalid-log-type": "'$1' günlük türü, izin verilen günlük türlerinin listesinde değil.",
"thanks-error-log-deleted": "İstenen günlük girişi silindi ve giriş için teşekkür edilemiyor.",
"thanks-error-invalidrevision": "Revizyon kimliği geçerli değil.",
"thanks-error-revdeleted": "Revizyon silindiği için teşekkür gönderilemiyor.",
@@ -47,15 +50,15 @@
"echo-pref-tooltip-edit-thank": "Yaptığım katkılar için yapılan teşekkürleri bana bildir.",
"echo-category-title-edit-thank": "Teşekkürler",
"notification-thanks-diff-link": "değişikliğiniz",
- "notification-header-rev-thank": "$1 kullanıcısı <strong>$3</strong> sayfasındaki değişikliğiniz için {{GENDER:$4|size}} {{GENDER:$2|teşekkür etti}}.",
+ "notification-header-rev-thank": "$1, <strong>$3</strong> sayfasındaki değişikliğiniz için {{GENDER:$4|size}} {{GENDER:$2|teşekkür etti}}.",
"notification-header-creation-thank": "$1, <strong>$3</strong> sayfasını oluşturduğunuz için {{GENDER:$4|size}} {{GENDER:$2|teşekkür etti}}.",
"notification-header-log-thank": "$1, <strong>$3</strong> ile ilgili eyleminiz için {{GENDER:$4|size}} {{GENDER:$2|teşekkür etti}}.",
- "notification-compact-header-edit-thank": "$1 {{GENDER:$3|size}} {{GENDER:$2|teşekkür etti}}.",
+ "notification-compact-header-edit-thank": "$1, {{GENDER:$3|size}} {{GENDER:$2|teşekkür etti}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Bir kişi|$1 kişi|100=99+ kişi}} <strong>$2</strong> sayfasındaki düzenlemeniz için {{GENDER:$3|size}} teşekkür etti.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|Bir kişi|$1 kişi|100=99+ kişi}} <strong>$2</strong> ile ilgili işleminiz için {{GENDER:$3|size}} teşekkür etti.",
"log-name-thanks": "Teşekkür günlüğü",
"log-description-thanks": "Diğer teşekkür eden kullanıcılar aşağıda listelenmektedir.",
- "logentry-thanks-thank": "$1 {{GENDER:$2}}, {{GENDER:$4|$3}} kullanıcısına teşekkür etti.",
+ "logentry-thanks-thank": "$1, {{GENDER:$4|$3}} kullanıcısına {{GENDER:$2|teşekkür etti}}.",
"logeventslist-thanks-log": "Teşekkür günlüğü",
"thanks-error-no-id-specified": "Teşekkür göndermek için bir revizyon veya günlük kimliği belirtmelisiniz.",
"thanks-confirmation-special-log": "Bu günlük işlemi için herkese açık olarak teşekkür etmek ister misiniz?",
@@ -67,6 +70,7 @@
"flow-thanks-thanked-notice": "$1 {{GENDER:$2|kullanıcısına}} yorumuna {{GENDER:$3|teşekkür ettiniz}}.",
"notification-flow-thanks-post-link": "yorumunuz",
"notification-header-flow-thank": "$1, {{GENDER:$5|size}} \"<strong>$3</strong>\" yorumunuza {{GENDER:$2|teşekkür etti}}.",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$3|size}} {{GENDER:$2|teşekkür etti}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Bir kişi|$1 kişi|100=99+ kişi}} \"<strong>$2</strong>\" içindeki yorumunuz için {{GENDER:$3|size}} teşekkür etti."
+ "notification-compact-header-flow-thank": "$1, {{GENDER:$3|size}} {{GENDER:$2|teşekkür etti}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Bir kişi|$1 kişi|100=99+ kişi}} \"<strong>$2</strong>\" içindeki yorumunuz için {{GENDER:$3|size}} teşekkür etti.",
+ "ipb-action-thanks": "Teşekkür gönderme"
}
diff --git a/Thanks/i18n/tum.json b/Thanks/i18n/tum.json
new file mode 100644
index 00000000..034bbd62
--- /dev/null
+++ b/Thanks/i18n/tum.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Tumbuka Arch"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|wonga}}}}"
+}
diff --git a/Thanks/i18n/tw.json b/Thanks/i18n/tw.json
new file mode 100644
index 00000000..3a7227b4
--- /dev/null
+++ b/Thanks/i18n/tw.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robertjamal12"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|da ase}}}}"
+}
diff --git a/Thanks/i18n/tyv.json b/Thanks/i18n/tyv.json
new file mode 100644
index 00000000..dd49099a
--- /dev/null
+++ b/Thanks/i18n/tyv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Riverman"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|четтирдим}}}}"
+}
diff --git a/Thanks/i18n/ug-arab.json b/Thanks/i18n/ug-arab.json
new file mode 100644
index 00000000..bd169998
--- /dev/null
+++ b/Thanks/i18n/ug-arab.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sahran"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|رەھمەت}}}}"
+}
diff --git a/Thanks/i18n/uk.json b/Thanks/i18n/uk.json
index 5576f3c2..dda5ab7a 100644
--- a/Thanks/i18n/uk.json
+++ b/Thanks/i18n/uk.json
@@ -5,7 +5,9 @@
"Aced",
"Andriykopanytsia",
"Base",
+ "DDPAT",
"Green Zero",
+ "Ice bulldog",
"Macofe",
"NickK",
"Olion",
@@ -25,7 +27,7 @@
"thanks-button-action-completed": "Ви {{GENDER:$1|{{GENDER:$2|подякували}}}} $1",
"thanks-error-undefined": "Не вдалось подякувати (код помилки: $1). Спробуйте знову.",
"thanks-error-invalid-log-id": "Запис журналу не знайдено",
- "thanks-error-invalid-log-type": "Типу журналу «$1» немає у білому списку дозволених типів журналів.",
+ "thanks-error-invalid-log-type": "Типу журналу «$1» немає у списку дозволених типів журналів.",
"thanks-error-log-deleted": "Запитаний запис журналу було вилучено, за нього не можна подякувати.",
"thanks-error-invalidrevision": "Неправильний ідентифікатор версії.",
"thanks-error-revdeleted": "Не вдалося надіслати подяку, бо версію вилучено.",
@@ -36,7 +38,7 @@
"thanks-error-notloggedin": "Анонімні користувачі не можуть надсилати подяк",
"thanks-error-ratelimited": "{{GENDER:$1|Ви}} перевищили свій ліміт частоти. Будь ласка, зачекайте деякий час, і спробуйте знову.",
"thanks-error-api-params": "Має бути присутній один з параметрів «revid» або «logid»",
- "thanks-thank-tooltip": "{{GENDER:$1|Надіслати}} сповіщення вдячності {{GENDER:$2|цьому користувачу|цій користувачці}}",
+ "thanks-thank-tooltip": "{{GENDER:$1|Надіслати}} сповіщення про подяку {{GENDER:$2|цьому користувачу|цій користувачці}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|Скасувати}} сповіщення про подяку",
"thanks-thank-tooltip-yes": "{{GENDER:$1|Надіслати}} сповіщення про подяку",
"thanks-confirmation2": "{{GENDER:$1|Надіслати}} подяку?",
@@ -45,7 +47,7 @@
"thanks-submit": "Надіслати подяку",
"echo-pref-subscription-edit-thank": "Дякує мені за мої редагування",
"echo-pref-tooltip-edit-thank": "Повідомляти, коли хтось дякує мені за редагування, зроблені мною.",
- "echo-category-title-edit-thank": "Вдячність",
+ "echo-category-title-edit-thank": "Подяки",
"notification-thanks-diff-link": "Ваше редагування",
"notification-header-rev-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$4|Вам}} за редагування на сторінці <strong>$3</strong>.",
"notification-header-creation-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$4|Вам}} за створення <strong>$3</strong>.",
@@ -53,7 +55,7 @@
"notification-compact-header-edit-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$3|Вам}}.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Одна людина подякувала|$1 людей подякувало|100=99+ людей подякували}} {{GENDER:$3|Вам}} за редагування сторінки <strong>$2</strong>.",
"notification-bundle-header-log-thank": "{{PLURAL:$1|Одна людина подякувала|$1 людей подякувало|100=99+ людей подякували}} {{GENDER:$3|Вам}} за вашу дію щодо <strong>$2</strong>.",
- "log-name-thanks": "Журнал вдячностей",
+ "log-name-thanks": "Журнал подяк",
"log-description-thanks": "Нижче наведено перелік користувачів, яким подякували інші користувачі.",
"logentry-thanks-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$4|користувачу|користувачці}} $3",
"logeventslist-thanks-log": "Журнал подяк",
@@ -68,5 +70,6 @@
"notification-flow-thanks-post-link": "ваш коментар",
"notification-header-flow-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$5|Вам}} за Ваш коментар у <strong>$3</strong>.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2|подякував|подякувала}} {{GENDER:$3|Вам}}.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Одна людина подякувала|$1 людей подякувало|100=99+ людей подякували}} {{GENDER:$3|Вам}} за коментар на «<strong>$2</strong>»."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Одна людина подякувала|$1 людей подякувало|100=99+ людей подякували}} {{GENDER:$3|Вам}} за коментар на «<strong>$2</strong>».",
+ "ipb-action-thanks": "Надсилання подяк"
}
diff --git a/Thanks/i18n/uz.json b/Thanks/i18n/uz.json
index 9653a41f..d89703c9 100644
--- a/Thanks/i18n/uz.json
+++ b/Thanks/i18n/uz.json
@@ -2,24 +2,47 @@
"@metadata": {
"authors": [
"Abdulla",
+ "Malikxan",
"Nataev",
"Sociologist"
]
},
"thanks-thank": "{{GENDER:$1|{{GENDER:$2|rahmat}}}}",
- "thanks-thanked": "{{GENDER:$1|rahmat aytildi}}",
- "thanks-button-thank": "{{GENDER:$1|Rahmat}}",
- "thanks-button-thanked": "{{GENDER:$1|Rahmat aytildi}}",
- "thanks-error-undefined": "Rahmat yetkazilmadi. Iltimos takrorlang.",
+ "thanks-thanked": "{{GENDER:$1|{{GENDER:$2|rahmat aytildi}}}}",
+ "thanks-button-thank": "{{GENDER:$1|{{GENDER:$2|Rahmat}}}}",
+ "thanks-button-thanked": "{{GENDER:$1|{{GENDER:$2|Rahmat aytildi}}}}",
+ "thanks-button-action-queued": "$1ga {{GENDER:$1|{{GENDER:$2|rahmat aytilyabdi}}}}…",
+ "thanks-button-action-cancel": "Bekor qilish",
+ "thanks-button-action-completed": "Siz $1 ga {{GENDER:$1|{{GENDER:$2|rahmat aytdingiz}}}}",
+ "thanks-error-undefined": "Rahmat yetkazilmadi (xatolik kodi: $1). Iltimos qayta urining.",
+ "thanks-error-invalid-log-id": "Kirish qaydlari topilmadi",
"thanks-error-invalidrevision": "Versiya raqami notoʻgʻri.",
"thanks-error-ratelimited": "{{GENDER:$1|Siz}} bu amallarni haddan oshiq tez bajaryapsiz. Iltimos bir oz kuting va takrorlang.",
"thanks-thank-tooltip": "Bu {{GENDER:$2|foydalanuvchiga}} rahmat {{GENDER:$1|ayt}}",
- "thanks-thanked-notice": "$1ga {{GENDER:$2|uning|uning|ularning}} tahririni yoqtirganingiz haqida bildirildi.",
+ "thanks-confirmation2": "Hammaga rahmat {{GENDER:$1|aytilsinmi}}?",
+ "thanks-thanked-notice": "{{GENDER:$2|$1}}ga tahririni {{GENDER:$3|yoqtirganingiz}} haqida bildirildi.",
+ "thanks": "Rahmatni yuborish",
+ "thanks-submit": "Rahmat yuborildi",
"echo-pref-subscription-edit-thank": "Tahririm uchun menga rahmat aytildi",
"echo-pref-tooltip-edit-thank": "Tahririm uchun rahmat aytilsa menga bildir.",
"echo-category-title-edit-thank": "Rahmat",
"notification-thanks-diff-link": "tahriringiz",
+ "notification-header-rev-thank": "$1 {{GENDER:$4|sizga}} <strong>$3</strong>dagi tahriringiz uchun {{GENDER:$2|rahmat aytdi}}.",
+ "notification-header-creation-thank": "$1 {{GENDER:$4|sizga}} <strong>$3</strong>ni yaratganligingiz uchun {{GENDER:$2|rahmat aytdi}}.",
+ "notification-header-log-thank": "$1 {{GENDER:$4|sizga}} <strong>$3</strong>ga tegishli harakatingiz uchun {{GENDER:$2|rahmat aytdi}}.",
+ "notification-compact-header-edit-thank": "$1 {{GENDER:$3|sizga}} {{GENDER:$2|rahmat aytdi}}.",
+ "notification-bundle-header-rev-thank": "{{PLURAL:$1|Bir kishi|$1 kishilar|100=99+ kishi}} {{GENDER:$3|sizga}} \"<strong>$2</strong>\"dagi tahriringiz uchun rahmat aytdi.",
+ "notification-bundle-header-log-thank": "{{PLURAL:$1|Bir kishi|$1 kishilar|100=99+ kishi}} {{GENDER:$3|sizga}} \"<strong>$2</strong>\"ga tegishli harakatingiz uchun rahmat aytdi.",
"log-name-thanks": "Rahmatlar qaydi",
"log-description-thanks": "Quyida rahmat aytilgan foydalanuvchilar roʻyxati keltirilgan.",
- "logentry-thanks-thank": "$1 {{GENDER:$4|$3}}ga {{GENDER:$2|rahmat aytdi}}"
+ "logentry-thanks-thank": "$1 {{GENDER:$4|$3}}ga {{GENDER:$2|rahmat aytdi}}",
+ "logeventslist-thanks-log": "Rahmatlar qaydi",
+ "notification-link-text-view-post": "Izohni koʻrish",
+ "notification-link-text-view-logentry": "Kirish qaydiga razm solish",
+ "thanks-error-invalidpostid": "Post ID — yaroqsiz",
+ "flow-thanks-thanked-notice": "{{GENDER:$3|Siz}} {{GENDER:$2|uning|ularning}} izohi uchun $1 ga rahmat aytdingiz.",
+ "notification-flow-thanks-post-link": "sizning izohingiz",
+ "notification-header-flow-thank": "$1 {{GENDER:$5|sizga}} \"<strong>$3</strong>\"dagi izohingiz uchun {{GENDER:$2|rahmat aytdi}}.",
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$3|sizga}} {{GENDER:$2|rahmat aytdi}}.",
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Bir kishi|$1 kishilar|100=99+ kishi}} {{GENDER:$3|sizga}} \"<strong>$2</strong>\"dagi izohingiz uchun rahmat aytdi."
}
diff --git a/Thanks/i18n/vi.json b/Thanks/i18n/vi.json
index f184818c..427b95a2 100644
--- a/Thanks/i18n/vi.json
+++ b/Thanks/i18n/vi.json
@@ -7,9 +7,11 @@
"Macofe",
"Max20091",
"Minh Nguyen",
+ "NguoiDungKhongDinhDanh",
"Nguyên Lê",
"Prenn",
- "Trần Nguyễn Minh Huy"
+ "Trần Nguyễn Minh Huy",
+ "Vinhtantran"
]
},
"thanks-desc": "Thêm các liên kết để cảm ơn người dùng vì sửa đổi, bình luận, v.v.",
@@ -17,9 +19,12 @@
"thanks-thanked": "{{GENDER:$1}}{{GENDER:$2}}đã cảm ơn",
"thanks-button-thank": "{{GENDER:$1}}{{GENDER:$2}}Cảm ơn",
"thanks-button-thanked": "{{GENDER:$1}}{{GENDER:$2}}Đã cảm ơn",
+ "thanks-button-action-queued": "{{GENDER:$1|{{GENDER:$2|Đang cảm ơn}}}} $1…",
+ "thanks-button-action-cancel": "Hủy",
+ "thanks-button-action-completed": "Bạn {{GENDER:$1|{{GENDER:$2|đã cảm ơn}}}} $1",
"thanks-error-undefined": "Tác vụ cảm ơn bị thất bại (mã lỗi: $1). Xin vui lòng thử lại.",
"thanks-error-invalid-log-id": "Không tìm thấy mục nhật trình",
- "thanks-error-invalid-log-type": "Không có kiểu nhật trình “$1” trong danh sách trắng các kiểu nhật trình được cho phép.",
+ "thanks-error-invalid-log-type": "Không có kiểu nhật trình “$1” trong danh sách các kiểu nhật trình được cho phép.",
"thanks-error-log-deleted": "Mục nhật trình được yêu cầu đã bị xóa, nên không thể gửi lời cảm ơn về nó.",
"thanks-error-invalidrevision": "Số phiên bản không hợp lệ.",
"thanks-error-revdeleted": "Không thể gửi lời cảm ơn vì phiên bản đã bị xóa.",
@@ -38,10 +43,11 @@
"thanks": "Gửi lời cảm ơn",
"thanks-submit": "Gửi lời cảm ơn",
"echo-pref-subscription-edit-thank": "Cảm ơn tôi vì một sửa đổi của tôi",
- "echo-pref-tooltip-edit-thank": "Báo cho tôi biết khi nào người ta cảm ơn tôi vì một sửa đổi của tôi.",
+ "echo-pref-tooltip-edit-thank": "Báo cho tôi khi có người cảm ơn một sửa đổi của tôi.",
"echo-category-title-edit-thank": "Cảm ơn",
"notification-thanks-diff-link": "sửa đổi của bạn",
"notification-header-rev-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$4}}bạn vì sửa đổi tại <strong>$3</strong>.",
+ "notification-header-creation-thank": "$1 {{GENDER:$2|đã cảm ơn}} vì {{GENDER:$4|bạn}} đã tạo <strong>$3</strong>.",
"notification-header-log-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$4}}bạn vì tác vụ có liên quan đến <strong>$3</strong>.",
"notification-compact-header-edit-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$3}}bạn.",
"notification-bundle-header-rev-thank": "{{PLURAL:$1|Một người|$1 người|100=99+ người}} đã cảm ơn {{GENDER:$3}}bạn vì sửa đổi của bạn tại <strong>$2</strong>.",
@@ -51,8 +57,8 @@
"logentry-thanks-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$4}}$3",
"logeventslist-thanks-log": "Nhật trình cảm ơn",
"thanks-error-no-id-specified": "Bạn phải định rõ số phiên bản hoặc mục nhật trình để gửi cảm ơn.",
- "thanks-confirmation-special-log": "Bạn có muốn công khai cám ơn cho hành động này không?",
- "thanks-confirmation-special-rev": "Bạn có muốn cám ơn một cách công khai về sửa đổi này không?",
+ "thanks-confirmation-special-log": "Bạn có muốn công khai cảm ơn cho hành động này không?",
+ "thanks-confirmation-special-rev": "Bạn có muốn cảm ơn một cách công khai về sửa đổi này không?",
"notification-link-text-view-post": "Xem bình luận",
"notification-link-text-view-logentry": "Xem mục nhật trình",
"thanks-error-invalidpostid": "Số bài đăng không hợp lệ.",
@@ -61,5 +67,6 @@
"notification-flow-thanks-post-link": "đã bình luận",
"notification-header-flow-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$5}}bạn vì bình luận ở “<strong>$3</strong>”.",
"notification-compact-header-flow-thank": "$1 {{GENDER:$2}}đã cảm ơn {{GENDER:$3}}bạn.",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|Một người|$1 người|100=99+ người}} đã cảm ơn {{GENDER:$3}}bạn vì lời bình luận của bạn trong “<strong>$2</strong>”."
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|Một người|$1 người|100=99+ người}} đã cảm ơn {{GENDER:$3}}bạn vì lời bình luận của bạn trong “<strong>$2</strong>”.",
+ "ipb-action-thanks": "Gửi thông báo cảm ơn"
}
diff --git a/Thanks/i18n/vmw.json b/Thanks/i18n/vmw.json
new file mode 100644
index 00000000..8c0396ff
--- /dev/null
+++ b/Thanks/i18n/vmw.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|oxukhuru}}}}"
+}
diff --git a/Thanks/i18n/wls.json b/Thanks/i18n/wls.json
new file mode 100644
index 00000000..5493057a
--- /dev/null
+++ b/Thanks/i18n/wls.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lea.Fakauvea"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|fakamālo}}}}"
+}
diff --git a/Thanks/i18n/xh.json b/Thanks/i18n/xh.json
deleted file mode 100644
index 2ac40d61..00000000
--- a/Thanks/i18n/xh.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "@metadata": {
- "authors": [
- "Nomden"
- ]
- },
- "thanks-thank-tooltip": "Thumela amazwi ombulelelo kulo mntu"
-}
diff --git a/Thanks/i18n/yi.json b/Thanks/i18n/yi.json
index 4fe7bff6..420f348c 100644
--- a/Thanks/i18n/yi.json
+++ b/Thanks/i18n/yi.json
@@ -15,6 +15,7 @@
"thanks-button-action-completed": "איר האט {{GENDER:$1|{{GENDER:$2|געדאַנקט}}}}",
"thanks-error-undefined": "דאנק אקציע אדורכגעפאלן (פֿעלערקאד: $1). זייט אזוי גוט פרובירט נאכאמאל.",
"thanks-error-invalidrevision": "רעוויסיע אידענטיפיצורונג נישט גילטיק.",
+ "thanks-error-revdeleted": "נישט געקענט שיקן א דאַנק ווייַל די רעוויזיע איז געווארן אויסגעמעקט.",
"thanks-error-invalidrecipient-bot": "מען קען נישט דאנקען קיין באט",
"thanks-error-invalidrecipient-self": "מען קען נישט דאנקען זיך אליין",
"thanks-error-notloggedin": "אנאנימע באניצער קענען נישט שיקן דאנקען",
@@ -38,10 +39,14 @@
"log-name-thanks": "דאנק־לאגבוך",
"log-description-thanks": "אונטן איז רשימה פון באניצער געדאַנקט דורך אנדערע באניצער.",
"logentry-thanks-thank": "$1 {{GENDER:$2|האט געדאנקט}} {{GENDER:$4|$3}}",
+ "thanks-confirmation-special-log": "צי ווילט איר שיקן עפנטלעך א דאַנק פאר דער לאגירן־פעולה?",
+ "thanks-confirmation-special-rev": "צי ווילט איר שיקן עפֿנטלעך א דאַנק פאר דער רעדאקטירונג?",
"notification-link-text-view-post": "ווייזן הערה",
+ "notification-link-text-view-logentry": "באקוקן לאגבוך איינגאב",
"flow-thanks-confirmation-special": "צי ווילט איר שיקן עפנטלעך א דאַנק פאר דער הערה?",
"flow-thanks-thanked-notice": "{{GENDER:$3|איר}} האט געדאנקט $1 פאר {{GENDER:$2|זיין|איר|זייער}} הערה.",
"notification-flow-thanks-post-link": "אייער הערה",
"notification-header-flow-thank": "$1 {{GENDER:$2|האט}} {{GENDER:$5|אייך}} געדאַנקט פֿאר אייער הערה אין <strong>$3</strong>.",
- "notification-compact-header-flow-thank": "$1 {{GENDER:$2|האט געדאנקט}} {{GENDER:$3|אייך}}."
+ "notification-compact-header-flow-thank": "$1 {{GENDER:$2|האט געדאנקט}} {{GENDER:$3|אייך}}.",
+ "ipb-action-thanks": "שיקן א דאנק"
}
diff --git a/Thanks/i18n/yrl.json b/Thanks/i18n/yrl.json
new file mode 100644
index 00000000..22905595
--- /dev/null
+++ b/Thanks/i18n/yrl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Karapananguasú Kururú Teremembé",
+ "Maracajá Teremembé"
+ ]
+ },
+ "thanks-thank": "{{GENDER:$1|{{GENDER:$2|kuekatú}}}}"
+}
diff --git a/Thanks/i18n/zh-hans.json b/Thanks/i18n/zh-hans.json
index 55438cad..f002e819 100644
--- a/Thanks/i18n/zh-hans.json
+++ b/Thanks/i18n/zh-hans.json
@@ -9,12 +9,14 @@
"Fantasticfears",
"Hzy980512",
"Impersonator 1",
+ "Lakejason0",
"Liuxinyu970226",
"Macofe",
"Mywood",
"Northteam",
"Phenolla",
"Qiyue2001",
+ "Shizhao",
"WQL",
"Xiaomingyan",
"Xiplus",
@@ -37,7 +39,7 @@
"thanks-button-action-completed": "您已{{GENDER:$1|{{GENDER:$2|感谢}}}}$1",
"thanks-error-undefined": "感谢操作失败(错误代码:$1)。请重试。",
"thanks-error-invalid-log-id": "找不到日志记录",
- "thanks-error-invalid-log-type": "日志类型“$1”没有在允许的日志类型白名单中。",
+ "thanks-error-invalid-log-type": "日志类型“$1”没有在允许的日志类型名单中。",
"thanks-error-log-deleted": "请求的日志记录已删除,且不能给它提供感谢。",
"thanks-error-invalidrevision": "版本ID无效。",
"thanks-error-revdeleted": "无法发送感谢,因为修订版本已删除。",
@@ -51,7 +53,7 @@
"thanks-thank-tooltip": "{{GENDER:$1|发送}}感谢通知给该{{GENDER:$2|用户}}",
"thanks-thank-tooltip-no": "{{GENDER:$1|取消}}感谢您的通知",
"thanks-thank-tooltip-yes": "{{GENDER:$1|发送}}感谢您的通知",
- "thanks-confirmation2": "公开{{GENDER:$1|发送}}感谢么?",
+ "thanks-confirmation2": "{{GENDER:$1|发送}}公开感谢吗?",
"thanks-thanked-notice": "{{GENDER:$3|您}}感谢了{{GENDER:$2|$1}}。",
"thanks": "发送感谢",
"thanks-submit": "发送感谢",
@@ -70,15 +72,16 @@
"logentry-thanks-thank": "$1{{GENDER:$2|感谢了}}{{GENDER:$4|$3}}",
"logeventslist-thanks-log": "感谢日志",
"thanks-error-no-id-specified": "您必须指定发送感谢的版本或日志ID。",
- "thanks-confirmation-special-log": "您希望对此日志操作公开发送感谢么?",
- "thanks-confirmation-special-rev": "您希望对此编辑公开发送感谢么?",
+ "thanks-confirmation-special-log": "要公开感谢此日志操作吗?",
+ "thanks-confirmation-special-rev": "要公开感谢此次编辑吗?",
"notification-link-text-view-post": "查看评论",
"notification-link-text-view-logentry": "查看日志记录",
"thanks-error-invalidpostid": "帖子ID无效。",
- "flow-thanks-confirmation-special": "您希望对此评论公开发送感谢么?",
+ "flow-thanks-confirmation-special": "要公开感谢此评论吗?",
"flow-thanks-thanked-notice": "$1已收到{{GENDER:$3|您}}对{{GENDER:$2|其}}评论做出的感谢。",
"notification-flow-thanks-post-link": "您的评论",
"notification-header-flow-thank": "$1{{GENDER:$2|感谢了}}{{GENDER:$5|您}}在“<strong>$3</strong>”发表的评论。",
"notification-compact-header-flow-thank": "$1{{GENDER:$2|感谢了}}{{GENDER:$3|您}}。",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|$1个人|100=超过99个人}}感谢了{{GENDER:$3|您}}在“<strong>$2</strong>”发表的评论。"
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|$1个人|100=超过99个人}}感谢了{{GENDER:$3|您}}在“<strong>$2</strong>”发表的评论。",
+ "ipb-action-thanks": "发送感谢"
}
diff --git a/Thanks/i18n/zh-hant.json b/Thanks/i18n/zh-hant.json
index a504b342..1aeeeae7 100644
--- a/Thanks/i18n/zh-hant.json
+++ b/Thanks/i18n/zh-hant.json
@@ -29,7 +29,7 @@
"thanks-button-action-completed": "您{{GENDER:$1|{{GENDER:$2|已感謝}}}}$1",
"thanks-error-undefined": "感謝操作失敗 (錯誤代碼:$1),請再試一次。",
"thanks-error-invalid-log-id": "找不到日誌項目",
- "thanks-error-invalid-log-type": "日誌類型「$1」未在允許的日誌類型白名單裡。",
+ "thanks-error-invalid-log-type": "日誌類型「$1」未在允許日誌類型的清單裡。",
"thanks-error-log-deleted": "請求的日誌項目已被刪除,因此不能對此表達感謝。",
"thanks-error-invalidrevision": "修訂 ID 無效。",
"thanks-error-revdeleted": "因修訂內容已被刪除,因此無法發送感謝。",
@@ -72,5 +72,6 @@
"notification-flow-thanks-post-link": "您的評論",
"notification-header-flow-thank": "$1 {{GENDER:$2|已感謝}}{{GENDER:$5|您}}於「<strong>$3</strong>」中的評論。",
"notification-compact-header-flow-thank": "$1{{GENDER:$2|已感謝}}{{GENDER:$3|您}}。",
- "notification-bundle-header-flow-thank": "{{PLURAL:$1|有$1位|100=有超過99位}}對於{{GENDER:$3|您}}在「<strong>$2</strong>」所作出的評論表示感謝。"
+ "notification-bundle-header-flow-thank": "{{PLURAL:$1|有$1位|100=有超過99位}}對於{{GENDER:$3|您}}在「<strong>$2</strong>」所作出的評論表示感謝。",
+ "ipb-action-thanks": "正在傳送感謝"
}
diff --git a/Thanks/includes/ApiCoreThank.php b/Thanks/includes/ApiCoreThank.php
index b9a2828c..3727475d 100644
--- a/Thanks/includes/ApiCoreThank.php
+++ b/Thanks/includes/ApiCoreThank.php
@@ -1,7 +1,19 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use ApiBase;
+use DatabaseLogEntry;
+use EchoDiscussionParser;
+use EchoEvent;
+use LogEntry;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
+use MediaWiki\User\UserIdentity;
+use Title;
+use User;
+use Wikimedia\ParamValidator\ParamValidator;
+use Wikimedia\ParamValidator\TypeDef\IntegerDef;
/**
* API module to send thanks notifications for revisions and log entries.
@@ -20,6 +32,7 @@ class ApiCoreThank extends ApiThank {
// Initial setup.
$user = $this->getUser();
$this->dieOnBadUser( $user );
+ $this->dieOnUserBlockedFromThanks( $user );
$params = $this->extractRequestParams();
$revcreation = false;
@@ -34,7 +47,6 @@ class ApiCoreThank extends ApiThank {
$id = $params['log'];
} else {
$this->dieWithError( 'thanks-error-api-params', 'thanks-error-api-params' );
- throw new LogicException();
}
$recipientUsername = null;
@@ -47,7 +59,6 @@ class ApiCoreThank extends ApiThank {
$id = $logEntry->getAssociatedRevId();
} else {
// If there's no associated revision, die if the user is sitewide blocked
- $this->dieOnSitewideBlockedUser( $user );
$excerpt = '';
$title = $logEntry->getTarget();
$recipient = $this->getUserFromLog( $logEntry );
@@ -58,7 +69,7 @@ class ApiCoreThank extends ApiThank {
$revision = $this->getRevisionFromId( $id );
$excerpt = EchoDiscussionParser::getEditExcerpt( $revision, $this->getLanguage() );
$title = $this->getTitleFromRevision( $revision );
- $this->dieOnBlockedUser( $user, $title );
+ $this->dieOnUserBlockedFromTitle( $user, $title );
$recipient = $this->getUserFromRevision( $revision );
$recipientUsername = $revision->getUser()->getName();
@@ -127,9 +138,10 @@ class ApiCoreThank extends ApiThank {
$this->dieWithError( 'thanks-error-invalid-log-id', 'thanks-error-invalid-log-id' );
}
- // Make sure this log type is whitelisted.
- $logTypeWhitelist = $this->getConfig()->get( 'ThanksLogTypeWhitelist' );
- if ( !in_array( $logEntry->getType(), $logTypeWhitelist ) ) {
+ // Make sure this log type is allowed.
+ $allowedLogTypes = $this->getConfig()->get( 'ThanksAllowedLogTypes' );
+ if ( !in_array( $logEntry->getType(), $allowedLogTypes )
+ && !in_array( $logEntry->getType() . '/' . $logEntry->getSubtype(), $allowedLogTypes ) ) {
$err = $this->msg( 'thanks-error-invalid-log-type', $logEntry->getType() );
$this->dieWithError( $err, 'thanks-error-invalid-log-type' );
}
@@ -178,15 +190,11 @@ class ApiCoreThank extends ApiThank {
/**
* @param LogEntry $logEntry
- * @return User
+ * @return UserIdentity
*/
private function getUserFromLog( LogEntry $logEntry ) {
- $recipient = $logEntry->getPerformer();
- if ( !$recipient ) {
- $this->dieWithError( 'thanks-error-invalidrecipient', 'invalidrecipient' );
- }
- // @phan-suppress-next-line PhanTypeMismatchReturnNullable T240141
- return $recipient;
+ $recipient = $logEntry->getPerformerIdentity();
+ return MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $recipient );
}
/**
@@ -237,22 +245,22 @@ class ApiCoreThank extends ApiThank {
public function getAllowedParams() {
return [
'rev' => [
- ApiBase::PARAM_TYPE => 'integer',
- ApiBase::PARAM_MIN => 1,
- ApiBase::PARAM_REQUIRED => false,
+ ParamValidator::PARAM_TYPE => 'integer',
+ IntegerDef::PARAM_MIN => 1,
+ ParamValidator::PARAM_REQUIRED => false,
],
'log' => [
- ApiBase::PARAM_TYPE => 'integer',
- ApiBase::PARAM_MIN => 1,
- ApiBase::PARAM_REQUIRED => false,
+ ParamValidator::PARAM_TYPE => 'integer',
+ IntegerDef::PARAM_MIN => 1,
+ ParamValidator::PARAM_REQUIRED => false,
],
'token' => [
- ApiBase::PARAM_TYPE => 'string',
- ApiBase::PARAM_REQUIRED => true,
+ ParamValidator::PARAM_TYPE => 'string',
+ ParamValidator::PARAM_REQUIRED => true,
],
'source' => [
- ApiBase::PARAM_TYPE => 'string',
- ApiBase::PARAM_REQUIRED => false,
+ ParamValidator::PARAM_TYPE => 'string',
+ ParamValidator::PARAM_REQUIRED => false,
]
];
}
diff --git a/Thanks/includes/ApiFlowThank.php b/Thanks/includes/ApiFlowThank.php
index 49fdf056..65ce54f5 100644
--- a/Thanks/includes/ApiFlowThank.php
+++ b/Thanks/includes/ApiFlowThank.php
@@ -1,10 +1,18 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use ApiBase;
+use EchoEvent;
use Flow\Container;
use Flow\Conversion\Utils;
use Flow\Exception\FlowException;
use Flow\Model\PostRevision;
use Flow\Model\UUID;
+use MWException;
+use Title;
+use User;
+use Wikimedia\ParamValidator\ParamValidator;
/**
* API module to send Flow thanks notifications
@@ -20,6 +28,7 @@ class ApiFlowThank extends ApiThank {
public function execute() {
$user = $this->getUser();
$this->dieOnBadUser( $user );
+ $this->dieOnUserBlockedFromThanks( $user );
$params = $this->extractRequestParams();
@@ -47,7 +56,7 @@ class ApiFlowThank extends ApiThank {
// Truncate the title text to prevent issues with database storage.
$topicTitleText = $this->getLanguage()->truncateForDatabase( $rawTopicTitleText, 200 );
$pageTitle = $this->getPageTitleFromRootPost( $rootPost );
- $this->dieOnBlockedUser( $user, $pageTitle );
+ $this->dieOnUserBlockedFromTitle( $user, $pageTitle );
/** @var PostRevision $post */
$post = $data['post'];
@@ -168,7 +177,7 @@ class ApiFlowThank extends ApiThank {
'agent' => $user,
] );
- // And mark the thank in session for a cheaper check to prevent duplicates (Bug 46690).
+ // And mark the thank in session for a cheaper check to prevent duplicates (T48690).
$user->getRequest()->setSessionData( "flow-thanked-{$postId->getAlphadecimal()}", true );
// Set success message.
$this->markResultSuccess( $recipient->getName() );
@@ -178,12 +187,12 @@ class ApiFlowThank extends ApiThank {
public function getAllowedParams() {
return [
'postid' => [
- ApiBase::PARAM_TYPE => 'string',
- ApiBase::PARAM_REQUIRED => true,
+ ParamValidator::PARAM_TYPE => 'string',
+ ParamValidator::PARAM_REQUIRED => true,
],
'token' => [
- ApiBase::PARAM_TYPE => 'string',
- ApiBase::PARAM_REQUIRED => true,
+ ParamValidator::PARAM_TYPE => 'string',
+ ParamValidator::PARAM_REQUIRED => true,
],
];
}
diff --git a/Thanks/includes/ApiThank.php b/Thanks/includes/ApiThank.php
index 9e99711f..ad7fc38c 100644
--- a/Thanks/includes/ApiThank.php
+++ b/Thanks/includes/ApiThank.php
@@ -1,6 +1,14 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use ApiBase;
+use ExtensionRegistry;
+use ManualLogEntry;
+use MediaWiki\CheckUser\Hooks;
use MediaWiki\MediaWikiServices;
+use Title;
+use User;
/**
* Base API module for Thanks
@@ -29,9 +37,11 @@ abstract class ApiThank extends ApiBase {
* @param User $user
* @param Title $title
*/
- protected function dieOnBlockedUser( User $user, Title $title ) {
+ protected function dieOnUserBlockedFromTitle( User $user, Title $title ) {
$permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
if ( $permissionManager->isBlockedFrom( $user, $title ) ) {
+ // Block should definitely exist
+ // @phan-suppress-next-line PhanTypeMismatchArgumentNullable
$this->dieBlocked( $user->getBlock() );
}
}
@@ -39,14 +49,17 @@ abstract class ApiThank extends ApiBase {
/**
* Check whether the user is sitewide blocked.
*
- * This is separate from dieOnBlockedUser because we need to know if the thank
- * is related to a revision. (If it is, then use dieOnBlockedUser instead.)
+ * This is separate from dieOnUserBlockedFromTitle because we need to know if the thank
+ * is related to a revision. (If it is, then use dieOnUserBlockedFromTitle instead.)
*
* @param User $user
*/
- protected function dieOnSitewideBlockedUser( User $user ) {
+ protected function dieOnUserBlockedFromThanks( User $user ) {
$block = $user->getBlock();
- if ( $block && $block->isSitewide() ) {
+ if (
+ $block &&
+ ( $block->isSitewide() || $block->appliesToRight( 'thanks' ) )
+ ) {
$this->dieBlocked( $block );
}
}
@@ -74,19 +87,20 @@ abstract class ApiThank extends ApiBase {
* @return bool Whether thanks has already been sent
*/
protected function haveAlreadyThanked( User $thanker, $uniqueId ) {
- $dbw = wfGetDB( DB_MASTER );
- $logWhere = ActorMigration::newMigration()->getWhere( $dbw, 'log_user', $thanker );
+ $dbw = wfGetDB( DB_PRIMARY );
+ $thankerActor = MediaWikiServices::getInstance()->getActorNormalization()
+ ->acquireActorId( $thanker, $dbw );
return (bool)$dbw->selectRow(
- [ 'log_search', 'logging' ] + $logWhere['tables'],
+ [ 'log_search', 'logging' ],
[ 'ls_value' ],
[
- $logWhere['conds'],
+ 'log_actor' => $thankerActor,
'ls_field' => 'thankid',
'ls_value' => $uniqueId,
],
__METHOD__,
[],
- [ 'logging' => [ 'INNER JOIN', 'ls_log_id=log_id' ] ] + $logWhere['joins']
+ [ 'logging' => [ 'INNER JOIN', 'ls_log_id=log_id' ] ]
);
}
@@ -110,7 +124,7 @@ abstract class ApiThank extends ApiBase {
if ( ExtensionRegistry::getInstance()->isLoaded( 'CheckUser' ) ) {
$recentChange = $logEntry->getRecentChange();
- CheckUserHooks::updateCheckUserData( $recentChange );
+ Hooks::updateCheckUserData( $recentChange );
}
}
diff --git a/Thanks/includes/EchoCoreThanksPresentationModel.php b/Thanks/includes/EchoCoreThanksPresentationModel.php
index 7360cf84..465d8868 100644
--- a/Thanks/includes/EchoCoreThanksPresentationModel.php
+++ b/Thanks/includes/EchoCoreThanksPresentationModel.php
@@ -1,6 +1,17 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use DatabaseLogEntry;
+use EchoEventPresentationModel;
+use Linker;
+use LogEntry;
+use LogFormatter;
+use LogPage;
use MediaWiki\Revision\RevisionRecord;
+use RawMessage;
+use Sanitizer;
+use SpecialPage;
class EchoCoreThanksPresentationModel extends EchoEventPresentationModel {
/** @var LogEntry|bool|null */
@@ -55,13 +66,17 @@ class EchoCoreThanksPresentationModel extends EchoEventPresentationModel {
public function getBodyMessage() {
$comment = $this->getRevOrLogComment();
- if ( $comment ) {
+ if ( $comment !== '' ) {
$msg = new RawMessage( '$1' );
$msg->plaintextParams( $comment );
return $msg;
}
+ return false;
}
+ /**
+ * @return string|bool The comment or false if it could not be retrieved.
+ */
private function getRevisionEditSummary() {
if ( !$this->userCan( RevisionRecord::DELETED_COMMENT ) ) {
return false;
@@ -79,9 +94,9 @@ class EchoCoreThanksPresentationModel extends EchoEventPresentationModel {
/**
* Get the comment/summary/excerpt of the log entry or revision,
* for use in the notification body.
- * @return string|bool The comment or false if it could not be retrieved.
+ * @return string
*/
- protected function getRevOrLogComment() {
+ protected function getRevOrLogComment(): string {
if ( $this->event->getExtraParam( 'logid' ) ) {
$logEntry = $this->getLogEntry();
if ( !$logEntry ) {
@@ -91,18 +106,18 @@ class EchoCoreThanksPresentationModel extends EchoEventPresentationModel {
$excerpt = $formatter->getPlainActionText();
// Turn wikitext into plaintext
$excerpt = Linker::formatComment( $excerpt );
- $excerpt = Sanitizer::stripAllTags( $excerpt );
- return $excerpt;
+ return Sanitizer::stripAllTags( $excerpt );
} else {
// Try to get edit summary.
$summary = $this->getRevisionEditSummary();
- if ( $summary ) {
+ if ( $summary !== false && $summary !== '' ) {
return $summary;
}
// Fallback on edit excerpt.
if ( $this->userCan( RevisionRecord::DELETED_TEXT ) ) {
- return $this->event->getExtraParam( 'excerpt', false );
+ return $this->event->getExtraParam( 'excerpt', '' );
}
+ return '';
}
}
diff --git a/Thanks/includes/EchoFlowThanksPresentationModel.php b/Thanks/includes/EchoFlowThanksPresentationModel.php
index eb5050b5..54195ae8 100644
--- a/Thanks/includes/EchoFlowThanksPresentationModel.php
+++ b/Thanks/includes/EchoFlowThanksPresentationModel.php
@@ -1,6 +1,12 @@
<?php
-class EchoFlowThanksPresentationModel extends Flow\Notifications\FlowPresentationModel {
+namespace MediaWiki\Extension\Thanks;
+
+use Flow\Notifications\FlowPresentationModel;
+use RawMessage;
+use Title;
+
+class EchoFlowThanksPresentationModel extends FlowPresentationModel {
public function canRender() {
return (bool)$this->event->getTitle();
}
diff --git a/Thanks/includes/ThanksHooks.php b/Thanks/includes/Hooks.php
index 34cadd69..784aa7f7 100644
--- a/Thanks/includes/ThanksHooks.php
+++ b/Thanks/includes/Hooks.php
@@ -1,9 +1,31 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use ApiModuleManager;
+use Article;
+use CategoryPage;
+use ConfigException;
+use DatabaseLogEntry;
+use DifferenceEngine;
+use EchoEvent;
+use ExtensionRegistry;
+use Html;
+use ImagePage;
+use LogEventsList;
+use LogPage;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\User\UserIdentity;
+use MobileContext;
+use OutputPage;
+use RequestContext;
+use Skin;
+use SpecialPage;
+use Title;
+use User;
+use WikiPage;
/**
* Hooks for Thanks extension
@@ -11,23 +33,65 @@ use MediaWiki\User\UserIdentity;
* @file
* @ingroup Extensions
*/
-class ThanksHooks {
+class Hooks {
/**
- * Handler for HistoryTools and DiffTools hooks.
+ * Handler for the HistoryTools hook
*
+ * @param RevisionRecord $revisionRecord
+ * @param array &$links
+ * @param RevisionRecord|null $oldRevisionRecord
+ * @param UserIdentity $userIdentity
+ */
+ public static function onHistoryTools(
+ RevisionRecord $revisionRecord,
+ array &$links,
+ ?RevisionRecord $oldRevisionRecord,
+ UserIdentity $userIdentity
+ ) {
+ self::insertThankLink( $revisionRecord,
+ $links, $userIdentity );
+ }
+
+ /**
+ * Handler for the DiffTools hook
+ *
+ * @param RevisionRecord $revisionRecord
+ * @param array &$links
+ * @param RevisionRecord|null $oldRevisionRecord
+ * @param UserIdentity $userIdentity
+ */
+ public static function onDiffTools(
+ RevisionRecord $revisionRecord,
+ array &$links,
+ ?RevisionRecord $oldRevisionRecord,
+ UserIdentity $userIdentity
+ ) {
+ // Don't allow thanking for a diff that includes multiple revisions
+ // This does a query that is too expensive for history rows (T284274)
+ $previous = MediaWikiServices::getInstance()
+ ->getRevisionLookup()
+ ->getPreviousRevision( $revisionRecord );
+ if ( $oldRevisionRecord && $previous &&
+ $previous->getId() !== $oldRevisionRecord->getId()
+ ) {
+ return;
+ }
+
+ self::insertThankLink( $revisionRecord,
+ $links, $userIdentity );
+ }
+
+ /**
* Insert a 'thank' link into revision interface, if the user is allowed to thank.
*
* @param RevisionRecord $revisionRecord RevisionRecord object to add the thank link for
* @param array &$links Links to add to the revision interface
- * @param ?RevisionRecord $oldRevisionRecord RevisionRecord object of the "old" revision
- * when viewing a diff
* @param UserIdentity $userIdentity The user performing the thanks.
*/
- public static function insertThankLink(
+ private static function insertThankLink(
RevisionRecord $revisionRecord,
array &$links,
- ?RevisionRecord $oldRevisionRecord,
UserIdentity $userIdentity
) {
$recipient = $revisionRecord->getUser();
@@ -36,28 +100,20 @@ class ThanksHooks {
return;
}
- $recipient = User::newFromIdentity( $recipient );
- $previous = MediaWikiServices::getInstance()
- ->getRevisionLookup()
- ->getPreviousRevision( $revisionRecord );
-
- $user = User::newFromIdentity( $userIdentity );
+ $user = MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $userIdentity );
// Don't let users thank themselves.
// Exclude anonymous users.
// Exclude users who are blocked.
// Check whether bots are allowed to receive thanks.
- // Check if there's other revisions between $prev and $oldRev
- // (It supports discontinuous history created by Import or CX but
- // prevents thanking diff across multiple revisions)
- if ( !$user->isAnon()
- && !$user->equals( $recipient )
+ // Don't allow thanking for a diff that includes multiple revisions
+ if ( $userIdentity->isRegistered()
+ && !$userIdentity->equals( $recipient )
&& !self::isUserBlockedFromTitle( $user, $revisionRecord->getPageAsLinkTarget() )
+ && !self::isUserBlockedFromThanks( $user )
&& !$user->isBlockedGlobally()
&& self::canReceiveThanks( $recipient )
&& !$revisionRecord->isDeleted( RevisionRecord::DELETED_TEXT )
- && ( !$oldRevisionRecord || !$previous ||
- $previous->getId() === $oldRevisionRecord->getId() )
) {
$links[] = self::generateThankElement(
$revisionRecord->getId(),
@@ -71,7 +127,7 @@ class ThanksHooks {
* Check whether the user is blocked from the title associated with the revision.
*
* This queries the replicas for a block; if 'no block' is incorrectly reported, it
- * will be caught by ApiThank::dieOnBlockedUser when the user attempts to thank.
+ * will be caught by ApiThank::dieOnUserBlockedFromTitle when the user attempts to thank.
*
* @param User $user
* @param LinkTarget $title
@@ -83,19 +139,31 @@ class ThanksHooks {
}
/**
+ * Check whether the user is blocked from giving thanks.
+ *
+ * @param User $user
+ * @return bool
+ */
+ private static function isUserBlockedFromThanks( User $user ) {
+ $block = $user->getBlock();
+ return $block && ( $block->isSitewide() || $block->appliesToRight( 'thanks' ) );
+ }
+
+ /**
* Check whether a user is allowed to receive thanks or not
*
- * @param User $user Recipient
+ * @param UserIdentity $user Recipient
* @return bool true if allowed, false if not
*/
- protected static function canReceiveThanks( User $user ) {
+ protected static function canReceiveThanks( UserIdentity $user ) {
global $wgThanksSendToBots;
- if ( $user->isAnon() || $user->isSystemUser() ) {
+ $legacyUser = MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $user );
+ if ( !$user->isRegistered() || $legacyUser->isSystemUser() ) {
return false;
}
- if ( !$wgThanksSendToBots && $user->isBot() ) {
+ if ( !$wgThanksSendToBots && $legacyUser->isBot() ) {
return false;
}
@@ -107,12 +175,12 @@ class ThanksHooks {
* Creates either a thank link or thanked span based on users session
* @param int $id Revision or log ID to generate the thank element for.
* @param User $sender User who sends thanks notification.
- * @param User $recipient User who receives thanks notification.
+ * @param UserIdentity $recipient User who receives thanks notification.
* @param string $type Either 'revision' or 'log'.
* @return string
*/
protected static function generateThankElement(
- $id, User $sender, User $recipient, $type = 'revision'
+ $id, User $sender, UserIdentity $recipient, $type = 'revision'
) {
// Check if the user has already thanked for this revision or log entry.
// Session keys are backwards-compatible, and are also used in the ApiCoreThank class.
@@ -164,7 +232,7 @@ class ThanksHooks {
* @param RequestContext $context RequestContext object
*/
public static function onPageHistoryBeforeList( $page, $context ) {
- if ( $context->getUser()->isLoggedIn() ) {
+ if ( $context->getUser()->isRegistered() ) {
static::addThanksModule( $context->getOutput() );
}
}
@@ -175,7 +243,7 @@ class ThanksHooks {
* @param DifferenceEngine $diff DifferenceEngine object that's calling.
*/
public static function onDifferenceEngineViewHeader( $diff ) {
- if ( $diff->getUser()->isLoggedIn() ) {
+ if ( $diff->getUser()->isRegistered() ) {
static::addThanksModule( $diff->getOutput() );
}
}
@@ -199,7 +267,7 @@ class ThanksHooks {
'category' => 'edit-thank',
'group' => 'positive',
'section' => 'message',
- 'presentation-model' => 'EchoCoreThanksPresentationModel',
+ 'presentation-model' => EchoCoreThanksPresentationModel::class,
'bundle' => [
'web' => true,
'expandable' => true,
@@ -211,7 +279,7 @@ class ThanksHooks {
'category' => 'edit-thank',
'group' => 'positive',
'section' => 'message',
- 'presentation-model' => 'EchoFlowThanksPresentationModel',
+ 'presentation-model' => EchoFlowThanksPresentationModel::class,
'bundle' => [
'web' => true,
'expandable' => true,
@@ -221,8 +289,8 @@ class ThanksHooks {
$icons['thanks'] = [
'path' => [
- 'ltr' => 'Thanks/userTalk-constructive-ltr.svg',
- 'rtl' => 'Thanks/userTalk-constructive-rtl.svg'
+ 'ltr' => 'Thanks/modules/userTalk-constructive-ltr.svg',
+ 'rtl' => 'Thanks/modules/userTalk-constructive-rtl.svg'
]
];
}
@@ -257,8 +325,8 @@ class ThanksHooks {
// New users get echo preferences set that are not the default settings for existing users.
// Specifically, new users are opted into email notifications for thanks.
if ( !$autocreated ) {
- $user->setOption( 'echo-subscriptions-email-edit-thank', true );
- $user->saveSettings();
+ $userOptionsManager = MediaWikiServices::getInstance()->getUserOptionsManager();
+ $userOptionsManager->setOption( $user, 'echo-subscriptions-email-edit-thank', true );
}
}
@@ -277,8 +345,8 @@ class ThanksHooks {
if ( $rev
&& ExtensionRegistry::getInstance()->isLoaded( 'MobileFrontend' )
&& $rev->getUser()
- && self::canReceiveThanks( User::newFromIdentity( $rev->getUser() ) )
- && $output->getUser()->isLoggedIn()
+ && self::canReceiveThanks( $rev->getUser() )
+ && $output->getUser()->isRegistered()
) {
$output->addModules( [ 'ext.thanks.mobilediff' ] );
@@ -300,6 +368,10 @@ class ThanksHooks {
$types[] = 'thanks';
}
+ public static function onGetAllBlockActions( array &$actions ) {
+ $actions[ 'thanks' ] = 100;
+ }
+
/**
* Handler for BeforePageDisplay. Inserts javascript to enhance thank
* links from static urls to in-page dialogs along with reloading
@@ -331,7 +403,7 @@ class ThanksHooks {
$moduleManager->addModule(
'flowthank',
'action',
- 'ApiFlowThank'
+ ApiFlowThank::class
);
}
}
@@ -373,7 +445,7 @@ class ThanksHooks {
*
* @link https://www.mediawiki.org/wiki/Manual:Hooks/LogEventsListLineEnding
* @param LogEventsList $page The log events list.
- * @param string &$ret The lineending HTML, to modify.
+ * @param string &$ret The line ending HTML, to modify.
* @param DatabaseLogEntry $entry The log entry.
* @param string[] &$classes CSS classes to add to the line.
* @param string[] &$attribs HTML attributes to add to the line.
@@ -389,27 +461,27 @@ class ThanksHooks {
$user->isAnon()
|| $entry->isDeleted( LogPage::DELETED_USER )
|| self::isUserBlockedFromTitle( $user, $entry->getTarget() )
+ || self::isUserBlockedFromThanks( $user )
|| $user->isBlockedGlobally()
) {
return;
}
- // Make sure this log type is whitelisted.
- $logTypeWhitelist = MediaWikiServices::getInstance()
+ // Make sure this log type is allowed.
+ $allowedLogTypes = MediaWikiServices::getInstance()
->getMainConfig()
- ->get( 'ThanksLogTypeWhitelist' );
- if ( !in_array( $entry->getType(), $logTypeWhitelist ) ) {
+ ->get( 'ThanksAllowedLogTypes' );
+ if ( !in_array( $entry->getType(), $allowedLogTypes )
+ && !in_array( $entry->getType() . '/' . $entry->getSubtype(), $allowedLogTypes ) ) {
return;
}
// Don't thank if no recipient,
// or if recipient is the current user or unable to receive thanks.
// Don't check for deleted revision (this avoids extraneous queries from Special:Log).
- $recipient = $entry->getPerformer();
- if ( !$recipient
- || $recipient->getId() === $user->getId()
- || !self::canReceiveThanks( $recipient )
- ) {
+
+ $recipient = $entry->getPerformerIdentity();
+ if ( $recipient->getId() === $user->getId() || !self::canReceiveThanks( $recipient ) ) {
return;
}
diff --git a/Thanks/includes/SpecialThanks.php b/Thanks/includes/SpecialThanks.php
index 4b8e9c3a..a38fb3af 100644
--- a/Thanks/includes/SpecialThanks.php
+++ b/Thanks/includes/SpecialThanks.php
@@ -1,23 +1,34 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use ApiMain;
+use ApiUsageException;
+use DerivativeRequest;
+use FormSpecialPage;
+use HTMLForm;
+use Linker;
+use Status;
+use User;
+
class SpecialThanks extends FormSpecialPage {
/**
* API result
- * @var array $result
+ * @var array
*/
protected $result;
/**
* 'rev' for revision, 'log' for log entry, or 'flow' for Flow comment,
* null if no ID is specified
- * @var string|null $type
+ * @var string|null
*/
protected $type;
/**
* Revision or Log ID ('0' = invalid) or Flow UUID
- * @var string $id
+ * @var string
*/
protected $id;
@@ -90,7 +101,7 @@ class SpecialThanks extends FormSpecialPage {
* Return the confirmation or error message.
* @return string
*/
- protected function preText() {
+ protected function preHtml() {
if ( $this->type === null ) {
$msgKey = 'thanks-error-no-id-specified';
} elseif ( $this->type === 'rev' && $this->id === '0' ) {
diff --git a/Thanks/includes/ThanksLogFormatter.php b/Thanks/includes/ThanksLogFormatter.php
index a67991c0..efd83b98 100644
--- a/Thanks/includes/ThanksLogFormatter.php
+++ b/Thanks/includes/ThanksLogFormatter.php
@@ -1,5 +1,12 @@
<?php
+namespace MediaWiki\Extension\Thanks;
+
+use LogFormatter;
+use Message;
+use Title;
+use User;
+
/**
* This class formats log entries for thanks
*/
diff --git a/Thanks/jsduck.json b/Thanks/jsduck.json
index e3919b44..ca0a547d 100644
--- a/Thanks/jsduck.json
+++ b/Thanks/jsduck.json
@@ -5,7 +5,7 @@
"--warnings-exit-nonzero": true,
"--builtin-classes": true,
"--external": "jQuery.Promise",
- "--warnings": ["-nodoc(class,public)", "-global"],
+ "--warnings": [ "-nodoc(class,public)", "-global" ],
"--": [
"modules"
]
diff --git a/Thanks/modules/.eslintrc.json b/Thanks/modules/.eslintrc.json
new file mode 100644
index 00000000..408d7aaa
--- /dev/null
+++ b/Thanks/modules/.eslintrc.json
@@ -0,0 +1,13 @@
+{
+ "root": true,
+ "extends": [
+ "wikimedia/client-es5",
+ "wikimedia/jquery",
+ "wikimedia/mediawiki",
+ "wikimedia/jsduck"
+ ],
+ "rules": {
+ "max-len": "off",
+ "no-jquery/no-global-selector": "off"
+ }
+}
diff --git a/Thanks/modules/ext.thanks.corethank.js b/Thanks/modules/ext.thanks.corethank.js
index 748d7a3c..671b94c5 100644
--- a/Thanks/modules/ext.thanks.corethank.js
+++ b/Thanks/modules/ext.thanks.corethank.js
@@ -1,10 +1,12 @@
( function () {
'use strict';
+ var attrName = 'data-revision-id';
+
function reloadThankedState() {
$( 'a.mw-thanks-thank-link' ).each( function ( idx, el ) {
var $thankLink = $( el );
- if ( mw.thanks.thanked.contains( $thankLink ) ) {
+ if ( mw.thanks.thanked.contains( $thankLink.attr( attrName ) ) ) {
$thankLink.before(
$( '<span>' ).addClass( 'mw-thanks-thank-confirmation' ).text(
mw.msg( 'thanks-thanked', mw.user, $thankLink.data( 'recipient-gender' ) ) )
@@ -52,7 +54,7 @@
function () {
$thankElement.before( mw.message( 'thanks-thanked', mw.user, $thankLink.data( 'recipient-gender' ) ).escaped() );
$thankElement.remove();
- mw.thanks.thanked.push( $thankLink );
+ mw.thanks.thanked.push( $thankLink.attr( attrName ) );
},
// Fail
function ( errorCode ) {
diff --git a/Thanks/modules/ext.thanks.flowthank.js b/Thanks/modules/ext.thanks.flowthank.js
index af4e1fb4..9af5d30c 100644
--- a/Thanks/modules/ext.thanks.flowthank.js
+++ b/Thanks/modules/ext.thanks.flowthank.js
@@ -1,11 +1,10 @@
( function () {
'use strict';
- var $thankedLabel = $( '<span>' )
- .addClass( 'mw-thanks-flow-thanked mw-ui-quiet' );
+ var $thankedLabel = $( '<span>' ).addClass( 'mw-thanks-flow-thanked mw-ui-quiet' );
- mw.thanks.thanked.cookieName = 'flow-thanked';
- mw.thanks.thanked.attrName = 'data-flow-id';
+ var attrName = 'data-flow-id';
+ var cookieName = 'flow-thanked';
function findPostAuthorFromThankLink( $thankLink ) {
// We can't use 'closest' directly because .flow-author is a cousin
@@ -17,7 +16,7 @@
$( 'a.mw-thanks-flow-thank-link' ).each( function ( idx, el ) {
var $thankLink = $( el ),
author = findPostAuthorFromThankLink( $thankLink );
- if ( mw.thanks.thanked.contains( $thankLink.closest( '.flow-post' ) ) ) {
+ if ( mw.thanks.thanked.contains( $thankLink.closest( '.flow-post' ).attr( attrName ), cookieName ) ) {
mw.thanks.getUserGender( author )
.done( function ( recipientGender ) {
$thankLink.before(
@@ -36,7 +35,7 @@
function sendFlowThanks( $thankLink ) {
( new mw.Api() ).postWithToken( 'csrf', {
action: 'flowthank',
- postid: $thankLink.closest( '.flow-post' ).attr( mw.thanks.thanked.attrName )
+ postid: $thankLink.closest( '.flow-post' ).attr( attrName )
} )
.then(
// Success
@@ -61,7 +60,7 @@
$thankUserLabel.append(
mw.msg( 'thanks-button-thanked', mw.user, recipientGender )
);
- mw.thanks.thanked.push( $thankLink.closest( '.flow-post' ) );
+ mw.thanks.thanked.push( $thankLink.closest( '.flow-post' ).attr( attrName ), cookieName );
$thankLink.before( $thankUserLabel );
$thankLink.remove();
} );
diff --git a/Thanks/modules/ext.thanks.mobilediff.js b/Thanks/modules/ext.thanks.mobilediff.js
index 56764ff7..9328fe0c 100644
--- a/Thanks/modules/ext.thanks.mobilediff.js
+++ b/Thanks/modules/ext.thanks.mobilediff.js
@@ -72,7 +72,7 @@
new Icon( {
name: 'userTalk',
glyphPrefix: 'thanks',
- hasText: true,
+ type: 'before',
label: mw.msg( 'thanks-button-thank', mw.user, gender )
} ).$el.appendTo( $button );
diff --git a/Thanks/modules/ext.thanks.thank.js b/Thanks/modules/ext.thanks.thank.js
index ca5c46dd..9e017d97 100644
--- a/Thanks/modules/ext.thanks.thank.js
+++ b/Thanks/modules/ext.thanks.thank.js
@@ -6,27 +6,45 @@
thanked: {
maxHistory: 100,
cookieName: 'thanks-thanked',
- attrName: 'data-revision-id',
- load: function () {
- var cookie = mw.cookie.get( this.cookieName );
+ /**
+ * Load thanked IDs from cookies
+ *
+ * @param {string} [cookieName] Cookie name to use, defaults to this.cookieName
+ * @return {string[]} Thanks IDs
+ */
+ load: function ( cookieName ) {
+ var cookie = mw.cookie.get( cookieName || this.cookieName );
if ( cookie === null ) {
return [];
}
return unescape( cookie ).split( ',' );
},
- push: function ( $thankLink ) {
+ /**
+ * Record as ID as having been thanked
+ *
+ * @param {string} id Thanked ID
+ * @param {string} [cookieName] Cookie name to use, defaults to this.cookieName
+ */
+ push: function ( id, cookieName ) {
var saved = this.load();
- saved.push( $thankLink.attr( this.attrName ) );
+ saved.push( id );
if ( saved.length > this.maxHistory ) { // prevent forever growing
saved = saved.slice( saved.length - this.maxHistory );
}
- mw.cookie.set( this.cookieName, escape( saved.join( ',' ) ) );
+ mw.cookie.set( cookieName || this.cookieName, escape( saved.join( ',' ) ) );
},
- contains: function ( $thankLink ) {
- return this.load().indexOf( $thankLink.attr( this.attrName ) ) !== -1;
+ /**
+ * Check if an ID has already been thanked, according to the cookie
+ *
+ * @param {string} id Thanks ID
+ * @param {string} [cookieName] Cookie name to use, defaults to this.cookieName
+ * @return {boolean} ID has been thanked
+ */
+ contains: function ( id, cookieName ) {
+ return this.load( cookieName ).indexOf( id ) !== -1;
}
},
diff --git a/Thanks/modules/jquery.findWithParent.js b/Thanks/modules/jquery.findWithParent.js
index c8ec6001..e66e99d6 100644
--- a/Thanks/modules/jquery.findWithParent.js
+++ b/Thanks/modules/jquery.findWithParent.js
@@ -23,7 +23,7 @@
$context = $context.find( matches[ 1 ] );
}
if ( matches[ 2 ].trim() ) {
- $context = $context.closest( matches[ 2 ].substr( 1 ) );
+ $context = $context.closest( matches[ 2 ].slice( 1 ) );
}
selector = matches[ 3 ].trim();
}
@@ -48,8 +48,8 @@
$elements = $(),
self = this;
- selectors.forEach( function ( selector ) {
- $elements = $elements.add( jQueryFindWithParent( self, selector ) );
+ selectors.forEach( function ( sel ) {
+ $elements = $elements.add( jQueryFindWithParent( self, sel ) );
} );
return $elements;
diff --git a/Thanks/userTalk-constructive-ltr.svg b/Thanks/modules/userTalk-constructive-ltr.svg
index 2717aa2e..2717aa2e 100644
--- a/Thanks/userTalk-constructive-ltr.svg
+++ b/Thanks/modules/userTalk-constructive-ltr.svg
diff --git a/Thanks/userTalk-constructive-rtl.svg b/Thanks/modules/userTalk-constructive-rtl.svg
index 93871d47..93871d47 100644
--- a/Thanks/userTalk-constructive-rtl.svg
+++ b/Thanks/modules/userTalk-constructive-rtl.svg
diff --git a/Thanks/modules/userTalk-ltr.svg b/Thanks/modules/userTalk-ltr.svg
index 53b80fdd..d41188cc 100644
--- a/Thanks/modules/userTalk-ltr.svg
+++ b/Thanks/modules/userTalk-ltr.svg
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
- <path d="M18 0H2a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-4 4a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 14 4zM6 4a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 6 4zm4 8c-2.61 0-4.83-.67-5.65-3h11.3c-.82 2.33-3.04 3-5.65 3z"/>
+ <path d="M18 0H2a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-4 4a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 14 4zM6 4a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 6 4zm4 8c-2.61 0-4.83-.67-5.65-3h11.3c-.82 2.33-3.04 3-5.65 3z"/>
</svg>
diff --git a/Thanks/modules/userTalk-rtl.svg b/Thanks/modules/userTalk-rtl.svg
index d50868bc..3e8aa3be 100644
--- a/Thanks/modules/userTalk-rtl.svg
+++ b/Thanks/modules/userTalk-rtl.svg
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
- <path d="M0 2v12c0 1.1.9 2 2 2h14l4 4V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2zm7.5 3.5C7.5 6.3 6.8 7 6 7s-1.5-.7-1.5-1.5S5.2 4 6 4s1.5.7 1.5 1.5zm8 0c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5S13.2 4 14 4s1.5.7 1.5 1.5zM4.4 9h11.3c-.8 2.3-3 3-5.6 3s-4.9-.7-5.7-3z"/>
-</svg> \ No newline at end of file
+ <path d="M0 2v12c0 1.1.9 2 2 2h14l4 4V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2zm7.5 3.5C7.5 6.3 6.8 7 6 7s-1.5-.7-1.5-1.5S5.2 4 6 4s1.5.7 1.5 1.5zm8 0c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5S13.2 4 14 4s1.5.7 1.5 1.5zM4.4 9h11.3c-.8 2.3-3 3-5.6 3s-4.9-.7-5.7-3z"/>
+</svg>
diff --git a/Thanks/package-lock.json b/Thanks/package-lock.json
index 6d04d111..9c894126 100644
--- a/Thanks/package-lock.json
+++ b/Thanks/package-lock.json
@@ -1,29 +1,3695 @@
{
+ "name": "Thanks",
+ "lockfileVersion": 2,
"requires": true,
- "lockfileVersion": 1,
+ "packages": {
+ "": {
+ "name": "Thanks",
+ "devDependencies": {
+ "eslint-config-wikimedia": "0.22.1",
+ "grunt": "1.5.3",
+ "grunt-banana-checker": "0.10.0",
+ "grunt-contrib-watch": "1.1.0",
+ "grunt-eslint": "24.0.0",
+ "svgo": "2.8.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.17.12",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz",
+ "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "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/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@es-joy/jsdoccomment": {
+ "version": "0.20.1",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz",
+ "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==",
+ "dev": true,
+ "dependencies": {
+ "comment-parser": "1.3.0",
+ "esquery": "^1.4.0",
+ "jsdoc-type-pratt-parser": "~2.2.3"
+ },
+ "engines": {
+ "node": "^12 || ^14 || ^16 || ^17"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
+ "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.3.2",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@mdn/browser-compat-data": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
+ "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==",
+ "dev": true
+ },
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
+ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+ "dev": true
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "node_modules/acorn": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "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/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-slice": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ast-metadata-inferer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz",
+ "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==",
+ "dev": true,
+ "dependencies": {
+ "@mdn/browser-compat-data": "^3.3.14"
+ }
+ },
+ "node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data": {
+ "version": "3.3.14",
+ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
+ "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==",
+ "dev": true
+ },
+ "node_modules/async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
+ "dev": true
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "node_modules/body": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
+ "dev": true,
+ "dependencies": {
+ "continuable-cache": "^0.3.1",
+ "error": "^7.0.0",
+ "raw-body": "~1.1.0",
+ "safe-json-parse": "~1.0.1"
+ }
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
+ "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "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.30001332",
+ "electron-to-chromium": "^1.4.118",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.3",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
+ "dev": true
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001341",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz",
+ "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "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/chalk/node_modules/ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "dependencies": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/chalk/node_modules/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==",
+ "dev": true
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz",
+ "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==",
+ "dev": true
+ },
+ "node_modules/clean-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
+ "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/clean-regexp/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "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/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "node_modules/colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/comment-parser": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
+ "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "node_modules/continuable-cache": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+ "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
+ "dev": true
+ },
+ "node_modules/core-js": {
+ "version": "3.22.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
+ "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "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/css-select": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz",
+ "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^5.1.0",
+ "domhandler": "^4.3.0",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
+ "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
+ "dev": true,
+ "dependencies": {
+ "css-tree": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "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/deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "node_modules/detect-file": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domhandler": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
+ "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.137",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz",
+ "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==",
+ "dev": true
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/error": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
+ "dev": true,
+ "dependencies": {
+ "string-template": "~0.2.1",
+ "xtend": "~4.0.0"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
+ "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/eslintrc": "^1.3.0",
+ "@humanwhocodes/config-array": "^0.9.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.2",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-wikimedia": {
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.22.1.tgz",
+ "integrity": "sha512-TtN+gWJrcW0i1sEu7vPE1tHpEilrMUuTxP6UK97Amvva/KDV9/tvRUifGhw0q5uBswp+HWgF12p8rq68hZqMbA==",
+ "dev": true,
+ "dependencies": {
+ "eslint": "^8.6.0",
+ "eslint-plugin-compat": "^4.0.2",
+ "eslint-plugin-es": "^4.1.0",
+ "eslint-plugin-jsdoc": "^37.7.1",
+ "eslint-plugin-json-es": "^1.5.4",
+ "eslint-plugin-mediawiki": "^0.3.0",
+ "eslint-plugin-mocha": "^9.0.0",
+ "eslint-plugin-no-jquery": "^2.7.0",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-qunit": "^7.2.0",
+ "eslint-plugin-unicorn": "^40.1.0",
+ "eslint-plugin-vue": "^8.4.1",
+ "eslint-plugin-wdio": "^7.4.2",
+ "eslint-plugin-yml": "^0.13.0"
+ }
+ },
+ "node_modules/eslint-plugin-compat": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz",
+ "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==",
+ "dev": true,
+ "dependencies": {
+ "@mdn/browser-compat-data": "^4.1.5",
+ "ast-metadata-inferer": "^0.7.0",
+ "browserslist": "^4.16.8",
+ "caniuse-lite": "^1.0.30001304",
+ "core-js": "^3.16.2",
+ "find-up": "^5.0.0",
+ "lodash.memoize": "4.1.2",
+ "semver": "7.3.5"
+ },
+ "engines": {
+ "node": ">=9.x"
+ },
+ "peerDependencies": {
+ "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-es": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
+ "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=4.19.1"
+ }
+ },
+ "node_modules/eslint-plugin-jsdoc": {
+ "version": "37.9.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz",
+ "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==",
+ "dev": true,
+ "dependencies": {
+ "@es-joy/jsdoccomment": "~0.20.1",
+ "comment-parser": "1.3.0",
+ "debug": "^4.3.3",
+ "escape-string-regexp": "^4.0.0",
+ "esquery": "^1.4.0",
+ "regextras": "^0.8.0",
+ "semver": "^7.3.5",
+ "spdx-expression-parse": "^3.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || ^16 || ^17"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-json-es": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
+ "integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1"
+ },
+ "peerDependencies": {
+ "eslint": ">= 7"
+ }
+ },
+ "node_modules/eslint-plugin-json-es/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.3.0.tgz",
+ "integrity": "sha512-Lhyj2PSkhDzYSc1PNbURysY/WoqvY0brw558ZInT3erzf5KUlro18MTKFdV+nlht475ZgnsfHsgfg6Ut2w1SVg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-plugin-vue": "^7.20.0",
+ "upath": "^2.0.1"
+ },
+ "peerDependencies": {
+ "eslint": ">=5.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/node_modules/eslint-plugin-vue": {
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
+ "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^2.1.0",
+ "natural-compare": "^1.4.0",
+ "semver": "^6.3.0",
+ "vue-eslint-parser": "^7.10.0"
+ },
+ "engines": {
+ "node": ">=8.10"
+ },
+ "peerDependencies": {
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/node_modules/espree": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint-plugin-mediawiki/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/eslint-plugin-mediawiki/node_modules/vue-eslint-parser": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz",
+ "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "eslint-scope": "^5.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.2.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mocha": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz",
+ "integrity": "sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^3.0.0",
+ "ramda": "^0.27.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-mocha/node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-plugin-mocha/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-no-jquery": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
+ "integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+ "dev": true,
+ "peerDependencies": {
+ "eslint": ">=2.3.0"
+ }
+ },
+ "node_modules/eslint-plugin-node": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
+ "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "dev": true,
+ "dependencies": {
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-utils": "^2.0.0",
+ "ignore": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.10.1",
+ "semver": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=5.16.0"
+ }
+ },
+ "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
+ "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=4.19.1"
+ }
+ },
+ "node_modules/eslint-plugin-node/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/eslint-plugin-qunit": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.2.0.tgz",
+ "integrity": "sha512-ebT6aOpmMj4vchG0hVw9Ukbutk/lgywrc8gc9w9hH2/4WjKqwMlyM7iVwqB7OAXv6gtQMJZuziT0wNjjymAuWA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^3.0.0",
+ "requireindex": "^1.2.0"
+ },
+ "engines": {
+ "node": "12.x || 14.x || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-qunit/node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-plugin-qunit/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-unicorn": {
+ "version": "40.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-40.1.0.tgz",
+ "integrity": "sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "ci-info": "^3.3.0",
+ "clean-regexp": "^1.0.0",
+ "eslint-utils": "^3.0.0",
+ "esquery": "^1.4.0",
+ "indent-string": "^4.0.0",
+ "is-builtin-module": "^3.1.0",
+ "lodash": "^4.17.21",
+ "pluralize": "^8.0.0",
+ "read-pkg-up": "^7.0.1",
+ "regexp-tree": "^0.1.24",
+ "safe-regex": "^2.1.1",
+ "semver": "^7.3.5",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.32.0"
+ }
+ },
+ "node_modules/eslint-plugin-unicorn/node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-vue": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz",
+ "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-utils": "^3.0.0",
+ "natural-compare": "^1.4.0",
+ "nth-check": "^2.0.1",
+ "postcss-selector-parser": "^6.0.9",
+ "semver": "^7.3.5",
+ "vue-eslint-parser": "^8.0.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-wdio": {
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.4.2.tgz",
+ "integrity": "sha512-tkISFycJmRFMKsEjetRcAmWSHKJKnw5rKHDxfE7Ob3tF5lbmYlCLfNKH0UwanOpSdulpe52s3K+CBHSd6qUUNQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-yml": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.13.0.tgz",
+ "integrity": "sha512-rZvdnhe28jIbgSIZo3qYqkl9hKslyTDfMwqIGDzz873gxghzBw0yeFG+P7sMfOkFfpqwJzZy3IKe2cIiCp4FrA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.2",
+ "lodash": "^4.17.21",
+ "natural-compare": "^1.4.0",
+ "yaml-eslint-parser": "^0.5.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ota-meshi"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
+ "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.7.1",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eventemitter2": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
+ "dev": true
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "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/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "node_modules/faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "dev": true,
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/findup-sync": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+ "dev": true,
+ "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": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "dependencies": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "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": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
+ "dev": true
+ },
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
+ "dependencies": {
+ "for-in": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "node_modules/gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "dependencies": {
+ "globule": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/getobject": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.1.tgz",
+ "integrity": "sha512-tj18lLe+917AACr6BdVoUuHnBPTVd9BEJp1vxnMZ58ztNvuxz9Ufa+wf3g37tlGITH35jggwZ2d9lcgHJJgXfQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "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": "*"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "dependencies": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "dependencies": {
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.15.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
+ "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globule": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+ "dev": true,
+ "dependencies": {
+ "glob": "~7.1.1",
+ "lodash": "~4.17.10",
+ "minimatch": "~3.0.2"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "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"
+ },
+ "bin": {
+ "grunt": "bin/grunt"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/grunt-banana-checker": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.10.0.tgz",
+ "integrity": "sha512-Sx+P3zWjn4YmBCqzidnCEkYrACe1SLTIT8kKC6C3f21Hu6sm17U/V+re343cuK3U+iGZv15ux6bY+69buIbYrA==",
+ "dev": true,
+ "bin": {
+ "banana-checker": "src/cli.js"
+ },
+ "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==",
+ "dev": true,
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/grunt-contrib-watch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
+ "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
+ "dev": true,
+ "dependencies": {
+ "async": "^2.6.0",
+ "gaze": "^1.1.0",
+ "lodash": "^4.17.10",
+ "tiny-lr": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/grunt-contrib-watch/node_modules/async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/grunt-eslint": {
+ "version": "24.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
+ "integrity": "sha512-WpTeBBFweyhMuPjGwRSQV9JFJ+EczIdlsc7Dd/1g78QVI1aZsk4g/H3e+3S5HEwsS1RKL2YZIrGj8hMLlBfN8w==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "eslint": "^8.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ },
+ "peerDependencies": {
+ "grunt": ">=1"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "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": {
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "~4.1.0",
+ "lodash": "~4.17.19"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/grunt/node_modules/glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
+ "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/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "dev": true,
+ "dependencies": {
+ "parse-passwd": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hooker": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "node_modules/http-parser-js": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+ "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "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": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "node_modules/interpret": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+ "dev": true
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "node_modules/is-builtin-module": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz",
+ "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==",
+ "dev": true,
+ "dependencies": {
+ "builtin-modules": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "is-unc-path": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "dependencies": {
+ "unc-path-regex": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+ "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdoc-type-pratt-parser": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
+ "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "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-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "node_modules/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/liftup": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
+ "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
+ "dev": true,
+ "dependencies": {
+ "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"
+ },
+ "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==",
+ "dev": true,
+ "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/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
+ "node_modules/livereload-js": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
+ "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
+ "dev": true
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-iterator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
+ "dev": true
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
+ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
+ "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
+ "dev": true
+ },
+ "node_modules/nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
+ "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.defaults": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+ "dev": true,
+ "dependencies": {
+ "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": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+ "dev": true,
+ "dependencies": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true,
+ "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": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true,
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-filepath": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+ "dev": true,
+ "dependencies": {
+ "is-absolute": "^1.0.0",
+ "map-cache": "^0.2.0",
+ "path-root": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true,
+ "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "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==",
+ "dev": true
+ },
+ "node_modules/path-root": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+ "dev": true,
+ "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": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "dev": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "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.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/ramda": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz",
+ "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==",
+ "dev": true
+ },
+ "node_modules/raw-body": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
+ "dev": true,
+ "dependencies": {
+ "bytes": "1",
+ "string_decoder": "0.10"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/read-pkg-up/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/read-pkg-up/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"
+ }
+ },
+ "node_modules/read-pkg-up/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/read-pkg-up/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/read-pkg-up/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/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+ "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.9.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/regexp-tree": {
+ "version": "0.1.24",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz",
+ "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==",
+ "dev": true,
+ "bin": {
+ "regexp-tree": "bin/regexp-tree"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/regextras": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+ "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.14"
+ }
+ },
+ "node_modules/requireindex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+ "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.5"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.8.1",
+ "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": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "dependencies": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-json-parse": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
+ "dev": true
+ },
+ "node_modules/safe-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
+ "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
+ "dev": true,
+ "dependencies": {
+ "regexp-tree": "~0.1.1"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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/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/spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
+ "dev": true
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "dev": true
+ },
+ "node_modules/string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "node_modules/string-template": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+ "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
+ "dev": true
+ },
+ "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-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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/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==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svgo": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
+ "dev": true,
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "node_modules/tiny-lr": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
+ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
+ "dev": true,
+ "dependencies": {
+ "body": "^5.1.0",
+ "debug": "^3.1.0",
+ "faye-websocket": "~0.10.0",
+ "livereload-js": "^2.3.0",
+ "object-assign": "^4.1.0",
+ "qs": "^6.4.0"
+ }
+ },
+ "node_modules/tiny-lr/node_modules/debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/underscore.string": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
+ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "^1.0.3",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/upath": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
+ "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "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": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "node_modules/v8flags": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+ "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
+ "dev": true,
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/vue-eslint-parser": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
+ "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.2",
+ "eslint-scope": "^7.0.0",
+ "eslint-visitor-keys": "^3.1.0",
+ "espree": "^9.0.0",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
+ "dependencies": {
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "node_modules/xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "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/yaml-eslint-parser": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz",
+ "integrity": "sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.0.0",
+ "lodash": "^4.17.21",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/yaml-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.10.4"
+ "@babel/highlight": "^7.16.7"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
"dev": true
},
"@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "version": "7.17.12",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz",
+ "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -38,15 +3704,110 @@
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ }
+ }
+ },
+ "@es-joy/jsdoccomment": {
+ "version": "0.20.1",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz",
+ "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==",
+ "dev": true,
+ "requires": {
+ "comment-parser": "1.3.0",
+ "esquery": "^1.4.0",
+ "jsdoc-type-pratt-parser": "~2.2.3"
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
+ "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.3.2",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
}
}
},
+ "@humanwhocodes/config-array": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "@mdn/browser-compat-data": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
+ "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==",
+ "dev": true
+ },
+ "@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "dev": true
+ },
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
+ "@types/normalize-package-data": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
+ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+ "dev": true
+ },
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -54,21 +3815,21 @@
"dev": true
},
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
"dev": true
},
"acorn-jsx": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
- "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true
},
"ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "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",
@@ -77,16 +3838,10 @@
"uri-js": "^4.2.2"
}
},
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true
- },
"ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "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": {
@@ -107,28 +3862,10 @@
"sprintf-js": "~1.0.2"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+ "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
"dev": true
},
"array-slice": {
@@ -137,34 +3874,27 @@
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
- "dev": true
+ "ast-metadata-inferer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz",
+ "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==",
+ "dev": true,
+ "requires": {
+ "@mdn/browser-compat-data": "^3.3.14"
+ },
+ "dependencies": {
+ "@mdn/browser-compat-data": {
+ "version": "3.3.14",
+ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
+ "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==",
+ "dev": true
+ }
+ }
},
"async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
"dev": true
},
"balanced-match": {
@@ -173,61 +3903,6 @@
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"body": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
@@ -240,6 +3915,12 @@
"safe-json-parse": "~1.0.1"
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -251,67 +3932,55 @@
}
},
"braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
+ "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001332",
+ "electron-to-chromium": "^1.4.118",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.3",
+ "picocolors": "^1.0.0"
}
},
+ "builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true
+ },
"bytes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
"dev": true
},
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true
},
+ "caniuse-lite": {
+ "version": "1.0.30001341",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz",
+ "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==",
+ "dev": true
+ },
"chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -360,39 +4029,29 @@
}
}
},
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "ci-info": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz",
+ "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==",
+ "dev": true
+ },
+ "clean-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
+ "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==",
"dev": true,
"requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
+ "escape-string-regexp": "^1.0.5"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
}
}
},
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -414,16 +4073,16 @@
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
"dev": true
},
- "comment-parser": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.5.tgz",
- "integrity": "sha512-iH9YA35ccw94nx5244GVkpyC9eVTsL71jZz6iz5w6RIf79JLF2AsXHXq9p6Oaohyl3sx5qSMnGsWUDFIAfWL4w==",
+ "commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
},
- "component-emitter": {
+ "comment-parser": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
+ "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
"dev": true
},
"concat-map": {
@@ -438,10 +4097,10 @@
"integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
"dev": true
},
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "core-js": {
+ "version": "3.22.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
+ "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
"dev": true
},
"cross-spawn": {
@@ -455,6 +4114,50 @@
"which": "^2.0.1"
}
},
+ "css-select": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz",
+ "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==",
+ "dev": true,
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^5.1.0",
+ "domhandler": "^4.3.0",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
+ }
+ },
+ "css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "dev": true,
+ "requires": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ }
+ },
+ "css-what": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
+ "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
+ "dev": true
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true
+ },
+ "csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
+ "dev": true,
+ "requires": {
+ "css-tree": "^1.1.2"
+ }
+ },
"dateformat": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
@@ -462,67 +4165,20 @@
"dev": true
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "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.1"
+ "ms": "2.1.2"
}
},
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
@@ -538,21 +4194,55 @@
"esutils": "^2.0.2"
}
},
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ }
+ },
+ "domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
"dev": true
},
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "domhandler": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
+ "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
"dev": true,
"requires": {
- "ansi-colors": "^4.1.1"
+ "domelementtype": "^2.2.0"
}
},
+ "domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.137",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz",
+ "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==",
+ "dev": true
+ },
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ },
"error": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
@@ -563,79 +4253,161 @@
"xtend": "~4.0.0"
}
},
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
"eslint": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.4.0.tgz",
- "integrity": "sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
+ "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
+ "@eslint/eslintrc": "^1.3.0",
+ "@humanwhocodes/config-array": "^0.9.2",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
- "eslint-scope": "^5.1.0",
- "eslint-utils": "^2.0.0",
- "eslint-visitor-keys": "^1.2.0",
- "espree": "^7.1.0",
- "esquery": "^1.2.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.2",
+ "esquery": "^1.4.0",
"esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
"functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
}
},
"eslint-config-wikimedia": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.16.2.tgz",
- "integrity": "sha512-tQikCZT2k3z9UzvRDFAUOpVSwE/MEmKIUQQraFh9tgyPOmRY6fVkMONcFqdEuz8eyg2syW9MNvT2d1SGSMLfBg==",
- "dev": true,
- "requires": {
- "eslint": "^7.2.0",
- "eslint-plugin-es": "^3.0.1",
- "eslint-plugin-jsdoc": "^27.1.2",
- "eslint-plugin-json": "^2.1.1",
- "eslint-plugin-mediawiki": "^0.2.5",
- "eslint-plugin-mocha": "^7.0.1",
- "eslint-plugin-no-jquery": "^2.4.1",
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.22.1.tgz",
+ "integrity": "sha512-TtN+gWJrcW0i1sEu7vPE1tHpEilrMUuTxP6UK97Amvva/KDV9/tvRUifGhw0q5uBswp+HWgF12p8rq68hZqMbA==",
+ "dev": true,
+ "requires": {
+ "eslint": "^8.6.0",
+ "eslint-plugin-compat": "^4.0.2",
+ "eslint-plugin-es": "^4.1.0",
+ "eslint-plugin-jsdoc": "^37.7.1",
+ "eslint-plugin-json-es": "^1.5.4",
+ "eslint-plugin-mediawiki": "^0.3.0",
+ "eslint-plugin-mocha": "^9.0.0",
+ "eslint-plugin-no-jquery": "^2.7.0",
"eslint-plugin-node": "^11.1.0",
- "eslint-plugin-qunit": "^4.2.0",
- "eslint-plugin-vue": "^6.2.2",
- "eslint-plugin-wdio": "^6.0.12"
+ "eslint-plugin-qunit": "^7.2.0",
+ "eslint-plugin-unicorn": "^40.1.0",
+ "eslint-plugin-vue": "^8.4.1",
+ "eslint-plugin-wdio": "^7.4.2",
+ "eslint-plugin-yml": "^0.13.0"
+ }
+ },
+ "eslint-plugin-compat": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz",
+ "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==",
+ "dev": true,
+ "requires": {
+ "@mdn/browser-compat-data": "^4.1.5",
+ "ast-metadata-inferer": "^0.7.0",
+ "browserslist": "^4.16.8",
+ "caniuse-lite": "^1.0.30001304",
+ "core-js": "^3.16.2",
+ "find-up": "^5.0.0",
+ "lodash.memoize": "4.1.2",
+ "semver": "7.3.5"
}
},
"eslint-plugin-es": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
- "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
+ "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
"dev": true,
"requires": {
"eslint-utils": "^2.0.0",
@@ -643,24 +4415,92 @@
}
},
"eslint-plugin-jsdoc": {
- "version": "27.1.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-27.1.2.tgz",
- "integrity": "sha512-iWrG2ZK4xrxamoMkoyzgkukdmfqWc5Ncd6K+CnwRgxrbwjQQpzmt5Kl8GB0l12R0oUK2AF+9tGFJKNGzuyz79Q==",
+ "version": "37.9.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz",
+ "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==",
+ "dev": true,
+ "requires": {
+ "@es-joy/jsdoccomment": "~0.20.1",
+ "comment-parser": "1.3.0",
+ "debug": "^4.3.3",
+ "escape-string-regexp": "^4.0.0",
+ "esquery": "^1.4.0",
+ "regextras": "^0.8.0",
+ "semver": "^7.3.5",
+ "spdx-expression-parse": "^3.0.1"
+ }
+ },
+ "eslint-plugin-json-es": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
+ "integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
"dev": true,
"requires": {
- "comment-parser": "^0.7.5",
- "debug": "^4.1.1",
- "jsdoctypeparser": "^6.1.0",
- "lodash": "^4.17.15",
- "regextras": "^0.7.1",
- "semver": "^6.3.0",
- "spdx-expression-parse": "^3.0.1"
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1"
},
"dependencies": {
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-mediawiki": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.3.0.tgz",
+ "integrity": "sha512-Lhyj2PSkhDzYSc1PNbURysY/WoqvY0brw558ZInT3erzf5KUlro18MTKFdV+nlht475ZgnsfHsgfg6Ut2w1SVg==",
+ "dev": true,
+ "requires": {
+ "eslint-plugin-vue": "^7.20.0",
+ "upath": "^2.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ },
+ "eslint-plugin-vue": {
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
+ "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^2.1.0",
+ "natural-compare": "^1.4.0",
+ "semver": "^6.3.0",
+ "vue-eslint-parser": "^7.10.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "espree": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
"semver": {
@@ -668,51 +4508,55 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
+ },
+ "vue-eslint-parser": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz",
+ "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-scope": "^5.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.2.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^6.3.0"
+ }
}
}
},
- "eslint-plugin-json": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.1.tgz",
- "integrity": "sha512-Ktsab8ij33V2KFLhh4alC1FYztdmbV32DeMZYYUCZm4kKLW1s4DrleKKgtbAHSJsmshCK5QGOZtfyc2r3jCRsg==",
+ "eslint-plugin-mocha": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz",
+ "integrity": "sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==",
"dev": true,
"requires": {
- "lodash": "^4.17.15",
- "vscode-json-languageservice": "^3.5.1"
+ "eslint-utils": "^3.0.0",
+ "ramda": "^0.27.1"
},
"dependencies": {
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true
}
}
},
- "eslint-plugin-mediawiki": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.2.5.tgz",
- "integrity": "sha512-Xs5G4f1EnS6+9gFWkk28nWA9xcOEPx7YZEGsMYGLelZRAF+2DmV/PigF5N5VqoOkNBpwcbXqLD8wLfkg29aF8w==",
- "dev": true,
- "requires": {
- "eslint-plugin-vue": "^6.2.2",
- "upath": "^1.2.0"
- }
- },
- "eslint-plugin-mocha": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-7.0.1.tgz",
- "integrity": "sha512-zkQRW9UigRaayGm/pK9TD5RjccKXSgQksNtpsXbG9b6L5I+jNx7m98VUbZ4w1H1ArlNA+K7IOH+z8TscN6sOYg==",
- "dev": true,
- "requires": {
- "eslint-utils": "^2.0.0",
- "ramda": "^0.27.0"
- }
- },
"eslint-plugin-no-jquery": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.5.0.tgz",
- "integrity": "sha512-RrQ380mUJJKdjgpQ/tZAJ3B3W1n3LbVmULooS2Pv5pUDcc5uVHVSJMTdUlsbvQyfo6hWP2LJ4FbOoDzENWcF7A==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
+ "integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
"dev": true
},
"eslint-plugin-node": {
@@ -729,11 +4573,15 @@
"semver": "^6.1.0"
},
"dependencies": {
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "dev": true
+ "eslint-plugin-es": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
+ "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ }
},
"semver": {
"version": "6.3.0",
@@ -744,44 +4592,128 @@
}
},
"eslint-plugin-qunit": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-4.2.0.tgz",
- "integrity": "sha512-UibPK0fSshPTJauyitsHjACixpf+I5BEKqXi6WJ/WGhW31WwP7flSdBW8+Y9B46v05KYH6MJg/uZVIaiaHO5Cg==",
- "dev": true
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.2.0.tgz",
+ "integrity": "sha512-ebT6aOpmMj4vchG0hVw9Ukbutk/lgywrc8gc9w9hH2/4WjKqwMlyM7iVwqB7OAXv6gtQMJZuziT0wNjjymAuWA==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^3.0.0",
+ "requireindex": "^1.2.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-unicorn": {
+ "version": "40.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-40.1.0.tgz",
+ "integrity": "sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "ci-info": "^3.3.0",
+ "clean-regexp": "^1.0.0",
+ "eslint-utils": "^3.0.0",
+ "esquery": "^1.4.0",
+ "indent-string": "^4.0.0",
+ "is-builtin-module": "^3.1.0",
+ "lodash": "^4.17.21",
+ "pluralize": "^8.0.0",
+ "read-pkg-up": "^7.0.1",
+ "regexp-tree": "^0.1.24",
+ "safe-regex": "^2.1.1",
+ "semver": "^7.3.5",
+ "strip-indent": "^3.0.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ }
+ }
},
"eslint-plugin-vue": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz",
- "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==",
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz",
+ "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==",
"dev": true,
"requires": {
+ "eslint-utils": "^3.0.0",
"natural-compare": "^1.4.0",
- "semver": "^5.6.0",
- "vue-eslint-parser": "^7.0.0"
+ "nth-check": "^2.0.1",
+ "postcss-selector-parser": "^6.0.9",
+ "semver": "^7.3.5",
+ "vue-eslint-parser": "^8.0.1"
},
"dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true
}
}
},
"eslint-plugin-wdio": {
- "version": "6.0.12",
- "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-6.0.12.tgz",
- "integrity": "sha512-qZqcU1Z0bqrqhYM1MbwIvKQxcQEGIOEclOjcveavvLZAN4ezpXb1Ogw3xu+UK13iArregJOMI6uUt+JkFmER1A==",
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.4.2.tgz",
+ "integrity": "sha512-tkISFycJmRFMKsEjetRcAmWSHKJKnw5rKHDxfE7Ob3tF5lbmYlCLfNKH0UwanOpSdulpe52s3K+CBHSd6qUUNQ==",
"dev": true
},
+ "eslint-plugin-yml": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.13.0.tgz",
+ "integrity": "sha512-rZvdnhe28jIbgSIZo3qYqkl9hKslyTDfMwqIGDzz873gxghzBw0yeFG+P7sMfOkFfpqwJzZy3IKe2cIiCp4FrA==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.3.2",
+ "lodash": "^4.17.21",
+ "natural-compare": "^1.4.0",
+ "yaml-eslint-parser": "^0.5.0"
+ }
+ },
"eslint-scope": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
- "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dev": true,
"requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
}
},
"eslint-utils": {
@@ -800,14 +4732,22 @@
"dev": true
},
"espree": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz",
- "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==",
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
+ "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
"dev": true,
"requires": {
- "acorn": "^7.2.0",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.2.0"
+ "acorn": "^8.7.1",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true
+ }
}
},
"esprima": {
@@ -817,35 +4757,27 @@
"dev": true
},
"esquery": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
"dev": true,
"requires": {
"estraverse": "^5.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
- "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
- "dev": true
- }
}
},
"esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"requires": {
- "estraverse": "^4.1.0"
+ "estraverse": "^5.2.0"
}
},
"estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
},
"esutils": {
@@ -866,56 +4798,6 @@
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
"dev": true
},
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
@@ -931,92 +4813,6 @@
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -1045,35 +4841,31 @@
}
},
"file-entry-cache": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
- "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
"requires": {
- "flat-cache": "^2.0.1"
+ "flat-cache": "^3.0.4"
}
},
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
}
},
"findup-sync": {
@@ -1120,20 +4912,19 @@
"dev": true
},
"flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
"dev": true,
"requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
}
},
"flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"for-in": {
@@ -1151,21 +4942,18 @@
"for-in": "^1.0.1"
}
},
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
"functional-red-black-tree": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
@@ -1181,16 +4969,10 @@
"globule": "^1.0.0"
}
},
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
"getobject": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
- "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.1.tgz",
+ "integrity": "sha512-tj18lLe+917AACr6BdVoUuHnBPTVd9BEJp1vxnMZ58ztNvuxz9Ufa+wf3g37tlGITH35jggwZ2d9lcgHJJgXfQ==",
"dev": true
},
"glob": {
@@ -1208,12 +4990,12 @@
}
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"requires": {
- "is-glob": "^4.0.1"
+ "is-glob": "^4.0.3"
}
},
"global-modules": {
@@ -1252,12 +5034,12 @@
}
},
"globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "version": "13.15.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
+ "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
"dev": true,
"requires": {
- "type-fest": "^0.8.1"
+ "type-fest": "^0.20.2"
}
},
"globule": {
@@ -1272,9 +5054,9 @@
}
},
"grunt": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.2.1.tgz",
- "integrity": "sha512-zgJjn9N56tScvRt/y0+1QA+zDBnKTrkpyeSBqQPLcZvbqTD/oyGMrdZQXmm6I3828s+FmPvxc3Xv+lgKFtudOw==",
+ "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==",
"dev": true,
"requires": {
"dateformat": "~3.0.3",
@@ -1282,10 +5064,10 @@
"exit": "~0.1.2",
"findup-sync": "~0.3.0",
"glob": "~7.1.6",
- "grunt-cli": "~1.3.2",
- "grunt-known-options": "~1.1.0",
- "grunt-legacy-log": "~2.0.0",
- "grunt-legacy-util": "~1.1.1",
+ "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",
@@ -1295,9 +5077,9 @@
},
"dependencies": {
"glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -1307,55 +5089,40 @@
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
- },
- "grunt-cli": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
- "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
- "dev": true,
- "requires": {
- "grunt-known-options": "~1.1.0",
- "interpret": "~1.1.0",
- "liftoff": "~2.5.0",
- "nopt": "~4.0.1",
- "v8flags": "~3.1.1"
- },
- "dependencies": {
- "nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
- "dev": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- }
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
}
}
},
"grunt-banana-checker": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.9.0.tgz",
- "integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.10.0.tgz",
+ "integrity": "sha512-Sx+P3zWjn4YmBCqzidnCEkYrACe1SLTIT8kKC6C3f21Hu6sm17U/V+re343cuK3U+iGZv15ux6bY+69buIbYrA==",
"dev": true
},
+ "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==",
+ "dev": true,
+ "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==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ }
+ }
+ },
"grunt-contrib-watch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
@@ -1369,97 +5136,76 @@
},
"dependencies": {
"async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"requires": {
- "lodash": "^4.17.11"
+ "lodash": "^4.17.14"
}
- },
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
- "dev": true
}
}
},
"grunt-eslint": {
- "version": "23.0.0",
- "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-23.0.0.tgz",
- "integrity": "sha512-QqHSAiGF08EVD7YlD4OSRWuLRaDvpsRdTptwy9WaxUXE+03mCLVA/lEaR6SHWehF7oUwIqCEjaNONeeeWlB4LQ==",
+ "version": "24.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
+ "integrity": "sha512-WpTeBBFweyhMuPjGwRSQV9JFJ+EczIdlsc7Dd/1g78QVI1aZsk4g/H3e+3S5HEwsS1RKL2YZIrGj8hMLlBfN8w==",
"dev": true,
"requires": {
- "chalk": "^4.0.0",
- "eslint": "^7.0.0"
+ "chalk": "^4.1.2",
+ "eslint": "^8.0.1"
}
},
"grunt-known-options": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
- "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+ "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==",
"dev": true
},
"grunt-legacy-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
- "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz",
+ "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==",
"dev": true,
"requires": {
"colors": "~1.1.2",
- "grunt-legacy-log-utils": "~2.0.0",
+ "grunt-legacy-log-utils": "~2.1.0",
"hooker": "~0.2.3",
- "lodash": "~4.17.5"
+ "lodash": "~4.17.19"
}
},
"grunt-legacy-log-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
- "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
+ "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==",
"dev": true,
"requires": {
- "chalk": "~2.4.1",
- "lodash": "~4.17.10"
- },
- "dependencies": {
- "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"
- }
- }
+ "chalk": "~4.1.0",
+ "lodash": "~4.17.19"
}
},
"grunt-legacy-util": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
- "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz",
+ "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==",
"dev": true,
"requires": {
- "async": "~1.5.2",
- "exit": "~0.1.1",
- "getobject": "~0.1.0",
+ "async": "~3.2.0",
+ "exit": "~0.1.2",
+ "getobject": "~1.0.0",
"hooker": "~0.2.3",
- "lodash": "~4.17.10",
- "underscore.string": "~3.3.4",
- "which": "~1.3.0"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
+ "lodash": "~4.17.21",
+ "underscore.string": "~3.3.5",
+ "which": "~2.0.2"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
}
},
"has-flag": {
@@ -1468,38 +5214,6 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"homedir-polyfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
@@ -1515,6 +5229,12 @@
"integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
"dev": true
},
+ "hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
"http-parser-js": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
@@ -1531,15 +5251,15 @@
}
},
"ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true
},
"import-fresh": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1552,6 +5272,12 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"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",
@@ -1569,9 +5295,9 @@
"dev": true
},
"ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
"interpret": {
@@ -1590,117 +5316,50 @@
"is-windows": "^1.0.1"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "is-builtin-module": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz",
+ "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==",
"dev": true,
"requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "builtin-modules": "^3.0.0"
}
},
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "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==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
+ "has": "^1.0.3"
}
},
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
- },
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
"is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
},
"is-plain-object": {
"version": "2.0.4",
@@ -1735,12 +5394,6 @@
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -1769,10 +5422,16 @@
"esprima": "^4.0.0"
}
},
- "jsdoctypeparser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-6.1.0.tgz",
- "integrity": "sha512-UCQBZ3xCUBv/PLfwKAJhp6jmGOSLFNKzrotXGNgbKhWvz27wPsCsVeP7gIcHPElQw2agBmynAitXqhxR58XAmA==",
+ "jsdoc-type-pratt-parser": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
+ "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
+ "dev": true
+ },
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-schema-traverse": {
@@ -1787,12 +5446,6 @@
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
- "jsonc-parser": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.0.tgz",
- "integrity": "sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==",
- "dev": true
- },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -1809,57 +5462,84 @@
"type-check": "~0.4.0"
}
},
- "liftoff": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
- "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+ "liftup": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
+ "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
"dev": true,
"requires": {
- "extend": "^3.0.0",
- "findup-sync": "^2.0.0",
- "fined": "^1.0.1",
- "flagged-respawn": "^1.0.0",
+ "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.0",
- "rechoir": "^0.6.2",
- "resolve": "^1.1.7"
+ "object.map": "^1.0.1",
+ "rechoir": "^0.7.0",
+ "resolve": "^1.19.0"
},
"dependencies": {
"findup-sync": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
- "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz",
+ "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==",
"dev": true,
"requires": {
"detect-file": "^1.0.0",
- "is-glob": "^3.1.0",
- "micromatch": "^3.0.4",
+ "is-glob": "^4.0.0",
+ "micromatch": "^4.0.2",
"resolve-dir": "^1.0.1"
}
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
}
}
},
+ "lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
"livereload-js": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
"integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
"dev": true
},
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
"lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -1875,80 +5555,42 @@
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "^1.0.0"
- }
+ "mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
+ "dev": true
},
"micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
},
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
"dev": true
},
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "minimatch": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
+ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
"dev": true,
"requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
+ "brace-expansion": "^1.1.7"
}
},
"mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
},
"ms": {
"version": "2.1.2",
@@ -1956,31 +5598,18 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- }
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
+ "node-releases": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
+ "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
+ "dev": true
+ },
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
@@ -1990,52 +5619,41 @@
"abbrev": "1"
}
},
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
}
}
},
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "nth-check": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
+ "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
"dev": true,
"requires": {
- "isobject": "^3.0.0"
+ "boolbase": "^1.0.0"
}
},
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -2112,6 +5730,30 @@
"os-tmpdir": "^1.0.0"
}
},
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "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
+ },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -2132,21 +5774,33 @@
"path-root": "^0.1.1"
}
},
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "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": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
@@ -2157,9 +5811,9 @@
"dev": true
},
"path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"path-root": {
@@ -2177,24 +5831,40 @@
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
"dev": true
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "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==",
+ "dev": true
+ },
+ "pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
"dev": true
},
+ "postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -2208,9 +5878,9 @@
"dev": true
},
"ramda": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.0.tgz",
- "integrity": "sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==",
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz",
+ "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==",
"dev": true
},
"raw-body": {
@@ -2223,56 +5893,124 @@
"string_decoder": "0.10"
}
},
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
- "resolve": "^1.1.6"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
}
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "rechoir": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+ "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
"dev": true,
"requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
+ "resolve": "^1.9.0"
}
},
- "regexpp": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
- "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "regexp-tree": {
+ "version": "0.1.24",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz",
+ "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==",
"dev": true
},
- "regextras": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
- "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
+ "regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
"dev": true
},
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "regextras": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+ "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
"dev": true
},
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "requireindex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+ "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
"dev": true
},
"resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"requires": {
- "path-parse": "^1.0.6"
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
"resolve-dir": {
@@ -2291,22 +6029,10 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
"rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
@@ -2319,12 +6045,12 @@
"dev": true
},
"safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
+ "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
"dev": true,
"requires": {
- "ret": "~0.1.10"
+ "regexp-tree": "~0.1.1"
}
},
"safer-buffer": {
@@ -2334,32 +6060,12 @@
"dev": true
},
"semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
- "dev": true
- },
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "lru-cache": "^6.0.0"
}
},
"shebang-command": {
@@ -2377,164 +6083,22 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- }
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
"dev": true,
"requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
"spdx-exceptions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
@@ -2552,46 +6116,28 @@
}
},
"spdx-license-ids": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
- "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
"dev": true
},
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
},
"string-template": {
"version": "0.2.1",
@@ -2599,53 +6145,28 @@
"integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
"dev": true
},
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "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": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "ansi-regex": "^5.0.1"
}
},
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
"requires": {
- "ansi-regex": "^5.0.0"
+ "min-indent": "^1.0.0"
}
},
"strip-json-comments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
- "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true
},
"supports-color": {
@@ -2657,16 +6178,25 @@
"has-flag": "^3.0.0"
}
},
- "table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "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==",
+ "dev": true
+ },
+ "svgo": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
}
},
"text-table": {
@@ -2700,46 +6230,13 @@
}
}
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- }
- },
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "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==",
"dev": true,
"requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "is-number": "^7.0.0"
}
},
"type-check": {
@@ -2752,9 +6249,9 @@
}
},
"type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true
},
"unc-path-regex": {
@@ -2773,85 +6270,21 @@
"util-deprecate": "^1.0.2"
}
},
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- }
- },
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
- }
- },
"upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
+ "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
"dev": true
},
"uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "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"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -2859,86 +6292,49 @@
"dev": true
},
"v8-compile-cache": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
"dev": true
},
"v8flags": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
- "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+ "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
"dev": true,
"requires": {
"homedir-polyfill": "^1.0.1"
}
},
- "vscode-json-languageservice": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.7.0.tgz",
- "integrity": "sha512-nGLqcBhTjdfkl8Dz9sYGK/ZCTjscYFoIjYw+qqkWB+vyNfM0k/AyIoT73DQvB/PArteCKjEVfQUF72GRZEDSbQ==",
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
"requires": {
- "jsonc-parser": "^2.2.1",
- "vscode-languageserver-textdocument": "^1.0.1",
- "vscode-languageserver-types": "^3.15.1",
- "vscode-nls": "^4.1.2",
- "vscode-uri": "^2.1.2"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
- "vscode-languageserver-textdocument": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz",
- "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==",
- "dev": true
- },
- "vscode-languageserver-types": {
- "version": "3.15.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz",
- "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==",
- "dev": true
- },
- "vscode-nls": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz",
- "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==",
- "dev": true
- },
- "vscode-uri": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz",
- "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==",
- "dev": true
- },
"vue-eslint-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz",
- "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "eslint-scope": "^5.0.0",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.2.1",
- "esquery": "^1.0.1",
- "lodash": "^4.17.15"
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
+ "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.3.2",
+ "eslint-scope": "^7.0.0",
+ "eslint-visitor-keys": "^3.1.0",
+ "espree": "^9.0.0",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.5"
},
"dependencies": {
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true
}
}
@@ -2954,9 +6350,9 @@
}
},
"websocket-extensions": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true
},
"which": {
@@ -2980,20 +6376,48 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"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
+ },
+ "yaml-eslint-parser": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz",
+ "integrity": "sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^3.0.0",
+ "lodash": "^4.17.21",
+ "yaml": "^1.10.2"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true
+ }
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true
}
}
}
diff --git a/Thanks/package.json b/Thanks/package.json
index 6d22960d..dc1752ef 100644
--- a/Thanks/package.json
+++ b/Thanks/package.json
@@ -1,13 +1,16 @@
{
+ "name": "Thanks",
"private": true,
"scripts": {
+ "minify:svg": "svgo --config=.svgo.config.js --quiet --folder modules/",
"test": "grunt test"
},
"devDependencies": {
- "eslint-config-wikimedia": "0.16.2",
- "grunt": "1.2.1",
- "grunt-banana-checker": "0.9.0",
+ "eslint-config-wikimedia": "0.22.1",
+ "grunt": "1.5.3",
+ "grunt-banana-checker": "0.10.0",
"grunt-contrib-watch": "1.1.0",
- "grunt-eslint": "23.0.0"
+ "grunt-eslint": "24.0.0",
+ "svgo": "2.8.0"
}
}
diff --git a/Thanks/scripts/pre-commit b/Thanks/scripts/pre-commit
index 7badd1fe..5cb9c36c 100755
--- a/Thanks/scripts/pre-commit
+++ b/Thanks/scripts/pre-commit
@@ -1,11 +1,8 @@
#!/bin/bash
-# Enable all the git hooks by executing the following from the project root directory
-# $ make installhooks
-#
# Code from https://gist.github.com/holysugar/1318698 , simpler than
# http://stackoverflow.com/a/6262715/451712
-# Work out location of Flow/scripts/ directory
+# Work out location of Thanks/scripts/ directory
dir=$(dirname $(php -r "echo realpath('$0'), \"\\n\";"))
# Move to the project root
cd $(dirname $dir)
diff --git a/Thanks/tests/phpunit/ApiCoreThankIntegrationTest.php b/Thanks/tests/phpunit/ApiCoreThankIntegrationTest.php
index de2eeb2c..7a317771 100644
--- a/Thanks/tests/phpunit/ApiCoreThankIntegrationTest.php
+++ b/Thanks/tests/phpunit/ApiCoreThankIntegrationTest.php
@@ -6,7 +6,7 @@ use MediaWiki\Revision\SlotRecord;
/**
* Integration tests for the Thanks API module
*
- * @covers ApiCoreThank
+ * @covers \MediaWiki\Extension\Thanks\ApiCoreThank
*
* @group Thanks
* @group Database
@@ -32,7 +32,7 @@ class ApiCoreThankIntegrationTest extends ApiTestCase {
*/
protected $logId;
- public function setUp() : void {
+ public function setUp(): void {
parent::setUp();
$this->uploader = $this->getTestUser( [ 'uploader' ] )->getUser();
@@ -41,9 +41,12 @@ class ApiCoreThankIntegrationTest extends ApiTestCase {
$pageName = __CLASS__;
$content = __CLASS__;
$pageTitle = Title::newFromText( $pageName );
+
+ $wikiPageFactory = $this->getServiceContainer()->getWikiPageFactory();
+
// If the page already exists, delete it, otherwise our edit will not result in a new revision
if ( $pageTitle->exists() ) {
- $wikiPage = WikiPage::factory( $pageTitle );
+ $wikiPage = $wikiPageFactory->newFromTitle( $pageTitle );
$wikiPage->doDeleteArticleReal( '', $user );
}
$result = $this->editPage( $pageName, $content, 'Summary', NS_MAIN, $user );
@@ -55,7 +58,7 @@ class ApiCoreThankIntegrationTest extends ApiTestCase {
// Create a 2nd page and delete it, so we can thank for the log entry.
$pageToDeleteTitle = Title::newFromText( 'Page to delete' );
- $pageToDelete = WikiPage::factory( $pageToDeleteTitle );
+ $pageToDelete = $wikiPageFactory->newFromTitle( $pageToDeleteTitle );
$updater = $pageToDelete->newPageUpdater( $user );
$updater->setcontent(
@@ -97,11 +100,10 @@ class ApiCoreThankIntegrationTest extends ApiTestCase {
}
public function testLogRequestWithDisallowedLogType() {
- // Empty the log-type whitelist.
- $this->setMwGlobals( [ 'wgThanksLogTypeWhitelist' => [] ] );
+ $this->setMwGlobals( [ 'wgThanksAllowedLogTypes' => [] ] );
$this->expectException( ApiUsageException::class );
$this->expectExceptionMessage(
- "Log type 'delete' is not in the whitelist of permitted log types." );
+ "Log type 'delete' is not in the list of permitted log types." );
$this->doApiRequestWithToken( [
'action' => 'thank',
'log' => $this->logId,
diff --git a/Thanks/tests/phpunit/ApiCoreThankUnitTest.php b/Thanks/tests/phpunit/ApiCoreThankUnitTest.php
index 00a2b411..16ad3bef 100644
--- a/Thanks/tests/phpunit/ApiCoreThankUnitTest.php
+++ b/Thanks/tests/phpunit/ApiCoreThankUnitTest.php
@@ -1,6 +1,8 @@
<?php
use MediaWiki\Block\DatabaseBlock;
+use MediaWiki\Extension\Thanks\ApiCoreThank;
+use MediaWiki\User\UserIdentityValue;
/**
* Unit tests for the Thanks API module
@@ -10,18 +12,16 @@ use MediaWiki\Block\DatabaseBlock;
*
* @author Addshore
*/
-class ApiCoreThankUnitTest extends MediaWikiTestCase {
-
- protected static $moduleName = 'thank';
+class ApiCoreThankUnitTest extends MediaWikiIntegrationTestCase {
protected function getModule() {
- return new ApiCoreThank( new ApiMain(), self::$moduleName );
+ return new ApiCoreThank( new ApiMain(), 'thank' );
}
private function createBlock( $options ) {
$options = array_merge( [
'address' => 'Test user',
- 'by' => 1,
+ 'by' => new UserIdentityValue( 1, 'TestUser' ),
'reason' => __METHOD__,
'timestamp' => wfTimestamp( TS_MW ),
'expiry' => 'infinity',
@@ -31,8 +31,8 @@ class ApiCoreThankUnitTest extends MediaWikiTestCase {
/**
* @dataProvider provideDieOnBadUser
- * @covers ApiThank::dieOnBadUser
- * @covers ApiThank::dieOnSitewideBlockedUser
+ * @covers \MediaWiki\Extension\Thanks\ApiThank::dieOnBadUser
+ * @covers \MediaWiki\Extension\Thanks\ApiThank::dieOnUserBlockedFromThanks
*/
public function testDieOnBadUser( $user, $dieMethod, $expectedError ) {
$module = $this->getModule();
@@ -52,10 +52,10 @@ class ApiCoreThankUnitTest extends MediaWikiTestCase {
public function provideDieOnBadUser() {
$testCases = [];
- $mockUser = $this->createMock( 'User' );
+ $mockUser = $this->createMock( User::class );
$mockUser->expects( $this->once() )
->method( 'isAnon' )
- ->will( $this->returnValue( true ) );
+ ->willReturn( true );
$testCases[ 'anon' ] = [
$mockUser,
@@ -63,13 +63,13 @@ class ApiCoreThankUnitTest extends MediaWikiTestCase {
'Anonymous users cannot send thanks'
];
- $mockUser = $this->createMock( 'User' );
+ $mockUser = $this->createMock( User::class );
$mockUser->expects( $this->once() )
->method( 'isAnon' )
- ->will( $this->returnValue( false ) );
+ ->willReturn( false );
$mockUser->expects( $this->once() )
->method( 'pingLimiter' )
- ->will( $this->returnValue( true ) );
+ ->willReturn( true );
$testCases[ 'ping' ] = [
$mockUser,
@@ -77,21 +77,19 @@ class ApiCoreThankUnitTest extends MediaWikiTestCase {
"You've exceeded your rate limit. Please wait some time and try again"
];
- $mockUser = $this->createMock( 'User' );
+ $mockUser = $this->createMock( User::class );
$mockUser->expects( $this->once() )
->method( 'isAnon' )
- ->will( $this->returnValue( false ) );
+ ->willReturn( false );
$mockUser->expects( $this->once() )
->method( 'pingLimiter' )
- ->will( $this->returnValue( false ) );
+ ->willReturn( false );
$mockUser->expects( $this->once() )
->method( 'isBlockedGlobally' )
- ->will( $this->returnValue( true ) );
+ ->willReturn( true );
$mockUser->expects( $this->once() )
->method( 'getGlobalBlock' )
- ->will( $this->returnValue(
- $this->createBlock( [] )
- ) );
+ ->willReturn( $this->createBlock( [] ) );
$testCases[ 'globally blocked' ] = [
$mockUser,
@@ -99,31 +97,27 @@ class ApiCoreThankUnitTest extends MediaWikiTestCase {
'You have been blocked from editing'
];
- $mockUser = $this->createMock( 'User' );
+ $mockUser = $this->createMock( User::class );
$mockUser->expects( $this->once() )
->method( 'getBlock' )
- ->will( $this->returnValue(
- $this->createBlock( [] )
- ) );
+ ->willReturn( $this->createBlock( [] ) );
$testCases[ 'sitewide blocked' ] = [
$mockUser,
- 'dieOnSitewideBlockedUser',
+ 'dieOnUserBlockedFromThanks',
'You have been blocked from editing'
];
- $mockUser = $this->createMock( 'User' );
+ $mockUser = $this->createMock( User::class );
$mockUser->expects( $this->once() )
->method( 'getBlock' )
- ->will( $this->returnValue(
- $this->createBlock( [
- 'sitewide' => false
- ] )
- ) );
+ ->willReturn(
+ $this->createBlock( [ 'sitewide' => false ] )
+ );
$testCases[ 'partial blocked' ] = [
$mockUser,
- 'dieOnSitewideBlockedUser',
+ 'dieOnUserBlockedFromThanks',
false
];
diff --git a/Thanks/tests/phpunit/ApiFlowThankIntegrationTest.php b/Thanks/tests/phpunit/ApiFlowThankIntegrationTest.php
index b8185c8e..3298236f 100644
--- a/Thanks/tests/phpunit/ApiFlowThankIntegrationTest.php
+++ b/Thanks/tests/phpunit/ApiFlowThankIntegrationTest.php
@@ -8,7 +8,7 @@ use Flow\Model\Workflow;
/**
* Integration tests for the Thanks Flow api module
*
- * @covers ApiFlowThank
+ * @covers \MediaWiki\Extension\Thanks\ApiFlowThank
*
* @group Thanks
* @group Database
@@ -35,7 +35,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
/** @var PostRevision */
public $postByMe;
- public function setUp() : void {
+ public function setUp(): void {
parent::setUp();
if ( !ExtensionRegistry::getInstance()->isLoaded( 'Flow' ) ) {
@@ -61,34 +61,31 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
], [], 1 );
// Set up mock classes in Container.
- $mockLoader = $this->getMockBuilder( '\Flow\Repository\RootPostLoader' )
+ $mockLoader = $this->getMockBuilder( \Flow\Repository\RootPostLoader::class )
->disableOriginalConstructor()
->getMock();
- $that = $this;
$mockLoader->expects( $this->any() )
->method( 'getWithRoot' )
- ->will( $this->returnCallback(
- // Hard to work with class variables or callbacks,
- // using anonymous function instead.
- function ( $postId ) use ( $that ) {
+ ->willReturnCallback(
+ function ( $postId ) {
switch ( $postId ) {
- case $that->postByOtherUser->getPostId():
+ case $this->postByOtherUser->getPostId():
return [
- 'post' => $that->postByOtherUser,
- 'root' => $that->topic
+ 'post' => $this->postByOtherUser,
+ 'root' => $this->topic
];
- case $that->postByMe->getPostId():
+ case $this->postByMe->getPostId():
return [
- 'post' => $that->postByMe,
- 'root' => $that->topic
+ 'post' => $this->postByMe,
+ 'root' => $this->topic
];
default:
return [ 'post' => null ];
}
}
- ) );
+ );
$mockWorkflow = $this->createMock( Workflow::class );
$mockWorkflow->expects( $this->any() )
@@ -98,21 +95,21 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
->method( 'getArticleTitle' )
->willReturn( $this->createMock( Title::class ) );
- $mockStorage = $this->getMockBuilder( '\Flow\Data\ManagerGroup' )
+ $mockStorage = $this->getMockBuilder( \Flow\Data\ManagerGroup::class )
->disableOriginalConstructor()
->getMock();
$mockStorage->expects( $this->any() )
->method( 'get' )
- ->will( $this->returnValue( $mockWorkflow ) );
+ ->willReturn( $mockWorkflow );
- $mockTemplating = $this->getMockBuilder( 'Flow\Templating' )
+ $mockTemplating = $this->getMockBuilder( \Flow\Templating::class )
->disableOriginalConstructor()
->getMock();
$mockTemplating->expects( $this->any() )
->method( 'getContent' )
- ->will( $this->returnValue( 'test content' ) );
+ ->willReturn( 'test content' );
Flow\Container::reset();
$container = Flow\Container::getContainer();
@@ -149,7 +146,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
public function testRequestWithInvalidId() {
$this->expectException( ApiUsageException::class );
$this->expectExceptionMessage( 'Post ID is not valid' );
- list( $result,, ) = $this->doApiRequestWithToken( [
+ $this->doApiRequestWithToken( [
'action' => 'flowthank',
'postid' => UUID::create( '42' )->getAlphadecimal(),
] );
@@ -158,7 +155,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
public function testRequestWithOwnId() {
$this->expectException( ApiUsageException::class );
$this->expectExceptionMessage( 'You cannot thank yourself' );
- list( $result,, ) = $this->doApiRequestWithToken( [
+ $this->doApiRequestWithToken( [
'action' => 'flowthank',
'postid' => $this->postByMe->getPostId()->getAlphadecimal(),
], null, $this->meUser );
@@ -178,7 +175,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
* With no arguments tossed in, default data (resembling a newly-created
* topic title) will be returned.
*
- * @param array[optional] $row DB row data (only specify override columns)
+ * @param array $row DB row data (only specify override columns)
* @return array
*/
protected function generateRow( array $row = [] ) {
@@ -195,7 +192,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
'rev_type' => 'post',
'rev_user_id' => $userId,
'rev_user_ip' => $userIp,
- 'rev_user_wiki' => wfWikiID(),
+ 'rev_user_wiki' => WikiMap::getCurrentWikiId(),
'rev_parent_id' => null,
'rev_flags' => 'html',
'rev_content' => 'test content',
@@ -218,7 +215,7 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
'tree_orig_create_time' => wfTimestampNow(),
'tree_orig_user_id' => $userId,
'tree_orig_user_ip' => $userIp,
- 'tree_orig_user_wiki' => wfWikiID(),
+ 'tree_orig_user_wiki' => WikiMap::getCurrentWikiId(),
'tree_parent_id' => null,
];
}
@@ -232,9 +229,9 @@ class ApiFlowThankIntegrationTest extends ApiTestCase {
* With no arguments tossed in, a default revision (resembling a newly-
* created topic title) will be returned.
*
- * @param array[optional] $row DB row data (only specify override columns)
- * @param array[optional] $children Array of child PostRevision objects
- * @param int[optional] $depth Depth of the PostRevision object
+ * @param array $row DB row data (only specify override columns)
+ * @param array $children Array of child PostRevision objects
+ * @param int $depth Depth of the PostRevision object
* @return PostRevision
*/
protected function generateObject( array $row = [], $children = [], $depth = 0 ) {
diff --git a/Thanks/tests/qunit/.eslintrc.json b/Thanks/tests/qunit/.eslintrc.json
index 348a1b7f..88c51fee 100644
--- a/Thanks/tests/qunit/.eslintrc.json
+++ b/Thanks/tests/qunit/.eslintrc.json
@@ -1,6 +1,6 @@
{
"extends": [
- "wikimedia/qunit",
- "../../.eslintrc.json"
+ "../../modules/.eslintrc.json",
+ "wikimedia/qunit"
]
}
diff --git a/Thanks/tests/qunit/test_ext.thanks.mobilediff.js b/Thanks/tests/qunit/test_ext.thanks.mobilediff.js
index 0c0e6413..bc9cb43c 100644
--- a/Thanks/tests/qunit/test_ext.thanks.mobilediff.js
+++ b/Thanks/tests/qunit/test_ext.thanks.mobilediff.js
@@ -1,15 +1,15 @@
-( function () {
- QUnit.module( 'Thanks mobilediff' );
+QUnit.module( 'Thanks mobilediff', function () {
QUnit.test( 'render button for logged in users', function ( assert ) {
- var $container = $( '<div>' ),
- $user = $( '<div>' ).data( 'user-name', 'jon' )
- .data( 'revision-id', 1 )
- .data( 'user-gender', 'male' );
+ var $container = $( '<div>' );
+ var $user = $( '<div>' )
+ .data( 'user-name', 'jon' )
+ .data( 'revision-id', 1 )
+ .data( 'user-gender', 'male' );
// eslint-disable-next-line no-underscore-dangle
mw.thanks._mobileDiffInit( $user, $container );
assert.strictEqual( $container.find( '.mw-ui-button' ).length, 1, 'Thanks button was created.' );
} );
-}() );
+} );
diff --git a/Thanks/tests/qunit/test_ext.thanks.thank.js b/Thanks/tests/qunit/test_ext.thanks.thank.js
index c393267f..315cf797 100644
--- a/Thanks/tests/qunit/test_ext.thanks.thank.js
+++ b/Thanks/tests/qunit/test_ext.thanks.thank.js
@@ -1,29 +1,30 @@
QUnit.module( 'Thanks thank', QUnit.newMwEnvironment( {
- setup: function () {
+ beforeEach: function () {
this.server = this.sandbox.useFakeServer();
this.server.respondImmediately = true;
}
} ) );
QUnit.test( 'thanked cookie', function ( assert ) {
- var $thankLink = $( '<a ' + mw.thanks.thanked.attrName + '="8" />' ),
- $thankLinkNonExisting = $( '<a ' + mw.thanks.thanked.attrName + '="13" />' );
- mw.cookie.set( mw.thanks.thanked.cookieName, escape( '17,11' ) );
+ var thankId = '8';
+ var thankIdNonExisting = '13';
- assert.deepEqual( mw.thanks.thanked.load(), [ '17', '11' ], 'gets cookie with two values' );
+ mw.cookie.set( mw.thanks.thanked.cookieName, escape( '17,11' ) );
+ assert.deepEqual( mw.thanks.thanked.load(), [ '17', '11' ], 'cookie with two values' );
- // Makes the 0 100th element
+ // Add a 0 the 100th element
// eslint-disable-next-line no-restricted-properties
mw.cookie.set( mw.thanks.thanked.cookieName, escape( '9,'.repeat( mw.thanks.thanked.maxHistory - 1 ) + '0' ) );
+ assert.strictEqual( mw.thanks.thanked.load()[ mw.thanks.thanked.maxHistory - 1 ], '0', 'load ids from a cookie' );
- assert.strictEqual( mw.thanks.thanked.load()[ mw.thanks.thanked.maxHistory - 1 ], '0', 'loads ' + mw.thanks.thanked.maxHistory + ' ids from a cookie' );
- mw.thanks.thanked.push( $thankLink );
- assert.strictEqual( mw.thanks.thanked.load().length, mw.thanks.thanked.maxHistory, 'cuts a cookie to ' + mw.thanks.thanked.maxHistory + ' values' );
- assert.strictEqual( mw.thanks.thanked.load()[ mw.thanks.thanked.maxHistory - 1 ], $thankLink.attr( mw.thanks.thanked.attrName ), 'adds a new value to cookie to the end' );
+ mw.thanks.thanked.push( thankId );
+ assert.strictEqual( mw.thanks.thanked.load().length, mw.thanks.thanked.maxHistory, 'cut to maxHistory' );
+ assert.strictEqual( mw.thanks.thanked.load()[ mw.thanks.thanked.maxHistory - 1 ], thankId, 'add to the end' );
- assert.strictEqual( mw.thanks.thanked.contains( $thankLink ), true, 'cookie contains id and returns true' );
- assert.strictEqual( mw.thanks.thanked.contains( $thankLinkNonExisting ), false, 'cookie does not contains id and returns false' );
+ assert.strictEqual( mw.thanks.thanked.contains( thankId ), true, 'cookie contains id' );
+ assert.strictEqual( mw.thanks.thanked.contains( thankIdNonExisting ), false, 'cookie does not contain id' );
} );
+
QUnit.test( 'gets user gender', function ( assert ) {
this.server.respond( /user1/, function ( request ) {
request.respond( 200, { 'Content-Type': 'application/json' },
@@ -41,22 +42,21 @@ QUnit.test( 'gets user gender', function ( assert ) {
);
} );
- // eslint-disable-next-line vars-on-top
- var maleUser = mw.thanks.getUserGender( 'user1' ),
- unknownGenderUser = mw.thanks.getUserGender( 'user2' ),
- nonExistingUser = mw.thanks.getUserGender( 'user3' ),
- callbackDone = assert.async( 3 );
+ var maleUser = mw.thanks.getUserGender( 'user1' );
+ var unknownGenderUser = mw.thanks.getUserGender( 'user2' );
+ var nonExistingUser = mw.thanks.getUserGender( 'user3' );
+ var done = assert.async( 3 );
maleUser.then( function ( recipientGender ) {
- assert.strictEqual( recipientGender, 'male', 'gets a proper gender for existing male user' );
- callbackDone();
+ assert.strictEqual( recipientGender, 'male', 'gender for male user' );
+ done();
} );
unknownGenderUser.then( function ( recipientGender ) {
- assert.strictEqual( recipientGender, 'unknown', 'gets a unknown gender for a existing unknown gender user' );
- callbackDone();
+ assert.strictEqual( recipientGender, 'unknown', 'gender for unknown-gender user' );
+ done();
} );
nonExistingUser.then( function ( recipientGender ) {
- assert.strictEqual( recipientGender, 'unknown', 'gets a unknown gender for non-existing user' );
- callbackDone();
+ assert.strictEqual( recipientGender, 'unknown', 'gender for non-existing user' );
+ done();
} );
} );