From 9d5c8918c5a1034cd0060f8dc02cfc184f76f420 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Tue, 16 Mar 2021 02:52:56 +0300 Subject: Fix mistranslation and spelling issues --- .../ru/web/javascript/a_re-introduction_to_javascript/index.html | 2 +- files/ru/web/javascript/guide/functions/index.html | 2 +- .../guide/regular_expressions/character_classes/index.html | 2 +- files/ru/web/javascript/guide/regular_expressions/index.html | 8 ++++---- files/ru/web/javascript/index.html | 2 +- .../reference/errors/invalid_const_assignment/index.html | 2 +- .../reference/global_objects/array/@@unscopables/index.html | 2 +- .../web/javascript/reference/global_objects/array/flat/index.html | 2 +- .../javascript/reference/global_objects/function/name/index.html | 2 +- .../web/javascript/reference/global_objects/map/delete/index.html | 4 ++-- files/ru/web/javascript/reference/global_objects/map/index.html | 2 +- .../javascript/reference/global_objects/promise/any/index.html | 2 +- .../reference/global_objects/regexp/@@search/index.html | 2 +- .../javascript/reference/global_objects/regexp/@@split/index.html | 2 +- .../ru/web/javascript/reference/global_objects/string/index.html | 2 +- .../javascript/reference/global_objects/symbol/search/index.html | 2 +- .../reference/global_objects/symbol/unscopables/index.html | 2 +- files/ru/web/javascript/reference/operators/this/index.html | 2 +- .../web/javascript/reference/statements/for-await...of/index.html | 5 ++--- files/ru/web/javascript/reference/template_literals/index.html | 4 ++-- files/ru/web/javascript/typed_arrays/index.html | 2 +- 21 files changed, 27 insertions(+), 28 deletions(-) (limited to 'files/ru/web/javascript') diff --git a/files/ru/web/javascript/a_re-introduction_to_javascript/index.html b/files/ru/web/javascript/a_re-introduction_to_javascript/index.html index f2c82c85a0..268fc9985d 100644 --- a/files/ru/web/javascript/a_re-introduction_to_javascript/index.html +++ b/files/ru/web/javascript/a_re-introduction_to_javascript/index.html @@ -895,6 +895,6 @@ y(7); // возвратит 27

Так что при вызове функции makeAdder создаётся новый объект 'scope' с единственным свойством: a, которому присваивается значение, переданное функции в качестве аргумента.  Потом makeAdder возвращает новую анонимную функцию. В любом другом случае 'сборщик мусора' удалил бы объект scope, но возвращаемая функция ссылается на этот объект. В итоге объект scope не удаляется до тех пор, пока существует хотя бы одна ссылка на него.

-

Все объекты scope соединяются в цепочку областей видимости, которая похожа на цепочку прототипов в объектной системе JavaScript'а.

+

Все объекты scope соединяются в цепочку областей видимости, которая похожа на цепочку прототипов в объектной системе JavaScript.

Замыкание это связка из функции и объекта scope, созданного при её вызове. Подробнее о замыканиях здесь.

diff --git a/files/ru/web/javascript/guide/functions/index.html b/files/ru/web/javascript/guide/functions/index.html index b72cfab871..2093078da0 100644 --- a/files/ru/web/javascript/guide/functions/index.html +++ b/files/ru/web/javascript/guide/functions/index.html @@ -281,7 +281,7 @@ loop(0);

Также возможно превращение некоторых рекурсивных алгоритмов в нерекурсивные, но часто их логика очень сложна, и для этого потребуется использование стека (stack). По факту рекурсия использует stack: function stack.

-

Поведение stack'а можно увидеть в следующем примере:

+

Поведение стека можно увидеть в следующем примере:

