===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
node-i18next-19.8.2+dfsg/src/BackendConnector.js-46-      namespaces.forEach(ns => {
node-i18next-19.8.2+dfsg/src/BackendConnector.js:47:        const name = `${lng}|${ns}`;
node-i18next-19.8.2+dfsg/src/BackendConnector.js-48-
##############################################
node-i18next-19.8.2+dfsg/src/BackendConnector.js-186-    this.read(lng, ns, 'read', undefined, undefined, (err, data) => {
node-i18next-19.8.2+dfsg/src/BackendConnector.js:187:      if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);
node-i18next-19.8.2+dfsg/src/BackendConnector.js-188-      if (!err && data)
node-i18next-19.8.2+dfsg/src/BackendConnector.js:189:        this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);
node-i18next-19.8.2+dfsg/src/BackendConnector.js-190-
##############################################
node-i18next-19.8.2+dfsg/src/BackendConnector.js-201-      this.logger.warn(
node-i18next-19.8.2+dfsg/src/BackendConnector.js:202:        `did not save key "${key}" as the namespace "${namespace}" was not yet loaded`,
node-i18next-19.8.2+dfsg/src/BackendConnector.js-203-        'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!',
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-58-    // the regexp
node-i18next-19.8.2+dfsg/src/Interpolator.js:59:    const regexpStr = `${this.prefix}(.+?)${this.suffix}`;
node-i18next-19.8.2+dfsg/src/Interpolator.js-60-    this.regexp = new RegExp(regexpStr, 'g');
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-66-
node-i18next-19.8.2+dfsg/src/Interpolator.js:67:    const nestingRegexpStr = `${this.nestingPrefix}(.+?)${this.nestingSuffix}`;
node-i18next-19.8.2+dfsg/src/Interpolator.js-68-    this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-130-          } else {
node-i18next-19.8.2+dfsg/src/Interpolator.js:131:            this.logger.warn(`missed to pass in variable ${match[1]} for interpolating ${str}`);
node-i18next-19.8.2+dfsg/src/Interpolator.js-132-            value = '';
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-160-
node-i18next-19.8.2+dfsg/src/Interpolator.js:161:      const c = key.split(new RegExp(`${sep}[ ]*{`));
node-i18next-19.8.2+dfsg/src/Interpolator.js-162-
node-i18next-19.8.2+dfsg/src/Interpolator.js:163:      let optionsString = `{${c[1]}`;
node-i18next-19.8.2+dfsg/src/Interpolator.js-164-      key = c[0];
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-172-      } catch (e) {
node-i18next-19.8.2+dfsg/src/Interpolator.js:173:        this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);
node-i18next-19.8.2+dfsg/src/Interpolator.js:174:        return `${key}${sep}${optionsString}`;
node-i18next-19.8.2+dfsg/src/Interpolator.js-175-      }
##############################################
node-i18next-19.8.2+dfsg/src/Interpolator.js-210-      if (!value) {
node-i18next-19.8.2+dfsg/src/Interpolator.js:211:        this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);
node-i18next-19.8.2+dfsg/src/Interpolator.js-212-        value = '';
##############################################
node-i18next-19.8.2+dfsg/src/LanguageUtils.js-149-      } else {
node-i18next-19.8.2+dfsg/src/LanguageUtils.js:150:        this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);
node-i18next-19.8.2+dfsg/src/LanguageUtils.js-151-      }
##############################################
node-i18next-19.8.2+dfsg/src/PluralResolver.js-112-      const suffix = this.getSuffix(code, n);
node-i18next-19.8.2+dfsg/src/PluralResolver.js:113:      ret.push(`${key}${suffix}`);
node-i18next-19.8.2+dfsg/src/PluralResolver.js-114-    });
##############################################
node-i18next-19.8.2+dfsg/src/PluralResolver.js-144-        if (suffix === 1) return '';
node-i18next-19.8.2+dfsg/src/PluralResolver.js:145:        if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;
node-i18next-19.8.2+dfsg/src/PluralResolver.js-146-        return returnSuffix();
##############################################
node-i18next-19.8.2+dfsg/src/PluralResolver.js-154-
node-i18next-19.8.2+dfsg/src/PluralResolver.js:155:    this.logger.warn(`no plural rule found for: ${code}`);
node-i18next-19.8.2+dfsg/src/PluralResolver.js-156-    return '';
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-136-          ? this.options.returnedObjectHandler(resUsedKey, res, options)
node-i18next-19.8.2+dfsg/src/Translator.js:137:          : `key '${key} (${this.language})' returned an object instead of string.`;
node-i18next-19.8.2+dfsg/src/Translator.js-138-      }
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-149-          if (Object.prototype.hasOwnProperty.call(res, m)) {
node-i18next-19.8.2+dfsg/src/Translator.js:150:            const deepKey = `${newKeyToUse}${keySeparator}${m}`;
node-i18next-19.8.2+dfsg/src/Translator.js-151-            copy[m] = this.translate(deepKey, {
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-178-          const suffix = this.pluralResolver.getSuffix(lng, options.count);
node-i18next-19.8.2+dfsg/src/Translator.js:179:          res = options[`defaultValue${suffix}`];
node-i18next-19.8.2+dfsg/src/Translator.js-180-        }
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-264-      if (usedKey && res === key && this.options.appendNamespaceToMissingKey)
node-i18next-19.8.2+dfsg/src/Translator.js:265:        res = `${namespace}:${key}`;
node-i18next-19.8.2+dfsg/src/Translator.js-266-
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-321-              this.logger.warn(
node-i18next-19.8.2+dfsg/src/Translator.js:322:                `It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`,
node-i18next-19.8.2+dfsg/src/Translator.js-323-              );
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-391-        if (
node-i18next-19.8.2+dfsg/src/Translator.js:392:          !checkedLoadedFor[`${codes[0]}-${ns}`] &&
node-i18next-19.8.2+dfsg/src/Translator.js-393-          this.utils &&
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-396-        ) {
node-i18next-19.8.2+dfsg/src/Translator.js:397:          checkedLoadedFor[`${codes[0]}-${ns}`] = true;
node-i18next-19.8.2+dfsg/src/Translator.js-398-          this.logger.warn(
##############################################
node-i18next-19.8.2+dfsg/src/Translator.js-425-            if (needsContextHandling)
node-i18next-19.8.2+dfsg/src/Translator.js:426:              finalKeys.push((finalKey += `${this.options.contextSeparator}${options.context}`));
node-i18next-19.8.2+dfsg/src/Translator.js-427-
##############################################
node-i18next-19.8.2+dfsg/src/i18next.js-355-    const loadNotPending = (l, n) => {
node-i18next-19.8.2+dfsg/src/i18next.js:356:      const loadState = this.services.backendConnector.state[`${l}|${n}`];
node-i18next-19.8.2+dfsg/src/i18next.js-357-      return loadState === -1 || loadState === 2;
##############################################
node-i18next-19.8.2+dfsg/src/logger.js-55-    if (debugOnly && !this.debug) return null;
node-i18next-19.8.2+dfsg/src/logger.js:56:    if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;
node-i18next-19.8.2+dfsg/src/logger.js-57-    return this.logger[lvl](args);
##############################################
node-i18next-19.8.2+dfsg/src/logger.js-61-    return new Logger(this.logger, {
node-i18next-19.8.2+dfsg/src/logger.js:62:      ...{ prefix: `${this.prefix}:${moduleName}:` },
node-i18next-19.8.2+dfsg/src/logger.js-63-      ...this.options,
##############################################
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js-40-    if (namespace.indexOf('fail') === 0) return callback('failed', false);
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js:41:    callback(null, { status: 'ok', key: `${language}-${namespace}` });
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js-42-  },
##############################################
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js-46-  create(languages, namespace, key) {
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js:47:    this.created.push(`${languages.join('-')}-${namespace}-${key}`);
node-i18next-19.8.2+dfsg/test/i18next.hasLoadedNamespace.spec.js-48-  },
##############################################
node-i18next-19.8.2+dfsg/test/translator/translator.fallbackLng.spec.js-57-    tests.forEach(test => {
node-i18next-19.8.2+dfsg/test/translator/translator.fallbackLng.spec.js:58:      it(`correctly translates for ${JSON.stringify(test.args)} args`, () => {
node-i18next-19.8.2+dfsg/test/translator/translator.fallbackLng.spec.js-59-        expect(t.translate(...test.args)).to.eql(test.expected);
##############################################
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts-68-  const error404 = '404';
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts:69:  t([`error.${error404}`, 'error.unspecific']); // -> "The page was not found"
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts-70-
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts-71-  const error502 = '502';
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts:72:  t([`error.${error502}`, 'error.unspecific']); // -> "Something went wrong"
node-i18next-19.8.2+dfsg/test/typescript/t.test.ts-73-}
##############################################
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch-12-@@ -34,9 +33,4 @@
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch:13:     output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch-14-     plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve()],
##############################################
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch-17--    input,
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch:18:-    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-19.8.2+dfsg/debian/patches/00-remove-rollup-plugin-terser.patch-19--    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve(), terser()],
##############################################
node-i18next-19.8.2+dfsg/debian/patches/01-use-packaged-modules.patch-7-     input,
node-i18next-19.8.2+dfsg/debian/patches/01-use-packaged-modules.patch:8:     output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-19.8.2+dfsg/debian/patches/01-use-packaged-modules.patch-9--    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve()],
##############################################
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-34-    input,
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js:35:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-36-    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve()],
##############################################
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-39-    input,
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js:40:    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-19.8.2+dfsg/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-41-    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve(), terser()],
##############################################
node-i18next-19.8.2+dfsg/.pc/01-use-packaged-modules.patch/rollup.config.js-33-    input,
node-i18next-19.8.2+dfsg/.pc/01-use-packaged-modules.patch/rollup.config.js:34:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-19.8.2+dfsg/.pc/01-use-packaged-modules.patch/rollup.config.js-35-    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve()],
##############################################
node-i18next-19.8.2+dfsg/rollup.config.js-33-    input,
node-i18next-19.8.2+dfsg/rollup.config.js:34:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-19.8.2+dfsg/rollup.config.js-35-    plugins: [babel(getBabelOptions({ useESModules: true })), nodeResolve({
##############################################
node-i18next-browser-languagedetector-6.0.1/debian/patches/00-remove-rollup-plugin-terser.patch-17--    input,
node-i18next-browser-languagedetector-6.0.1/debian/patches/00-remove-rollup-plugin-terser.patch:18:-    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-browser-languagedetector-6.0.1/debian/patches/00-remove-rollup-plugin-terser.patch-19--    plugins: [
##############################################
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-40-    input,
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js:41:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-42-    plugins: [
##############################################
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-48-    input,
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js:49:    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-browser-languagedetector-6.0.1/.pc/00-remove-rollup-plugin-terser.patch/rollup.config.js-50-    plugins: [
##############################################
node-i18next-browser-languagedetector-6.0.1/rollup.config.js-39-    input,
node-i18next-browser-languagedetector-6.0.1/rollup.config.js:40:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-browser-languagedetector-6.0.1/rollup.config.js-41-    plugins: [
##############################################
node-i18next-http-backend-1.0.21+dfsg/lib/index.js-117-        backendConnector.read(lng, ns, 'read', null, null, (err, data) => {
node-i18next-http-backend-1.0.21+dfsg/lib/index.js:118:          if (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err)
node-i18next-http-backend-1.0.21+dfsg/lib/index.js:119:          if (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data)
node-i18next-http-backend-1.0.21+dfsg/lib/index.js-120-
node-i18next-http-backend-1.0.21+dfsg/lib/index.js:121:          backendConnector.loaded(`${lng}|${ns}`, err, data)
node-i18next-http-backend-1.0.21+dfsg/lib/index.js-122-        })
##############################################
node-i18next-http-backend-1.0.21+dfsg/test/backendConnector.load.spec.js-7-
node-i18next-http-backend-1.0.21+dfsg/test/backendConnector.load.spec.js:8:describe(`BackendConnector basic load using ${typeof XMLHttpRequest === 'function' ? 'XMLHttpRequest' : 'fetch'}`, () => {
node-i18next-http-backend-1.0.21+dfsg/test/backendConnector.load.spec.js-9-  let connector
##############################################
node-i18next-http-backend-1.0.21+dfsg/test/http.spec.js-8-
node-i18next-http-backend-1.0.21+dfsg/test/http.spec.js:9:describe(`http backend using ${typeof XMLHttpRequest === 'function' ? 'XMLHttpRequest' : 'fetch'}`, () => {
node-i18next-http-backend-1.0.21+dfsg/test/http.spec.js-10-  before(server)
##############################################
node-i18next-http-backend-1.0.21+dfsg/test/request.spec.js-4-
node-i18next-http-backend-1.0.21+dfsg/test/request.spec.js:5:describe(`request ${typeof XMLHttpRequest === 'function' ? 'XMLHttpRequest' : 'fetch'}`, () => {
node-i18next-http-backend-1.0.21+dfsg/test/request.spec.js-6-  before(server)
##############################################
node-i18next-xhr-backend-3.2.2+ds/debian/patches/remove-rollup-plugin-terser.patch-17--    input,
node-i18next-xhr-backend-3.2.2+ds/debian/patches/remove-rollup-plugin-terser.patch:18:-    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-xhr-backend-3.2.2+ds/debian/patches/remove-rollup-plugin-terser.patch-19--    plugins: [
##############################################
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js-39-    input,
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js:40:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js-41-    plugins: [
##############################################
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js-47-    input,
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js:48:    output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
node-i18next-xhr-backend-3.2.2+ds/.pc/remove-rollup-plugin-terser.patch/rollup.config.js-49-    plugins: [
##############################################
node-i18next-xhr-backend-3.2.2+ds/rollup.config.js-38-    input,
node-i18next-xhr-backend-3.2.2+ds/rollup.config.js:39:    output: { format: 'umd', name, file: `dist/umd/${name}.js` },
node-i18next-xhr-backend-3.2.2+ds/rollup.config.js-40-    plugins: [