function foo(i) {
   if (i < 0)
diff --git a/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html b/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html
index 450547e418..353de379a6 100644
--- a/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html
+++ b/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html
@@ -134,7 +134,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes
 
     
 
     
diff --git a/files/ru/web/javascript/guide/regular_expressions/index.html b/files/ru/web/javascript/guide/regular_expressions/index.html index 5ab9fe6e72..1769079e27 100644 --- a/files/ru/web/javascript/guide/regular_expressions/index.html +++ b/files/ru/web/javascript/guide/regular_expressions/index.html @@ -58,9 +58,9 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions Одно из следующего:
  • Для символов обычно обрабатываемых буквально, означает что следующий символ является специальным и не должен интерпретироваться буквально.
  • -
  • Например, /b/ сопоставляется символу 'b'. Добавляя слэш перед b, т.е используя /\b/, символ становится специальным символом, означающим границу слова.
  • +
  • Например, /b/ сопоставляется символу 'b'. Добавляя слеш перед b, т.е используя /\b/, символ становится специальным символом, означающим границу слова.
  • Для символов обычно обрабатываемых особым образом означает, что следующий символ не является специальным и должен интерпретироваться буквально.
  • -
  • Например, * является специальным символом, сопоставляемым 0 или более повторений предыдущего символа; например, /a*/ означает соответствие 0 или более символов а. Для буквальной интерпретации *, поставьте перед ней обратный слэш; например, /a\*/ соответствует 'a*'.
  • +
  • Например, * является специальным символом, сопоставляемым 0 или более повторений предыдущего символа; например, /a*/ означает соответствие 0 или более символов а. Для буквальной интерпретации *, поставьте перед ней обратный слеш; например, /a\*/ соответствует 'a*'.
  • Также не забудьте заэкранировать сам \ при его использовании в записи new RegExp("pattern") поскольку \ также является экранирующим символом в обычных строках.
@@ -329,7 +329,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions

Скобки вокруг любой части регулярного выражения означают что эта часть совпадаемой подстроки будет запомнена. Раз запомнена, подстрока может выбрана для использования как это описано в {{ web.link("#Using_Parenthesized_Substring_Matches", "Using Parenthesized Substring Matches") }}.

-

Например, паттерн /Chapter (\d+)\.\d*/ включает в себя дополнительные экранирующие и специальные символы и указывает на то, что часть шаблона должна быть запомнена. Он точно соответствует символам слова 'Chapter ', за которыми следует один или более цифровых символов (\d означает любой цифровой символ, а '+' означает 1 или более раз), за которым следует десятичная точка (сама по себе являющаяся специальным символом; предшествующий десятичной точке слэш ' \' означает, что паттерн должен искать литеральный символ '.'), после которой следует любой цифровой символ 0 или более раз ('\d' обозначает цифровой символ, '*' обозначает 0 или более раз). Кроме того, круглые скобки используются для запоминания первых же совпавших цифровых символов. 

+

Например, паттерн /Chapter (\d+)\.\d*/ включает в себя дополнительные экранирующие и специальные символы и указывает на то, что часть шаблона должна быть запомнена. Он точно соответствует символам слова 'Chapter ', за которыми следует один или более цифровых символов (\d означает любой цифровой символ, а '+' означает 1 или более раз), за которым следует десятичная точка (сама по себе являющаяся специальным символом; предшествующий десятичной точке слеш ' \' означает, что паттерн должен искать литеральный символ '.'), после которой следует любой цифровой символ 0 или более раз ('\d' обозначает цифровой символ, '*' обозначает 0 или более раз). Кроме того, круглые скобки используются для запоминания первых же совпавших цифровых символов. 

Этот шаблон будет найден во фразе "Open Chapter 4.3, paragraph 6" и цифра '4' будет запомнена. Но он не будет найден во фразе "Chapter 3 and 4", поскольку эта строка не имеет точки после цифры '3'.

@@ -623,7 +623,7 @@ console.log(output.join("\n"));

В след. примере, ожидается что пользователь введет телефонный номер и требуется проверить правильность символов набранных пользователем. Когда пользователь нажмет кнопку "Check", скрипт проверит правильность введенного номера. Если номер правильный (совпадает с символами определенными в регулярном выражении), то скрипт покажет сообщение благодарности для пользователя и подтвердит номер. Если нет, то скрипт проинформирует пользователя, что телефонный номер неправильный.

-

Внутри незахватывающих скобок (?:, регуляное выражение ищет три цифры \d{3} ИЛИ |  открывающую скобку \(, затем три цифры \d{3}, затем закрывающую скобку \), (закрывающая незахватывающая скобка )), затем тире, слэш, или десятичная точка, и когда это выражение найдено, запоминает символ ([-\/\.]),  следующие за ним и запомненные три цифры \d{3}, следующее соответствие тире, слеша или десятичной точки \1, и следующие четыре цифры \d{4}.

+

Внутри незахватывающих скобок (?:, регуляное выражение ищет три цифры \d{3} ИЛИ |  открывающую скобку \(, затем три цифры \d{3}, затем закрывающую скобку \), (закрывающая незахватывающая скобка )), затем тире, слеш, или десятичная точка, и когда это выражение найдено, запоминает символ ([-\/\.]),  следующие за ним и запомненные три цифры \d{3}, следующее соответствие тире, слеша или десятичной точки \1, и следующие четыре цифры \d{4}.

Регулярное выражение ищет сначала 0 или одну открывающую скобку \(?, затем три цифры \d{3}, затем 0 или одну закрывающую скобку \)?, потом одно тире, слеш или точка и когда найдет это, запомнит символ([-\/\.]), след. три цифры \d{3}, followed by the remembered match of a dash, forward slash, or decimal point \1, followed by four digits \d{4}.

diff --git a/files/ru/web/javascript/index.html b/files/ru/web/javascript/index.html index 7a082e292e..d7c70db6d0 100644 --- a/files/ru/web/javascript/index.html +++ b/files/ru/web/javascript/index.html @@ -68,7 +68,7 @@ translation_of: Web/JavaScript
инструменты для создания масштабируемых и интерактивных веб-приложений. Многие
-
современные компании используют ффреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.
+
современные компании используют фреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.
Повторное введение в JavaScript
Обзор для тех, кто думает, что знает JavaScript.
diff --git a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html index 54bbb51f92..d658f57b73 100644 --- a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html +++ b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html @@ -8,7 +8,7 @@ translation_of: Web/JavaScript/Reference/Errors/Invalid_const_assignment

Сообщение

TypeError: недопустимое назначение const "x" (Firefox)
-TypeError: присвоение переменной константы. (Хромированный)
+TypeError: присвоение переменной константы. (Chrome)
 TypeError: присвоение const (Edge)
 TypeError: повторное объявление const 'x' (IE)
 
diff --git a/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html b/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html index 7637d1d3f5..21aef4509b 100644 --- a/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html @@ -64,7 +64,7 @@ Object.keys(Array.prototype[Symbol.unscopables]);

Совместимость с браузерами

- +

{{Compat("javascript.builtins.Array.@@unscopables")}}

diff --git a/files/ru/web/javascript/reference/global_objects/array/flat/index.html b/files/ru/web/javascript/reference/global_objects/array/flat/index.html index 1290cbdf14..f8f27c247b 100644 --- a/files/ru/web/javascript/reference/global_objects/array/flat/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/flat/index.html @@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat - +

Синтаксис

diff --git a/files/ru/web/javascript/reference/global_objects/function/name/index.html b/files/ru/web/javascript/reference/global_objects/function/name/index.html index 6beee2a14d..82a59765f2 100644 --- a/files/ru/web/javascript/reference/global_objects/function/name/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/name/index.html @@ -86,7 +86,7 @@ alert(object.someMethod.name); //someMethod }; o.foo.name; // "foo";
-

Имена функций после байндинга

+

Имена функций после привязки

{{jsxref("Function.bind()")}} производит функцию, получающую имя "bound  и название самой функции.

diff --git a/files/ru/web/javascript/reference/global_objects/map/delete/index.html b/files/ru/web/javascript/reference/global_objects/map/delete/index.html index 442bab843d..f9e6cb1cf4 100644 --- a/files/ru/web/javascript/reference/global_objects/map/delete/index.html +++ b/files/ru/web/javascript/reference/global_objects/map/delete/index.html @@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete
{{EmbedInteractiveExample("pages/js/map-prototype-delete.html")}}
- +

Синтаксис

@@ -68,7 +68,7 @@ myMap.has("bar"); // Возвращает false. Элемента "bar" бо

Совместимость с браузерами

- +

{{Compat("javascript.builtins.Map.delete")}}

diff --git a/files/ru/web/javascript/reference/global_objects/map/index.html b/files/ru/web/javascript/reference/global_objects/map/index.html index 1104571ff4..9d0fac93a8 100644 --- a/files/ru/web/javascript/reference/global_objects/map/index.html +++ b/files/ru/web/javascript/reference/global_objects/map/index.html @@ -273,7 +273,7 @@ console.log(merged.get(3)); // three

Совместимость с браузерами

- +

{{Compat("javascript.builtins.Map")}}

diff --git a/files/ru/web/javascript/reference/global_objects/promise/any/index.html b/files/ru/web/javascript/reference/global_objects/promise/any/index.html index 5f14b9632a..339d9f7aad 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/any/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/any/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any ---
{{JSRef}}
-

Метод Promise.any() принимает итерируемый объект содержащий объекты "обещаний" {{JSxRef("Promise")}}. Как только одно из "обещаний"(Promise) выполнится успешно(fullfill), метод возвратит единственный объект Promise со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно(если все "обещания" завершатся с ошибкой, т.е. rejected), тогда возвращенный объект promise будет отклонен(rejected) с одним из значений: массив содержащий причины ошибки(отклонения), или {{JSxRef("AggregateError")}} — подкласс {{JSxRef("Error")}}, который объединяет выброшенные ошибки вместе. По-существу, метод Promise.any() является противоположностью для {{JSxRef("Promise.all()")}}.

+

Метод Promise.any() принимает итерируемый объект содержащий объекты "обещаний" {{JSxRef("Promise")}}. Как только одно из "обещаний"(Promise) выполнится успешно(fullfill), метод возвратит единственный объект Promise со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно(если все "обещания" завершатся с ошибкой, т.е. rejected), тогда возвращенный объект promise будет отклонен(rejected) с одним из значений: массив содержащий причины ошибки(отклонения), или {{JSxRef("AggregateError")}} — подкласс {{JSxRef("Error")}}, который объединяет выброшенные ошибки вместе. По существу, метод Promise.any() является противоположностью для {{JSxRef("Promise.all()")}}.

Warning! The Promise.any() method is experimental and not fully supported by all browsers. It is currently in the TC39 Candidate stage (Stage 3).

diff --git a/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html b/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html index 9ed264146d..4a8dcecc59 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html @@ -99,7 +99,7 @@ console.log(result); // 3

Совместимость с браузерами

- +

{{Compat("javascript.builtins.RegExp.@@search")}}

diff --git a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html index 7a6a34cec0..80c4692d97 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html @@ -56,7 +56,7 @@ console.log(result); // ["2016", "01", "02"]

Использование @@split в подклассах

-

Подклассы {{jsxref("RegExp")}} могут переопределить [@@split]() для изменения дефольтного поведения.

+

Подклассы {{jsxref("RegExp")}} могут переопределить [@@split]() для изменения стандартного поведения.

class MyRegExp extends RegExp {
   [Symbol.split](str, limit) {
diff --git a/files/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html
index bda7ae64c3..3e6609ccce 100644
--- a/files/ru/web/javascript/reference/global_objects/string/index.html
+++ b/files/ru/web/javascript/reference/global_objects/string/index.html
@@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String
   
   
    \\
-   обратный слэш
+   обратный слеш
   
   
    \n
diff --git a/files/ru/web/javascript/reference/global_objects/symbol/search/index.html b/files/ru/web/javascript/reference/global_objects/symbol/search/index.html
index c1951ba776..2b83cb2dd8 100644
--- a/files/ru/web/javascript/reference/global_objects/symbol/search/index.html
+++ b/files/ru/web/javascript/reference/global_objects/symbol/search/index.html
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/search
 
 

Совместимость с браузерами

- +

{{Compat("javascript.builtins.Symbol.search")}}

diff --git a/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html b/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html index ff3b6289e2..0fabfb6577 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html @@ -77,7 +77,7 @@ with (obj) {

Совместимость с браузерами

- +

{{Compat("javascript.builtins.Symbol.unscopables")}}

diff --git a/files/ru/web/javascript/reference/operators/this/index.html b/files/ru/web/javascript/reference/operators/this/index.html index 68f1a69d21..2176ebbdef 100644 --- a/files/ru/web/javascript/reference/operators/this/index.html +++ b/files/ru/web/javascript/reference/operators/this/index.html @@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Operators/this
{{EmbedInteractiveExample("pages/js/expressions-this.html")}}
- +

Синтаксис

diff --git a/files/ru/web/javascript/reference/statements/for-await...of/index.html b/files/ru/web/javascript/reference/statements/for-await...of/index.html index 72200e4004..9ed679ace7 100644 --- a/files/ru/web/javascript/reference/statements/for-await...of/index.html +++ b/files/ru/web/javascript/reference/statements/for-await...of/index.html @@ -5,14 +5,13 @@ tags: - JavaScript - async - Асинхронность - - ДжаваСкрипт translation_of: Web/JavaScript/Reference/Statements/for-await...of ---
{{jsSidebar("Statements")}}

Выражение for await...of создаёт цикл, проходящий через асинхронные итерируемые объекты, а также синхронные итерируемые сущности, включающие: встроенные {{jsxref("String")}}, {{jsxref("Array")}}, Array-подобные объекты (например., {{jsxref("Functions/arguments", "arguments")}} или {{domxref("NodeList")}}), {{jsxref("TypedArray")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, а также определяемые пользователем асинхронные/синхронные сущности. Он вызывает пользовательский итерационный хук с инструкциями, которые должны быть выполнены для значения каждого отдельного свойства объекта.

- +

Синтаксис

@@ -130,7 +129,7 @@ getResponseSize('https://jsonplaceholder.typicode.com/photos');

Браузерная совместимость

- +

Смотрите также

diff --git a/files/ru/web/javascript/reference/template_literals/index.html b/files/ru/web/javascript/reference/template_literals/index.html index 158408bb40..03139d5e20 100644 --- a/files/ru/web/javascript/reference/template_literals/index.html +++ b/files/ru/web/javascript/reference/template_literals/index.html @@ -28,7 +28,7 @@ tag `строка текста ${выражение} строка текста`

Описание

-

Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Выражения в подстановках и текст между ними передаются в функцию. По умолчанию функция просто объединяет все части в строку. Если перед строкой есть выражение (здесь это tag), то шаблонная строка называется "теговым шаблоном". В этом случае, теговое выражение (обычно функция) вызывается с обработанным шаблонным литералом, который вы можете изменить перед выводом. Для экранирования обратной кавычки в шаблонных литералах указывается обратный слэш \.

+

Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Выражения в подстановках и текст между ними передаются в функцию. По умолчанию функция просто объединяет все части в строку. Если перед строкой есть выражение (здесь это tag), то шаблонная строка называется "теговым шаблоном". В этом случае, теговое выражение (обычно функция) вызывается с обработанным шаблонным литералом, который вы можете изменить перед выводом. Для экранирования обратной кавычки в шаблонных литералах указывается обратный слеш \.

`\`` === '`' // --> true
@@ -229,7 +229,7 @@ latex`\unicode`

Совместимость с браузерами

- +

{{Compat("javascript.grammar.template_literals")}}

diff --git a/files/ru/web/javascript/typed_arrays/index.html b/files/ru/web/javascript/typed_arrays/index.html index 50cc352993..d55e398573 100644 --- a/files/ru/web/javascript/typed_arrays/index.html +++ b/files/ru/web/javascript/typed_arrays/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Typed_arrays ---
{{JsSidebar("Advanced")}}
-

Типизированные массивы в JavaScript являются массива-подобными объектами, предоставляющими механизм доступа к сырым двоичным данным. Как вы уже можете знать, массив {{jsxref("Array")}} растет и обрезается динамически, и может содержать элементы любого типа JavaScript. Благодаря оптимизациям JavaScript движков, массивы остаются быстрыми. Однако, со временем, веб-приложения становятся все более и более мощными, появляется необходимость работы с аудио- и видео-данными, требуется доступ к сырым данным WebSocket`ов, и так далее. Становится очевидным, что возможность быстрой и эффективной работы с двоичными данными в JavaScript будет очень полезной, для чего типизированные массивы и предназначены.

+

Типизированные массивы в JavaScript являются массива-подобными объектами, предоставляющими механизм доступа к сырым двоичным данным. Как вы уже можете знать, массив {{jsxref("Array")}} растет и обрезается динамически, и может содержать элементы любого типа JavaScript. Благодаря оптимизациям JavaScript движков, массивы остаются быстрыми. Однако, со временем, веб-приложения становятся все более и более мощными, появляется необходимость работы с аудио- и видео-данными, требуется доступ к сырым данным WebSocket, и так далее. Становится очевидным, что возможность быстрой и эффективной работы с двоичными данными в JavaScript будет очень полезной, для чего типизированные массивы и предназначены.

Не следует путать типизированные массивы с обычными массивами: так, например, вызов {{jsxref("Array.isArray()")}} для типизированного массива вернет false. Более того, не все методы, доступные для обычных массивов поддерживаются типизированными массивами (например, push и pop).

-- cgit v1.2.3-54-g00ecf