mediawiki/services/wikifeeds: main (log #971155)

sourcepatches

This run took 45 seconds.

$ date
--- stdout ---
Fri Mar 24 22:14:31 UTC 2023

--- end ---
$ git clone file:///srv/git/mediawiki-services-wikifeeds.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
6a15e2437f614811cbc41fcd3e2f7f5247a2179f refs/heads/master

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "ansi-regex": {
      "name": "ansi-regex",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091188,
          "name": "ansi-regex",
          "dependency": "ansi-regex",
          "title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
          "url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
          "severity": "high",
          "cwe": [
            "CWE-697",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=3.0.0 <3.0.1"
        },
        {
          "source": 1091189,
          "name": "ansi-regex",
          "dependency": "ansi-regex",
          "title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
          "url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
          "severity": "high",
          "cwe": [
            "CWE-697",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=4.0.0 <4.1.1"
        },
        {
          "source": 1091190,
          "name": "ansi-regex",
          "dependency": "ansi-regex",
          "title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
          "url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
          "severity": "high",
          "cwe": [
            "CWE-697",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=5.0.0 <5.0.1"
        }
      ],
      "effects": [],
      "range": "3.0.0 || 4.0.0 - 4.1.0 || 5.0.0",
      "nodes": [
        "node_modules/ansi-regex",
        "node_modules/eslint/node_modules/ansi-regex",
        "node_modules/table/node_modules/ansi-regex",
        "node_modules/wide-align/node_modules/ansi-regex"
      ],
      "fixAvailable": true
    },
    "body-parser": {
      "name": "body-parser",
      "severity": "high",
      "isDirect": true,
      "via": [
        "qs"
      ],
      "effects": [],
      "range": "1.19.0",
      "nodes": [
        "node_modules/body-parser"
      ],
      "fixAvailable": true
    },
    "express": {
      "name": "express",
      "severity": "high",
      "isDirect": true,
      "via": [
        "body-parser",
        "qs"
      ],
      "effects": [],
      "range": "4.17.0 - 4.17.1 || 5.0.0-alpha.1 - 5.0.0-alpha.8",
      "nodes": [
        "node_modules/express"
      ],
      "fixAvailable": true
    },
    "flat": {
      "name": "flat",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1089152,
          "name": "flat",
          "dependency": "flat",
          "title": "flat vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<5.0.1"
        }
      ],
      "effects": [
        "yargs-unparser"
      ],
      "range": "<5.0.1",
      "nodes": [
        "node_modules/flat"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.2.0",
        "isSemVerMajor": true
      }
    },
    "hosted-git-info": {
      "name": "hosted-git-info",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089809,
          "name": "hosted-git-info",
          "dependency": "hosted-git-info",
          "title": "Regular Expression Denial of Service in hosted-git-info",
          "url": "https://github.com/advisories/GHSA-43f8-2h32-f4cj",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<2.8.9"
        }
      ],
      "effects": [],
      "range": "<2.8.9",
      "nodes": [
        "node_modules/hosted-git-info"
      ],
      "fixAvailable": true
    },
    "ini": {
      "name": "ini",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091252,
          "name": "ini",
          "dependency": "ini",
          "title": "ini before 1.3.6 vulnerable to Prototype Pollution via ini.parse",
          "url": "https://github.com/advisories/GHSA-qqgx-2p2h-9c37",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"
          },
          "range": "<1.3.6"
        }
      ],
      "effects": [],
      "range": "<1.3.6",
      "nodes": [
        "node_modules/gc-stats/node_modules/ini"
      ],
      "fixAvailable": true
    },
    "json-schema": {
      "name": "json-schema",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1091472,
          "name": "json-schema",
          "dependency": "json-schema",
          "title": "json-schema is vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-896r-f27r-55mw",
          "severity": "critical",
          "cwe": [
            "CWE-915",
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<0.4.0"
        }
      ],
      "effects": [
        "jsprim"
      ],
      "range": "<0.4.0",
      "nodes": [
        "node_modules/json-schema"
      ],
      "fixAvailable": true
    },
    "jsprim": {
      "name": "jsprim",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "json-schema"
      ],
      "effects": [],
      "range": "0.3.0 - 1.4.1 || 2.0.0 - 2.0.1",
      "nodes": [
        "node_modules/jsprim"
      ],
      "fixAvailable": true
    },
    "lodash": {
      "name": "lodash",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1089058,
          "name": "lodash",
          "dependency": "lodash",
          "title": "Regular Expression Denial of Service (ReDoS) in lodash",
          "url": "https://github.com/advisories/GHSA-29mw-wpgm-hmr9",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.17.21"
        },
        {
          "source": 1091185,
          "name": "lodash",
          "dependency": "lodash",
          "title": "Command Injection in lodash",
          "url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
          "severity": "high",
          "cwe": [
            "CWE-77",
            "CWE-94"
          ],
          "cvss": {
            "score": 7.2,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<4.17.21"
        }
      ],
      "effects": [],
      "range": "<=4.17.20",
      "nodes": [
        "node_modules/lodash"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091174,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/gc-stats/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.2.0",
        "isSemVerMajor": true
      }
    },
    "minimist": {
      "name": "minimist",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1090097,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.6,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"
          },
          "range": ">=1.0.0 <1.2.3"
        },
        {
          "source": 1090098,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.6,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"
          },
          "range": "<0.2.1"
        },
        {
          "source": 1091172,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<0.2.4"
        },
        {
          "source": 1091173,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": ">=1.0.0 <1.2.6"
        }
      ],
      "effects": [
        "mkdirp"
      ],
      "range": "<=0.2.3 || 1.0.0 - 1.2.5",
      "nodes": [
        "node_modules/gc-stats/node_modules/minimist",
        "node_modules/gc-stats/node_modules/rc/node_modules/minimist",
        "node_modules/minimist"
      ],
      "fixAvailable": true
    },
    "mkdirp": {
      "name": "mkdirp",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "minimist"
      ],
      "effects": [],
      "range": "0.4.1 - 0.5.1",
      "nodes": [
        "node_modules/gc-stats/node_modules/mkdirp"
      ],
      "fixAvailable": true
    },
    "mocha": {
      "name": "mocha",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "minimatch",
        "yargs-unparser"
      ],
      "effects": [],
      "range": "5.1.0 - 9.2.1",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.2.0",
        "isSemVerMajor": true
      }
    },
    "moment": {
      "name": "moment",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091430,
          "name": "moment",
          "dependency": "moment",
          "title": "Path Traversal: 'dir/../../filename' in moment.locale",
          "url": "https://github.com/advisories/GHSA-8hfj-j24r-96c4",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-27"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<2.29.2"
        },
        {
          "source": 1091441,
          "name": "moment",
          "dependency": "moment",
          "title": "Moment.js vulnerable to Inefficient Regular Expression Complexity",
          "url": "https://github.com/advisories/GHSA-wc69-rhjr-hc9g",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=2.18.0 <2.29.4"
        }
      ],
      "effects": [],
      "range": "<=2.29.3",
      "nodes": [
        "node_modules/moment"
      ],
      "fixAvailable": true
    },
    "ms": {
      "name": "ms",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1088818,
          "name": "ms",
          "dependency": "ms",
          "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability",
          "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<2.0.0"
        }
      ],
      "effects": [],
      "range": "<2.0.0",
      "nodes": [
        "node_modules/kad/node_modules/ms"
      ],
      "fixAvailable": true
    },
    "msgpack5": {
      "name": "msgpack5",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089202,
          "name": "msgpack5",
          "dependency": "msgpack5",
          "title": "Prototype poisoning",
          "url": "https://github.com/advisories/GHSA-gmjw-49p4-pcfm",
          "severity": "moderate",
          "cwe": [
            "CWE-915",
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:H"
          },
          "range": "<3.6.1"
        }
      ],
      "effects": [],
      "range": "<3.6.1",
      "nodes": [
        "node_modules/msgpack5"
      ],
      "fixAvailable": true
    },
    "path-parse": {
      "name": "path-parse",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089681,
          "name": "path-parse",
          "dependency": "path-parse",
          "title": "Regular Expression Denial of Service in path-parse",
          "url": "https://github.com/advisories/GHSA-hj48-42vr-x3v9",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<1.0.7"
        }
      ],
      "effects": [],
      "range": "<1.0.7",
      "nodes": [
        "node_modules/path-parse"
      ],
      "fixAvailable": true
    },
    "preq": {
      "name": "preq",
      "severity": "high",
      "isDirect": true,
      "via": [
        "request",
        "requestretry"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/preq"
      ],
      "fixAvailable": false
    },
    "qs": {
      "name": "qs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090135,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=6.5.0 <6.5.3"
        },
        {
          "source": 1090137,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=6.7.0 <6.7.3"
        }
      ],
      "effects": [
        "body-parser",
        "express"
      ],
      "range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2",
      "nodes": [
        "node_modules/qs",
        "node_modules/request/node_modules/qs"
      ],
      "fixAvailable": true
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1091459,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        }
      ],
      "effects": [
        "preq"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "requestretry": {
      "name": "requestretry",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090420,
          "name": "requestretry",
          "dependency": "requestretry",
          "title": "Cookie exposure in requestretry",
          "url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45",
          "severity": "high",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<7.0.0"
        }
      ],
      "effects": [
        "preq"
      ],
      "range": "<7.0.0",
      "nodes": [
        "node_modules/requestretry"
      ],
      "fixAvailable": false
    },
    "striptags": {
      "name": "striptags",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1089720,
          "name": "striptags",
          "dependency": "striptags",
          "title": "Passing in a non-string 'html' argument can lead to unsanitized output",
          "url": "https://github.com/advisories/GHSA-qxg5-2qff-p49r",
          "severity": "moderate",
          "cwe": [
            "CWE-79",
            "CWE-241",
            "CWE-843"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"
          },
          "range": "<3.2.0"
        }
      ],
      "effects": [],
      "range": "<3.2.0",
      "nodes": [
        "node_modules/striptags"
      ],
      "fixAvailable": true
    },
    "swagger-ui-dist": {
      "name": "swagger-ui-dist",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1085394,
          "name": "swagger-ui-dist",
          "dependency": "swagger-ui-dist",
          "title": "Server side request forgery in SwaggerUI",
          "url": "https://github.com/advisories/GHSA-qrmm-w75w-3wpx",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<4.1.3"
        },
        {
          "source": 1088759,
          "name": "swagger-ui-dist",
          "dependency": "swagger-ui-dist",
          "title": "Spoofing attack in swagger-ui-dist",
          "url": "https://github.com/advisories/GHSA-6c9x-mj3g-h47x",
          "severity": "moderate",
          "cwe": [
            "CWE-1021"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [],
      "range": "<=4.1.2",
      "nodes": [
        "node_modules/swagger-ui-dist"
      ],
      "fixAvailable": {
        "name": "swagger-ui-dist",
        "version": "5.0.0-alpha.4",
        "isSemVerMajor": true
      }
    },
    "tar": {
      "name": "tar",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089684,
          "name": "tar",
          "dependency": "tar",
          "title": "Arbitrary File Creation/Overwrite due to insufficient absolute path sanitization",
          "url": "https://github.com/advisories/GHSA-3jfq-g458-7qm9",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
          },
          "range": ">=4.0.0 <4.4.14"
        },
        {
          "source": 1091313,
          "name": "tar",
          "dependency": "tar",
          "title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning",
          "url": "https://github.com/advisories/GHSA-r628-mhmh-qjhw",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-23",
            "CWE-59"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
          },
          "range": ">=4.0.0 <4.4.15"
        },
        {
          "source": 1091343,
          "name": "tar",
          "dependency": "tar",
          "title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links",
          "url": "https://github.com/advisories/GHSA-9r2w-394v-53qc",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-59"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
          },
          "range": "<4.4.16"
        },
        {
          "source": 1091346,
          "name": "tar",
          "dependency": "tar",
          "title": "Arbitrary File Creation/Overwrite on Windows via insufficient relative path sanitization",
          "url": "https://github.com/advisories/GHSA-5955-9wpr-37jh",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
          },
          "range": "<4.4.18"
        },
        {
          "source": 1091349,
          "name": "tar",
          "dependency": "tar",
          "title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links",
          "url": "https://github.com/advisories/GHSA-qq89-hq3f-393p",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-59"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
          },
          "range": "<4.4.18"
        }
      ],
      "effects": [],
      "range": "<=4.4.17",
      "nodes": [
        "node_modules/gc-stats/node_modules/tar"
      ],
      "fixAvailable": true
    },
    "yargs-unparser": {
      "name": "yargs-unparser",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "flat"
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=1.6.3",
      "nodes": [
        "node_modules/yargs-unparser"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.2.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 7,
      "high": 11,
      "critical": 7,
      "total": 25
    },
    "dependencies": {
      "prod": 184,
      "dev": 296,
      "optional": 79,
      "peer": 0,
      "peerOptional": 0,
      "total": 558
    }
  }
}

--- end ---
Upgrading n:eslint-config-wikimedia from 0.20.0 -> 0.24.0
$ /usr/bin/npm install
--- stderr ---
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile 
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile 
npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated mkdirp@0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained.
npm WARN deprecated flat@4.1.0: Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.
npm WARN deprecated debug@4.2.0: 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)
npm WARN deprecated debug@4.2.0: 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)
npm WARN deprecated debug@3.2.6: 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)
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 536 packages, and audited 603 packages in 26s

52 packages are looking for funding
  run `npm fund` for details

26 vulnerabilities (9 moderate, 10 high, 7 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/eslint . --fix
--- stdout ---

/src/repo/.eslintrc.json
  1:1  warning  Use the global form of 'use strict'  strict

/src/repo/app.js
   20:0  warning  The type 'bluebird' is undefined     jsdoc/no-undefined-types
  138:0  warning  The type 'Application' is undefined  jsdoc/no-undefined-types
  140:0  warning  The type 'bluebird' is undefined     jsdoc/no-undefined-types
  192:0  warning  The type 'Application' is undefined  jsdoc/no-undefined-types
  193:0  warning  The type 'bluebird' is undefined     jsdoc/no-undefined-types
  231:0  warning  The type 'bluebird' is undefined     jsdoc/no-undefined-types

/src/repo/config.dev.yaml
  22:1  error  Empty mapping values are forbidden  yml/no-empty-mapping-value

/src/repo/config.yaml
  22:1  error  Empty mapping values are forbidden  yml/no-empty-mapping-value

/src/repo/dist/config.yaml
  20:1  error  Empty mapping values are forbidden  yml/no-empty-mapping-value

/src/repo/etc/news-sites.js
   4:1  warning  At most one access-control tag may be present on a jsdoc block  jsdoc/check-access
   5:0  warning  @private should not have a bracketed type in "jsdoc" mode       jsdoc/valid-types
   6:0  warning  @private should not have a bracketed type in "jsdoc" mode       jsdoc/valid-types
  50:0  warning  Syntax error in type: {Object.<string, NewsSite>}               jsdoc/valid-types

/src/repo/lib/announcements.js
  95:1  warning  This line has a length of 118. Maximum allowed is 100  max-len

/src/repo/lib/api-util.js
  132:0  warning  The type 'Application' is undefined  jsdoc/no-undefined-types

/src/repo/lib/featured.js
  138:12  warning  'si' is already declared in the upper scope on line 12 column 7  no-shadow

/src/repo/lib/imageinfo.js
   30:0   warning  The type 'Bool' is undefined                                      jsdoc/no-undefined-types
   53:0   error    Should be no multiple asterisks on end lines                      jsdoc/no-multi-asterisks
   53:0   warning  Expected JSDoc block to be aligned                                jsdoc/check-alignment
  202:43  warning  Array.prototype.map() expects a return value from arrow function  array-callback-return
  279:0   warning  Syntax error in type: [type]                                      jsdoc/valid-types
  281:0   warning  Syntax error in type: [type]                                      jsdoc/valid-types

/src/repo/lib/most-read.js
   56:1   warning  At most one access-control tag may be present on a jsdoc block          jsdoc/check-access
   57:0   warning  @public should not have a bracketed type in "jsdoc" mode                jsdoc/valid-types
   58:0   warning  @public should not have a bracketed type in "jsdoc" mode                jsdoc/valid-types
  124:19  warning  'pageviews' is already declared in the upper scope on line 10 column 7  no-shadow
  140:25  warning  Array.prototype.map() expects a return value from arrow function        array-callback-return
  189:1   warning  This line has a length of 113. Maximum allowed is 100                   max-len

/src/repo/lib/news.js
  15:0   warning  The type 'Document' is undefined                                      jsdoc/no-undefined-types
  73:12  warning  'si' is already declared in the upper scope on line 8 column 7        no-shadow
  97:20  warning  'result' is already declared in the upper scope on line 81 column 19  no-shadow

/src/repo/lib/on-this-day.js
   34:0  warning  The type 'Integer' is undefined        jsdoc/no-undefined-types
   93:0  warning  The type 'Request' is undefined        jsdoc/no-undefined-types
  109:0  warning  The type 'Request' is undefined        jsdoc/no-undefined-types
  122:0  warning  The type 'AnchorElement' is undefined  jsdoc/no-undefined-types
  123:0  warning  The type 'Integer' is undefined        jsdoc/no-undefined-types
  141:0  warning  The type 'AnchorElement' is undefined  jsdoc/no-undefined-types
  161:0  warning  The type 'AnchorElement' is undefined  jsdoc/no-undefined-types
  184:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  231:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  247:0  warning  The type 'Integer' is undefined        jsdoc/no-undefined-types
  286:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  297:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  298:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  319:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  337:0  warning  The type 'ListElement' is undefined    jsdoc/no-undefined-types
  356:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  388:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  402:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  416:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  430:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  444:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  459:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  460:0  warning  The type 'Document' is undefined       jsdoc/no-undefined-types
  554:0  warning  The type 'Request' is undefined        jsdoc/no-undefined-types
  598:0  warning  The type 'Request' is undefined        jsdoc/no-undefined-types
  599:0  warning  The type 'Response' is undefined       jsdoc/no-undefined-types

/src/repo/lib/pageviews.js
  36:1  warning  At most one access-control tag may be present on a jsdoc block  jsdoc/check-access
  37:0  warning  @private should not have a bracketed type in "jsdoc" mode       jsdoc/valid-types
  38:0  warning  @private should not have a bracketed type in "jsdoc" mode       jsdoc/valid-types
  39:0  warning  @private should not have a bracketed type in "jsdoc" mode       jsdoc/valid-types
  53:0  warning  The type 'Platform' is undefined                                jsdoc/no-undefined-types
  54:0  warning  The type 'Agent' is undefined                                   jsdoc/no-undefined-types
  56:0  warning  The type 'Granularity' is undefined                             jsdoc/no-undefined-types
  71:0  warning  The type 'Platform' is undefined                                jsdoc/no-undefined-types

/src/repo/lib/random.js
  39:9  warning  'score' is already declared in the upper scope on line 31 column 10  no-shadow
  56:0  warning  Missing JSDoc @param "scoredResults" type                            jsdoc/require-param-type

/src/repo/lib/siteinfo.js
  3:1  warning  Use the global form of 'use strict'  strict

/src/repo/lib/util.js
   46:0   warning  The type 'Request' is undefined      jsdoc/no-undefined-types
  104:0   warning  The type 'Application' is undefined  jsdoc/no-undefined-types
  142:0   warning  The type 'Application' is undefined  jsdoc/no-undefined-types
  222:0   warning  The type 'Router' is undefined       jsdoc/no-undefined-types
  375:0   warning  The type 'Application' is undefined  jsdoc/no-undefined-types
  447:34  warning  Default parameters should be last    default-param-last

/src/repo/package-lock.json
  1:1  warning  Use the global form of 'use strict'  strict

/src/repo/package.json
  1:1  warning  Use the global form of 'use strict'  strict

/src/repo/routes/featured-image.js
  28:12  warning  'si' is already declared in the upper scope on line 7 column 7  no-shadow

/src/repo/scripts/check-featured-feed.js
    1:1   error    ES2023 Hashbang comments are forbidden                                 es-x/no-hashbang
    8:49  warning  "rss-parser" is not found                                              node/no-missing-require
    9:28  warning  "underscore" is not found                                              node/no-missing-require
   51:35  warning  'feature' is already declared in the upper scope on line 214 column 7  no-shadow
   84:44  warning  'feature' is already declared in the upper scope on line 214 column 7  no-shadow
  109:34  warning  'feature' is already declared in the upper scope on line 214 column 7  no-shadow
  152:30  warning  'feature' is already declared in the upper scope on line 214 column 7  no-shadow
  219:5   warning  Don't use process.exit(); throw an error instead                       no-process-exit

/src/repo/server.js
  1:1  error  ES2023 Hashbang comments are forbidden  es-x/no-hashbang

/src/repo/spec.yaml
   228:1  warning  This line has a length of 154. Maximum allowed is 100  max-len
   232:1  warning  This line has a length of 141. Maximum allowed is 100  max-len
   866:1  warning  This line has a length of 117. Maximum allowed is 100  max-len
   871:1  warning  This line has a length of 116. Maximum allowed is 100  max-len
   876:1  warning  This line has a length of 116. Maximum allowed is 100  max-len
   881:1  warning  This line has a length of 116. Maximum allowed is 100  max-len
   886:1  warning  This line has a length of 116. Maximum allowed is 100  max-len
   938:1  warning  This line has a length of 108. Maximum allowed is 100  max-len
   955:1  warning  This line has a length of 126. Maximum allowed is 100  max-len
   956:1  warning  This line has a length of 107. Maximum allowed is 100  max-len
   962:1  warning  This line has a length of 132. Maximum allowed is 100  max-len
   969:1  warning  This line has a length of 127. Maximum allowed is 100  max-len
   971:1  warning  This line has a length of 108. Maximum allowed is 100  max-len
   972:1  warning  This line has a length of 113. Maximum allowed is 100  max-len
   973:1  warning  This line has a length of 121. Maximum allowed is 100  max-len
   977:1  warning  This line has a length of 121. Maximum allowed is 100  max-len
   981:1  warning  This line has a length of 113. Maximum allowed is 100  max-len
   985:1  warning  This line has a length of 111. Maximum allowed is 100  max-len
   991:1  warning  This line has a length of 124. Maximum allowed is 100  max-len
   995:1  warning  This line has a length of 281. Maximum allowed is 100  max-len
  1081:1  warning  This line has a length of 144. Maximum allowed is 100  max-len

✖ 108 problems (6 errors, 102 warnings)
  1 error and 1 warning potentially fixable with the `--fix` option.


--- end ---
$ ./node_modules/.bin/eslint . -f json
--- stdout ---
[{"filePath":"/src/repo/.eslintrc.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":39,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"root\": true,\n\t\"extends\": [\n\t\t\"wikimedia/server\",\n\t\t\"wikimedia/jsdoc\"\n\t],\n\t\"rules\": {\n\t\t\"camelcase\": [\n\t\t\t\"error\",\n\t\t\t{\n\t\t\t\t\"properties\": \"never\"\n\t\t\t}\n\t\t],\n\t\t\"indent\": [\n\t\t\t\"off\",\n\t\t\t4\n\t\t],\n\t\t\"no-unused-vars\": [\n\t\t\t\"error\",\n\t\t\t{\n\t\t\t\t\"args\": \"none\"\n\t\t\t}\n\t\t],\n\t\t\"space-in-parens\": [\n\t\t\t\"error\",\n\t\t\t\"never\"\n\t\t],\n\t\t\"computed-property-spacing\": \"off\",\n\t\t\"no-multi-spaces\": \"off\",\n\t\t\"array-bracket-spacing\": \"off\",\n\t\t\"array-callback-return\": \"warn\",\n\t\t\"default-param-last\": \"warn\",\n\t\t\"no-process-exit\": \"warn\",\n\t\t\"no-shadow\": \"warn\",\n\t\t\"node/no-missing-require\": \"warn\",\n\t\t\"strict\": \"warn\"\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/app.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":20,"column":null,"nodeType":"Block","endLine":20,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":138,"column":null,"nodeType":"Block","endLine":138,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":140,"column":null,"nodeType":"Block","endLine":140,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":192,"column":null,"nodeType":"Block","endLine":192,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":193,"column":null,"nodeType":"Block","endLine":193,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":231,"column":null,"nodeType":"Block","endLine":231,"endColumn":null}],"suppressedMessages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 107. Maximum allowed is 100.","line":37,"column":1,"nodeType":"Program","messageId":"max","endLine":37,"endColumn":108,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst http = require('http');\nconst BBPromise = require('bluebird');\nconst express = require('express');\nconst compression = require('compression');\nconst bodyParser = require('body-parser');\nconst fs = BBPromise.promisifyAll(require('fs'));\nconst sUtil = require('./lib/util');\nconst apiUtil = require('./lib/api-util');\nconst packageInfo = require('./package.json');\nconst yaml = require('js-yaml');\nconst addShutdown = require('http-shutdown');\nconst path = require('path');\n\n/**\n * Creates an express app and initialises it\n *\n * @param {Object} options the options to initialise the app with\n * @return {bluebird} the promise resolving to the app object\n */\nfunction initApp(options) {\n\n    // the main application object\n    const app = express();\n\n    // get the options and make them available in the app\n    app.logger = options.logger;    // the logging device\n    app.metrics = options.metrics;  // the metrics\n    app.conf = options.config;      // this app's config options\n    app.info = packageInfo;         // this app's package info\n\n    // ensure some sane defaults\n    app.conf.port = app.conf.port || 8888;\n    app.conf.interface = app.conf.interface || '0.0.0.0';\n    // eslint-disable-next-line max-len\n    app.conf.compression_level = app.conf.compression_level === undefined ? 3 : app.conf.compression_level;\n    app.conf.cors = app.conf.cors === undefined ? '*' : app.conf.cors;\n    if (app.conf.csp === undefined) {\n        app.conf.csp = \"default-src 'self'; object-src 'none'; media-src *; img-src *; style-src *; frame-ancestors 'self'\";\n    }\n\n    // set outgoing proxy\n    if (app.conf.proxy) {\n        process.env.HTTP_PROXY = app.conf.proxy;\n        // if there is a list of domains which should\n        // not be proxied, set it\n        if (app.conf.no_proxy_list) {\n            if (Array.isArray(app.conf.no_proxy_list)) {\n                process.env.NO_PROXY = app.conf.no_proxy_list.join(',');\n            } else {\n                process.env.NO_PROXY = app.conf.no_proxy_list;\n            }\n        }\n    }\n\n    // set up header allow listing for logging\n    if (!app.conf.log_header_allowlist) {\n        app.conf.log_header_allowlist = [\n            'cache-control', 'content-type', 'content-length', 'if-match',\n            'user-agent', 'x-request-id'\n        ];\n    }\n    app.conf.log_header_allowlist = new RegExp(`^(?:${app.conf.log_header_allowlist.map((item) => {\n        return item.trim();\n    }).join('|')})$`, 'i');\n\n    // set up the request templates for the APIs\n    apiUtil.setupApiTemplates(app);\n\n    // set up the spec\n    if (!app.conf.spec) {\n        app.conf.spec = `${__dirname}/spec.yaml`;\n    }\n    if (app.conf.spec.constructor !== Object) {\n        try {\n            app.conf.spec = yaml.safeLoad(fs.readFileSync(app.conf.spec));\n        } catch (e) {\n            app.logger.log('warn/spec', `Could not load the spec: ${e}`);\n            app.conf.spec = {};\n        }\n    }\n    if (!app.conf.spec.swagger) {\n        app.conf.spec.swagger = '2.0';\n    }\n    if (!app.conf.spec.info) {\n        app.conf.spec.info = {\n            version: app.info.version,\n            title: app.info.name,\n            description: app.info.description\n        };\n    }\n    app.conf.spec.info.version = app.info.version;\n    if (!app.conf.spec.paths) {\n        app.conf.spec.paths = {};\n    }\n\n    // set the CORS and CSP headers\n    app.all('*', (req, res, next) => {\n        if (app.conf.cors !== false) {\n            res.header('access-control-allow-origin', app.conf.cors);\n            res.header('access-control-allow-headers', 'accept, x-requested-with, content-type');\n            res.header('access-control-expose-headers', 'etag');\n        }\n        if (app.conf.csp !== false) {\n            res.header('x-xss-protection', '1; mode=block');\n            res.header('x-content-type-options', 'nosniff');\n            res.header('x-frame-options', 'SAMEORIGIN');\n            res.header('content-security-policy', app.conf.csp);\n            res.header('x-content-security-policy', app.conf.csp);\n            res.header('x-webkit-csp', app.conf.csp);\n        }\n        sUtil.initAndLogRequest(req, app);\n        next();\n    });\n\n    // set up the user agent header string to use for requests\n    app.conf.user_agent = app.conf.user_agent || app.info.name;\n\n    // disable the X-Powered-By header\n    app.set('x-powered-by', false);\n    // disable the ETag header - users should provide them!\n    app.set('etag', false);\n    // enable compression\n    app.use(compression({ level: app.conf.compression_level }));\n    // use the JSON body parser\n    app.use(bodyParser.json({ limit: app.conf.max_body_size || '100kb' }));\n    // use the application/x-www-form-urlencoded parser\n    app.use(bodyParser.urlencoded({ extended: true }));\n\n    return BBPromise.resolve(app);\n\n}\n\n/**\n * Loads all routes declared in routes/ into the app\n *\n * @param {Application} app the application object to load routes into\n * @param {string} dir routes folder\n * @return {bluebird} a promise resolving to the app object\n */\nfunction loadRoutes(app, dir) {\n\n    // recursively load routes from .js files under routes/\n    return fs.readdirAsync(dir).map((fname) => {\n        return BBPromise.try(() => {\n            const resolvedPath = path.resolve(dir, fname);\n            const isDirectory = fs.statSync(resolvedPath).isDirectory();\n            if (isDirectory) {\n                loadRoutes(app, resolvedPath);\n            } else if (/\\.js$/.test(fname)) {\n                // import the route file\n                const route = require(`${dir}/${fname}`);\n                return route(app);\n            }\n        }).then((route) => {\n            if (route === undefined) {\n                return undefined;\n            }\n            // check that the route exports the object we need\n            if (route.constructor !== Object || !route.path || !route.router ||\n                !(route.api_version || route.skip_domain)) {\n                throw new TypeError(`routes/${fname} does not export the correct object!`);\n            }\n            // normalise the path to be used as the mount point\n            if (route.path[0] !== '/') {\n                route.path = `/${route.path}`;\n            }\n            if (route.path[route.path.length - 1] !== '/') {\n                route.path = `${route.path}/`;\n            }\n            if (!route.skip_domain) {\n                route.path = `/:domain/v${route.api_version}${route.path}`;\n            }\n            // wrap the route handlers with Promise.try() blocks\n            sUtil.wrapRouteHandlers(route, app);\n            // all good, use that route\n            app.use(route.path, route.router);\n        });\n    }).then(() => {\n        // catch errors\n        sUtil.setErrorHandler(app);\n        // route loading is now complete, return the app object\n        return BBPromise.resolve(app);\n    });\n\n}\n\n/**\n * Creates and start the service's web server\n *\n * @param {Application} app the app object to use in the service\n * @return {bluebird} a promise creating the web server\n */\nfunction createServer(app) {\n\n    // return a promise which creates an HTTP server,\n    // attaches the app to it, and starts accepting\n    // incoming client requests\n    let server;\n    return new BBPromise((resolve) => {\n        server = http.createServer(app).listen(\n            app.conf.port,\n            app.conf.interface,\n            resolve\n        );\n        server = addShutdown(server);\n    }).then(() => {\n        app.logger.log('info',\n            `Worker ${process.pid} listening on ${app.conf.interface || '*'}:${app.conf.port}`);\n\n        // Don't delay incomplete packets for 40ms (Linux default) on\n        // pipelined HTTP sockets. We write in large chunks or buffers, so\n        // lack of coalescing should not be an issue here.\n        server.on('connection', (socket) => {\n            socket.setNoDelay(true);\n        });\n\n        return server;\n    });\n\n}\n\n/**\n * The service's entry point. It takes over the configuration\n * options and the logger- and metrics-reporting objects from\n * service-runner and starts an HTTP server, attaching the application\n * object to it.\n *\n * @param {Object} options the options to initialise the app with\n * @return {bluebird} HTTP server\n */\nmodule.exports = (options) => {\n\n    return initApp(options)\n    .then((app) => loadRoutes(app, `${__dirname}/routes`))\n    .then((app) => {\n        // serve static files from static/\n        app.use('/static', express.static(`${__dirname}/static`));\n        return app;\n    }).then(createServer);\n\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.dev.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":22,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":22,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: 0\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n  level: trace\n  streams:\n    - type: stdout # log to stdout\n      named_levels: true # emit log level name instead of index. e.g. INFO vs 30\n#  # Use gelf-stream -> logstash\n#  - type: gelf\n#    host: logstash1003.eqiad.wmnet\n#    port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n  - name: wikifeeds\n    # a relative path or the name of an npm package, if different from name\n    module: ./app.js\n    # optionally, a version constraint of the npm package\n    # version: ^0.4.0\n    # per-service config\n    conf:\n      port: 8889\n      # interface: localhost # uncomment to only listen on localhost\n      # more per-service config settings\n      # the location of the spec, defaults to spec.yaml if not specified\n      # spec: ./spec.template.yaml\n      # allow cross-domain requests to the API (default '*')\n      cors: \"*\"\n      # to disable use:\n      # cors: false\n      # to restrict to a particular domain, use:\n      # cors: restricted.domain.org\n      # content for the CSP headers\n      # csp: false  # uncomment this line to disable sending them\n      # URL of the outbound proxy to use (complete with protocol)\n      # proxy: http://my.proxy.org:8080\n      # the list of domains for which not to use the proxy defined above\n      # no_proxy_list:\n      #   - domain1.com\n      #   - domain2.org\n      # the list of incoming request headers that can be logged; if left empty,\n      # the following headers are allowed: cache-control, content-length,\n      # content-type, if-match, user-agent, x-request-id\n      # log_header_allowlist:\n      #   - cache-control\n      #   - content-length\n      #   - content-type\n      #   - if-match\n      #   - user-agent\n      #   - x-request-id\n      # the user agent to use when issuing requests\n      user_agent: WMF Wikifeeds Service dev\n      # # Max JSON POST body size limit.\n      # max_body_size: 100kb\n      # the template used for contacting the MW API\n      mwapi_req:\n        method: post\n        uri: https://{{domain}}/w/api.php\n        headers:\n          user-agent: \"{{user-agent}}\"\n          accept-language: \"{{accept-language}}\"\n        body: \"{{ default(request.query, {}) }}\"\n      # the template used for contacting RESTBase\n      restbase_req:\n        method: \"{{request.method}}\"\n        uri: https://{{domain}}/api/rest_v1/{+path}\n        query: \"{{ default(request.query, {}) }}\"\n        headers: \"{{request.headers}}\"\n        body: \"{{request.body}}\"\n      # the template used for requesting a page from a MediaWiki appserver\n      mw_req:\n        method: get\n        uri: https://{{domain}}/w/index.php\n        query:\n          title: \"{{request.params.title}}\"\n        headers:\n          user-agent: \"{{user-agent}}\"\n          accept-language: \"{{accept-language}}\"\n      # whether to print extra debug info\n      debug: true\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.prod.yaml","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":22,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":22,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: 0\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n  level: trace\n  streams:\n    - type: stdout # log to stdout\n      named_levels: true # emit log level name instead of index. e.g. INFO vs 30\n#  # Use gelf-stream -> logstash\n#  - type: gelf\n#    host: logstash1003.eqiad.wmnet\n#    port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n  - name: wikifeeds\n    # a relative path or the name of an npm package, if different from name\n    module: ./app.js\n    # optionally, a version constraint of the npm package\n    # version: ^0.4.0\n    # per-service config\n    conf:\n      port: 8889\n      # interface: localhost # uncomment to only listen on localhost\n      # more per-service config settings\n      # the location of the spec, defaults to spec.yaml if not specified\n      # spec: ./spec.template.yaml\n      # allow cross-domain requests to the API (default '*')\n      cors: \"*\"\n      # to disable use:\n      # cors: false\n      # to restrict to a particular domain, use:\n      # cors: restricted.domain.org\n      # content for the CSP headers\n      # csp: false  # uncomment this line to disable sending them\n      # URL of the outbound proxy to use (complete with protocol)\n      # proxy: http://my.proxy.org:8080\n      # the list of domains for which not to use the proxy defined above\n      # no_proxy_list:\n      #   - domain1.com\n      #   - domain2.org\n      # the list of incoming request headers that can be logged; if left empty,\n      # the following headers are allowed: cache-control, content-length,\n      # content-type, if-match, user-agent, x-request-id\n      # log_header_allowlist:\n      #   - cache-control\n      #   - content-length\n      #   - content-type\n      #   - if-match\n      #   - user-agent\n      #   - x-request-id\n      # the user agent to use when issuing requests\n      user_agent: WMF Wikifeeds Service dev\n      # # Max JSON POST body size limit.\n      # max_body_size: 100kb\n      # the template used for contacting the MW API\n      mwapi_req:\n        method: post\n        uri: https://{{domain}}/w/api.php\n        headers:\n          user-agent: \"{{user-agent}}\"\n          accept-language: \"{{accept-language}}\"\n        body: \"{{ default(request.query, {}) }}\"\n      # the template used for contacting RESTBase\n      restbase_req:\n        method: \"{{request.method}}\"\n        uri: https://{{domain}}/api/rest_v1/{+path}\n        query: \"{{ default(request.query, {}) }}\"\n        headers: \"{{request.headers}}\"\n        body: \"{{request.body}}\"\n      # the template used for requesting a page from a MediaWiki appserver\n      mw_req:\n        method: get\n        uri: https://{{domain}}/w/index.php\n        query:\n          title: \"{{request.params.title}}\"\n        headers:\n          user-agent: \"{{user-agent}}\"\n          accept-language: \"{{accept-language}}\"\n      # whether to print extra debug info\n      debug: true\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/dist/config.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":20,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":20,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: ncpu\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n  level: info\n#  streams:\n#  # Use gelf-stream -> logstash\n#  - type: gelf\n#    host: logstash1003.eqiad.wmnet\n#    port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n  - name: mobileapps\n    # a relative path or the name of an npm package, if different from name\n    module: ./app.js\n    # optionally, a version constraint of the npm package\n    # version: ^0.4.0\n    # per-service config\n    conf:\n      port: 8888\n      # interface: localhost # uncomment to only listen on localhost\n      # more per-service config settings\n      # the location of the spec, defaults to spec.yaml if not specified\n      # spec: ./spec.yaml\n      # allow cross-domain requests to the API (default '*')\n      cors: \"*\"\n      # to disable use:\n      # cors: false\n      # to restrict to a particular domain, use:\n      # cors: restricted.domain.org\n      # content for the CSP headers\n      # csp: false  # uncomment this line to disable sending them\n      # URL of the outbound proxy to use (complete with protocol)\n      # proxy: http://my.proxy.org:8080\n      # the list of domains for which not to use the proxy defined above\n      # no_proxy_list:\n      #   - domain1.com\n      #   - domain2.org\n      # the list of incoming request headers that can be logged; if left empty,\n      # the following headers are allowed: cache-control, content-length,\n      # content-type, if-match, user-agent, x-request-id\n      # log_header_whitelist:\n      #   - cache-control\n      #   - content-length\n      #   - content-type\n      #   - if-match\n      #   - user-agent\n      #   - x-request-id\n      # the user agent to use when issuing requests\n      user_agent: WMF Mobile Content Service (k8s)\n      # the template used for contacting the MW API\n      mwapi_req:\n        method: post\n        uri: \"{env(MWAPI_URI,http://localhost/w/api.php)}\"\n        headers:\n          user-agent: \"{{user-agent}}\"\n        body: \"{{ default(request.query, {}) }}\"\n      # the template used for contacting RESTBase\n      restbase_req:\n        method: \"{{request.method}}\"\n        uri: \"{env(RESTBASE_URI,https://{{domain}}/api/rest_v1/{+path})}\"\n        query: \"{{ default(request.query, {}) }}\"\n        headers: \"{{request.headers}}\"\n        body: \"{{request.body}}\"\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/etc/announcements.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/etc/news-sites.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":4,"column":1,"nodeType":"Block","endLine":7,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":5,"column":null,"nodeType":"Block","endLine":5,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":6,"column":null,"nodeType":"Block","endLine":6,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: {Object.<string, NewsSite>}","line":50,"column":null,"nodeType":"Block","endLine":50,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* eslint no-underscore-dangle: 0 */\n'use strict';\n\n/**\n * @private {!string} _title\n * @private {!string} _headlineSelector\n */\nclass NewsSite {\n    /**\n     * @param {!string} title\n     * @param {!string} headlineSelectorAll\n     * @param {!string} topicAnchorSelector\n     */\n    constructor(title, headlineSelectorAll, topicAnchorSelector) {\n        this._title = title;\n        this._headlineSelectorAll = headlineSelectorAll;\n        this._topicAnchorSelector = topicAnchorSelector;\n    }\n\n    /**\n     * @return {!string} News source wiki portal or template title to scrape\n     *                   data from\n     */\n    get title() {\n        return this._title;\n    }\n\n    /**\n     * @return {!string} Query selector for news headline containers (not\n     *                   specific categories like deaths, sports, etc)\n     */\n    get headlineSelectorAll() {\n        return this._headlineSelectorAll;\n    }\n\n    /**\n     * @return {!string} Query selector for news headline subject links; this\n     *                   selector should be used on a headline element\n     */\n    get topicAnchorSelector() {\n        return this._topicAnchorSelector;\n    }\n}\n\nconst STORY_SELECTOR = '.itn-story';\nconst TOPIC_SELECTOR_LINK = 'a[rel=\"mw:WikiLink\"]:nth-of-type(1)';\nconst TOPIC_SELECTOR_BOLD_LINK = 'b:nth-of-type(1) a[rel=\"mw:WikiLink\"]';\n\n/**\n * @type {{Object.<string, NewsSite>}} A map of Wikipedia site languages codes to NewsSites\n */\nmodule.exports = {\n    test: new NewsSite('InTheNewsFormatExample', STORY_SELECTOR, TOPIC_SELECTOR_BOLD_LINK),\n    bs: new NewsSite('Šablon:Vijesti', STORY_SELECTOR, TOPIC_SELECTOR_BOLD_LINK),\n    da: new NewsSite('Skabelon:Forside_aktuelle_begivenheder', 'div > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    de: new NewsSite('Wikipedia:Hauptseite/Aktuelles', 'ul:not(.breadcrumb-nav-container) > li', TOPIC_SELECTOR_LINK),\n    el: new NewsSite('Πύλη:Τρέχοντα_γεγονότα/Επικεφαλίδες', 'li', TOPIC_SELECTOR_LINK),\n    en: new NewsSite('Template:In_the_news', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    es: new NewsSite('Portal:Actualidad', 'div:nth-of-type(2) > div > ul:nth-of-type(1) > li', TOPIC_SELECTOR_LINK),\n    fi: new NewsSite('Malline:Uutisissa', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    fr: new NewsSite('Modèle:Accueil_actualité', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    he: new NewsSite('תבנית:חדשות_ואקטואליה', 'section > ul > li', TOPIC_SELECTOR_LINK),\n    ko: new NewsSite('틀:새로_들어온_소식', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    no: new NewsSite('Mal:Aktuelt', 'ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    pl: new NewsSite('Szablon:Aktualności', 'ul:last-of-type > li', TOPIC_SELECTOR_BOLD_LINK),\n    pt: new NewsSite('Portal:Eventos_atuais', 'table:nth-of-type(2) div:not(.hlist) > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    ru: new NewsSite('Шаблон:Текущие_события_на_заглавной_странице', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    sco: new NewsSite('Template:In_the_news', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK), // see en\n    sv: new NewsSite('Portal:Huvudsida/Aktuella händelser', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n    vi: new NewsSite('Bản_mẫu:Tin_tức', 'ul > li', TOPIC_SELECTOR_BOLD_LINK)\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/announcements.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 118. Maximum allowed is 100.","line":95,"column":1,"nodeType":"Program","messageId":"max","endLine":95,"endColumn":119}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst config = require('../etc/announcements');\nconst HTTPError = require('./util').HTTPError;\nconst striptags = require('striptags');\n\nconst plaintextFromHTML = (html) => {\n    const htmlWithSpacesAndNewlines = html.replace(/&nbsp;/ig, ' ').replace(/<br\\/>/ig, '\\n');\n    return striptags(htmlWithSpacesAndNewlines);\n};\n\n/**\n * @param {!Object} campaign object, as seen in etc/announcements.js\n * @param {!string} os operating system, all caps ('IOS' or 'ANDROID')\n * @param {?string} id another string to distinguish different announcements, all caps\n * @return {!string} announcement id string\n */\nconst buildId = (campaign, os, id) => `${campaign.idPrefix}${os}${id}`;\n\nconst baseAnnouncement = (campaign) => {\n    return {\n        type: campaign.type,\n        start_time: campaign.startTime,\n        end_time: campaign.endTime,\n        domain: campaign.domain\n    };\n\n    // beta: true,\n    // logged_in: true,\n    // reading_list_sync_enabled: true,\n};\n\nconst getFundraisingAnnouncementText = (countryConfig) => `<b>Wikipedia is not for sale.</b><br/><i>A personal appeal from Jimmy Wales</i><br/><br/>Please don't scroll past this 1 minute read. Today, as 2022 draws to a close, I humbly ask you to reflect on the number of times you used the Wikipedia app this year, the value you got from it, and whether you're able to give ${countryConfig.currency}${countryConfig.coffee} back. The Wikimedia Foundation relies on readers to support the technology that makes Wikipedia and our other projects possible. Being a nonprofit means there is no danger that someone will buy Wikipedia and turn it into their personal playground. If Wikipedia has given you ${countryConfig.currency}${countryConfig.coffee} worth of knowledge this year, please give back. Thank you. — <i>Jimmy Wales, founder, Wikimedia Foundation</i>`;\n/* eslint-enable max-len */\n\nconst androidV2FundraisingAnnouncement = (code, countryConfig, campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'ANDROIDV2', 'EN'),\n        platforms: [ config.Platform.ANDROID_V2 ],\n        countries: [ code.toUpperCase() ],\n        border: countryConfig.border,\n        placement: countryConfig.placement,\n        text: getFundraisingAnnouncementText(countryConfig),\n        // image_url: countryConfig.imageUrl,\n        // image_height: 40,\n        caption_HTML: \"By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a>.\",\n        negative_text: 'No thanks',\n        action: {\n            title: 'DONATE NOW',\n            url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=Android&utm_source=app_2022_6C_Android_control&monthlyconvert=Default'\n        }\n    });\n};\n\nconst japanFundraisingAnnouncement = (code, countryConfig, campaign, os, platforms) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, os.toUpperCase(), code.toUpperCase()),\n        platforms: platforms,\n        countries: [ code.toUpperCase() ],\n        border: countryConfig.border,\n        placement: countryConfig.placement,\n        text: '<b>ウィキペディアは売り物ではありません。</b><br>ジミー・ウェールズから皆様へのメッセージ<br>1分で結構です、どうか読み飛ばさないでください。今日は皆様に、ぜひお考えいただきたいことがあります。この1年間でウィキペディア アプリをどれほど使い、そこでどんな価値を得たか、そして¥300 のご寄付が可能かどうかです。ウィキメディア財団のウィキペディアを含むプロジェクト群を支える技術は、読者の皆様によって支えられています。非営利団体であるということは、誰かがウィキペディアを買い取り、好き勝手にする危険性がないことを意味します。この一年、もしあなたがウィキペディアから得た情報に¥300 の価値があったと思っていただけるのでしたら、ご寄付をお寄せいただけないでしょうか。感謝を込めて。— ジミー・ウェールズ(ウィキメディア財団創設者)',\n        negative_text: 'けっこうです',\n        action: {\n            title: '今すぐ寄付する',\n            url: `https://donate.wikimedia.org/?uselang=ja&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=${os}&utm_source=app_2023_jaJP_${os}_control&monthlyconvert=Default`\n        }\n    });\n};\n\nconst androidV2SurveyAnnouncement = (campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'ANDROIDV2', 'EN'),\n        platforms: [ config.Platform.ANDROID_V2 ],\n        countries: [ 'AL', 'DZ', 'AO', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BD', 'BY', 'BR', 'BG', 'CM', 'CA', 'CF', 'TD',\n            'CL', 'CO', 'KM', 'CR', 'CI', 'HR', 'CY', 'CZ', 'DK', 'EC', 'EG', 'SV', 'EE', 'ET', 'DE', 'GH', 'GR', 'GT',\n            'GN', 'HN', 'HK', 'HU', 'IN', 'ID', 'IE', 'IT', 'JM', 'JP', 'KE', 'KR', 'LV', 'LB', 'LT', 'MG', 'MW', 'MY',\n            'ML', 'MQ', 'MR', 'MX', 'MA', 'MZ', 'NL', 'NG', 'PK', 'PY', 'PE', 'PH', 'PL', 'PT', 'PR', 'RO', 'SN', 'RS',\n            'SG', 'SK', 'SI', 'ZA', 'ES', 'SE', 'CH', 'TW', 'TZ', 'TN', 'TR', 'UG', 'GB', 'US', 'UY', 'ZM', 'ZW' ],\n        border: false,\n        placement: 'feed',\n        text: 'Help to improve the Wikipedia mobile apps by signing up to be a user tester. Take a quick survey to participate in an upcoming study or research interview.',\n        caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n        negative_text: 'No thanks',\n        action: {\n            title: 'Start survey',\n            url: 'https://forms.gle/DUWfFRoD9nqgStJZ7'\n        }\n    });\n};\n\nconst iosV2FundraisingAnnouncement = (code, countryConfig, campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'IOSV2', 'EN'),\n        platforms: [ config.Platform.IOS_V2, config.Platform.IOS_V3, config.Platform.IOS_V4, config.Platform.IOS_V5 ],\n        countries: [ code.toUpperCase() ],\n        border: countryConfig.border,\n        placement: countryConfig.placement,\n        text: getFundraisingAnnouncementText(countryConfig),\n        caption_HTML: \"By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a>.\",\n        negative_text: 'No thanks',\n        action: {\n            title: 'DONATE NOW',\n            url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=iOS&utm_source=app_2022_6C_iOS_control&monthlyconvert=Default'\n        }\n    });\n};\n\nconst iOSAaaLDArticleTitles = ['Anya Taylor-Joy',\n    'Armie Hammer',\n    'Betty White',\n    'Bigg Boss (Tamil season 4)',\n    'Cloris_Leachman',\n    'Cicely Tyson',\n    'Darth Vader',\n    'Elisabeth Shue',\n    'Elizabeth Olsen',\n    'Elliot Page',\n    'Gal Gadot',\n    'Godzilla vs. Kong',\n    'K.G.F: Chapter 2',\n    'Lana Clarkson',\n    'Leonardo DiCaprio',\n    'List of Marvel Cinematic Universe films',\n    'Master (2021 film)',\n    'Olivia Wilde',\n    'Omar Sy',\n    'Pedro Pascal',\n    'Phoebe Dynevor',\n    'Pieces of a Woman',\n    'Promising Young Woman',\n    'Ralph Macchio',\n    'Soul (2020 film)',\n    'Tanya Roberts',\n    'Tenet (film)',\n    'The Dig (2021 film)',\n    'The Little Things (2021 film)',\n    'The Mandalorian',\n    'WandaVision',\n    'William Zabka',\n    'Wonder Woman 1984',\n    'Amen',\n    'Aquarius (astrology)',\n    'B. R. Ambedkar',\n    'Bermuda Triangle',\n    'Bible',\n    'Blue Monday (date)',\n    'Cabal',\n    'Capricorn (astrology)',\n    'Changeling',\n    'Charlie Charlie challenge',\n    'Communism',\n    'Epiphany (holiday)',\n    'Gautama Buddha',\n    'Illuminati',\n    'Islam',\n    'Jesus',\n    'Joan of Arc',\n    'Karl Marx',\n    'Lilith',\n    'List of conspiracy theories',\n    'List of religious populations',\n    'Makar Sankranti',\n    'Muhammad',\n    'NESARA',\n    'New World Order (conspiracy theory)',\n    'New Year\\'s Day',\n    'Pongal (festival)',\n    'Pope Francis',\n    'Sagittarius (astrology)',\n    'Scientology',\n    'Seven deadly sins',\n    'Ten Commandments',\n    'Valentine\\'s Day',\n    'Zodiac',\n    'Aaron Rodgers',\n    'Bobby Fischer',\n    'Conor McGregor',\n    'Cristiano Ronaldo',\n    'Drew Brees',\n    'Dustin Poirier',\n    'Gina Carano',\n    'Hank Aaron',\n    'James Naismith',\n    'Jim Brown',\n    'Josh Allen (quarterback)',\n    'Khabib Nurmagomedov',\n    'Kobe Bryant',\n    'LeBron James',\n    'Lionel Messi',\n    'List of footballers with 500 or more goals',\n    'List of Super Bowl champions',\n    'Max Holloway',\n    'Mesut Özil',\n    'Michael Chandler',\n    'Michael Jordan',\n    'Muhammad Ali',\n    'Nick Saban',\n    'Patrick Mahomes',\n    'Ryan García',\n    'Stephen Curry',\n    'Steve Sarkisian',\n    'Super Bowl',\n    'Super Bowl LV',\n    'Taylor Heinicke',\n    'Thomas Tuchel',\n    'Tiger Woods',\n    'Tom Brady',\n    'UFC 257',\n    'Urban Meyer',\n    'Art',\n    'Camera',\n    'Claude Monet',\n    'Colosseum',\n    'Colossus of Rhodes',\n    'David (Michelangelo)',\n    'Fallingwater',\n    'Great Pyramid of Giza',\n    'Impressionism',\n    'Jackson Pollock',\n    'Leaning Tower of Pisa',\n    'Leonardo da Vinci',\n    'List of most expensive paintings',\n    'Lorem ipsum',\n    'Louvre',\n    'Michelangelo',\n    'Mona Lisa',\n    'Moscow Kremlin',\n    'Pablo Picasso',\n    'Pietà (Michelangelo)',\n    'Sagrada Família',\n    'Salvador Dalí',\n    'Salvator Mundi (Leonardo)',\n    'Statue of Unity',\n    'The Ellipse',\n    'The Great Wave off Kanagawa',\n    'The Last Supper (Leonardo)',\n    'The Starry Night',\n    'Trademark symbol',\n    'Vincent van Gogh',\n    'Americas',\n    'Amundsen–Scott South Pole Station',\n    'Antarctica',\n    'Asia',\n    'Atlantic Ocean',\n    'Caribbean',\n    'Continent',\n    'Ernest Shackleton',\n    'Geographic coordinate system',\n    'Great Lakes',\n    'Greenland',\n    'Himalayas',\n    'K2',\n    'Kattegat',\n    'Lake Baikal',\n    'List of cities in the United Kingdom',\n    'List of countries and dependencies by area',\n    'List of countries and dependencies by population density',\n    'List of highest mountains on Earth',\n    'List of largest cities',\n    'List of national capitals',\n    'List of national parks of the United States',\n    'List of sovereign states',\n    'List of United States cities by population',\n    'Mediterranean Sea',\n    'Mount Kilimanjaro',\n    'North America',\n    'North Pole',\n    'Pacific Ocean',\n    'Patagonia',\n    'Réunion',\n    'Scandinavia',\n    'West Indies',\n    'World map',\n    'Yellowstone National Park',\n    '2021',\n    'Alexander the Great',\n    'Alfred the Great',\n    'Anglo-Saxons',\n    'Anne Boleyn',\n    'Augustus',\n    'Björn Ironside',\n    'British Empire',\n    'Byzantine Empire',\n    'Catherine of Aragon',\n    'Charlemagne',\n    'Cleopatra',\n    'Emily Dickinson',\n    'Flag of the United States',\n    'Flags of the Confederate States of America',\n    'Helen Keller',\n    'Henry V of England',\n    'Henry VII of England',\n    'Ivar the Boneless',\n    'James VI and I',\n    'Julius Caesar',\n    'Karen Pence',\n    'List of English monarchs',\n    'Lucille Ball',\n    'Margaret Guido',\n    'Marie Antoinette',\n    'Mary I of England',\n    'Mary of Teck',\n    'Mary, Queen of Scots',\n    'Ottoman Empire',\n    'Queen Victoria',\n    'Ragnar Lodbrok',\n    'Roman Empire',\n    'Sutton Hoo',\n    'Vikings',\n    '69 (sex position)',\n    'Anal sex',\n    'Animal',\n    'BDSM',\n    'Cane Corso',\n    'Cat',\n    'Charles Darwin',\n    'Dinosaur',\n    'DNA',\n    'Dodo',\n    'Dog',\n    'Fellatio',\n    'Gabi (dog)',\n    'German Shepherd',\n    'Giant panda',\n    'Golden Retriever',\n    'Kitten',\n    'Labrador Retriever',\n    'Lion',\n    'Mammal',\n    'Masturbation',\n    'Mercy dog',\n    'Missionary position',\n    'Non-penetrative sex',\n    'Oral sex',\n    'Quinoa',\n    'Sex',\n    'Sex position',\n    'Sexual intercourse',\n    'Sexy',\n    'Shiba Inu',\n    'Strawberry',\n    'Tiger',\n    'Virus',\n    'Wolverine',\n    'Adrenochrome',\n    'Asperger syndrome',\n    'B-cell lymphoma',\n    'Bipolar disorder',\n    'Body mass index',\n    'Borderline personality disorder',\n    'Bubonic plague',\n    'Cocaine',\n    'COVID-19 pandemic',\n    'COVID-19 pandemic in the United Kingdom',\n    'Crohn\\'s disease',\n    'Diverticulitis',\n    'Dunning–Kruger effect',\n    'Fentanyl',\n    'Fibromyalgia',\n    'Glioblastoma',\n    'IQ classification',\n    'Ivermectin',\n    'List of The Good Doctor episodes',\n    'Maslow\\'s hierarchy of needs',\n    'Myers–Briggs Type Indicator',\n    'Parkinson\\'s disease',\n    'Pfizer',\n    'Pneumonia',\n    'Prader–Willi syndrome',\n    'Pulmonary embolism',\n    'Schizophrenia',\n    'Sepsis',\n    'Serum Institute of India',\n    'Sigmund Freud',\n    'Smallpox',\n    'Tasuku Honjo',\n    'Tuberculosis',\n    'Tuskegee Syphilis Study',\n    'Vaccine',\n    'Albert Einstein',\n    'Atom',\n    'Big Bang',\n    'Black hole',\n    'Dark matter',\n    'Double-slit experiment',\n    'Electricity',\n    'Electromagnetic radiation',\n    'Energy',\n    'Entropy',\n    'Gas constant',\n    'Gravity',\n    'Higgs boson',\n    'Laws of thermodynamics',\n    'Light',\n    'Marie Curie',\n    'Newton\\'s laws of motion',\n    'Ohm\\'s law',\n    'Physics',\n    'Planck constant',\n    'Plasma (physics)',\n    'Quantum entanglement',\n    'Quantum mechanics',\n    'Reynolds number',\n    'Richard Feynman',\n    'Schrödinger equation',\n    'Schrödinger\\'s cat',\n    'Second law of thermodynamics',\n    'Speed of light',\n    'Speed of sound',\n    'Theory of relativity',\n    'Universe',\n    'Viscosity',\n    'Werner Heisenberg',\n    'X-ray'];\n\nconst iosV4SurveyAnnouncement = (campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'IOSV4', 'EN'),\n        platforms: [ config.Platform.IOS_V4 ],\n        border: false,\n        placement: 'article',\n        text: 'Help improve Wikipedia by taking a quick survey about this article',\n        caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third-party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n        negative_text: 'No thanks',\n        percent_receiving_experiment: 50,\n        action: {\n            title: 'Start survey',\n            url: 'https://docs.google.com/forms/d/e/1FAIpQLSdQ34Nz6u7Uhc6A3mTk5XwGdWVKwJpQfCZ4Jlx32QHhI6fx9Q/viewform?usp=pp_url&entry.135304298={{articleTitle}}&entry.1794192386={{didSeeModal}}&entry.1315551869={{isInExperiment}}'\n        },\n        articleTitles: iOSAaaLDArticleTitles,\n        displayDelay: 30\n    });\n};\n\nconst iosAaaLDSurveyAnnouncement = (campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'IOS', 'SURVEY20-1'),\n        platforms: [ config.Platform.IOS_V5 ],\n        border: false,\n        placement: 'article',\n        text: 'Help improve Wikipedia by taking a quick survey about this article',\n        caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third-party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n        negative_text: 'No thanks',\n        percent_receiving_experiment: 50,\n        action: {\n            title: 'Start survey',\n            url: 'https://docs.google.com/forms/d/e/1FAIpQLSdQ34Nz6u7Uhc6A3mTk5XwGdWVKwJpQfCZ4Jlx32QHhI6fx9Q/viewform?usp=pp_url&entry.135304298={{articleTitle}}&entry.1794192386={{didSeeModal}}&entry.1315551869={{isInExperiment}}'\n        },\n        articleTitles: iOSAaaLDArticleTitles,\n        displayDelay: 30\n    });\n};\n\nconst iosLegacyFundraisingAnnouncement = (code, countryConfig, campaign) => {\n    return Object.assign({}, baseAnnouncement(campaign), {\n        id: buildId(campaign, 'IOS', 'EN'),\n        platforms: [ config.Platform.IOS ],\n        countries: [ code.toUpperCase() ],\n        min_version: '5.8.0',\n        max_version: '6.1.0',\n        caption_HTML: \"<p>By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a></p>.\",\n        border: countryConfig.border,\n        placement: countryConfig.placement,\n        text: plaintextFromHTML(getFundraisingAnnouncementText(countryConfig)),\n        action: {\n            title: 'DONATE NOW',\n            url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=iOS&utm_source=app_2022_6C_iOS_control&monthlyconvert=Default'\n        }\n    });\n};\n\nfunction getAndroidFundraisingAnnouncements(campaign) {\n    return Object.keys(campaign.countryVars)\n    .map((code) => androidV2FundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getAndroidSurveyAnnouncements(campaign) {\n    return [].concat(androidV2SurveyAnnouncement(campaign));\n}\n\nfunction getiOSFundraisingAnnouncements(campaign) {\n    return Object.keys(campaign.countryVars)\n    .map((code) => iosV2FundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getiOSSurveyAnnouncements(campaign) {\n    return [].concat(iosV4SurveyAnnouncement(campaign));\n}\n\nfunction getiOSAaaLDSurveyAnnouncements(campaign) {\n    return [].concat(iosAaaLDSurveyAnnouncement(campaign));\n}\n\nfunction getLegacyiOSFundraisingAnnouncements(campaign) {\n    return Object.keys(campaign.countryVars)\n    .map((code) => iosLegacyFundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getAnnouncementsForCampaign(campaign) {\n    switch (campaign.idPrefix) {\n        case 'JAPANFUNDRAISING23':\n            return Object.keys(campaign.countryVars).map((code) => japanFundraisingAnnouncement(code, campaign.countryVars[code], campaign, 'iOS', [ config.Platform.IOS_V2, config.Platform.IOS_V3, config.Platform.IOS_V4, config.Platform.IOS_V5 ]))\n            .concat(Object.keys(campaign.countryVars).map((code) => japanFundraisingAnnouncement(code, campaign.countryVars[code], campaign, 'Android', [ config.Platform.ANDROID_V2 ])));\n        case 'INDIAFUNDRAISING22':\n            return getAndroidFundraisingAnnouncements(campaign);\n        case 'FUNDRAISING22':\n            return getAndroidFundraisingAnnouncements(campaign)\n            .concat(getiOSFundraisingAnnouncements(campaign))\n            .concat(getLegacyiOSFundraisingAnnouncements(campaign));\n        case 'IOSSURVEY20':\n            return getiOSSurveyAnnouncements(campaign);\n        case 'IOSAAALDSURVEY':\n            return getiOSAaaLDSurveyAnnouncements(campaign);\n        case 'ANDROIDSURVEY20':\n            return getAndroidSurveyAnnouncements(campaign);\n    }\n}\n\nfunction hasEnded(campaign, now) {\n    const endDate = Date.parse(campaign.endTime);\n    if (isNaN(endDate)) {\n        throw new HTTPError({\n            status: 500,\n            type: 'config_error',\n            title: 'invalid end date in announcements config',\n            detail: config.endTime\n        });\n    }\n    return now > endDate;\n}\n\nfunction getActiveCampaigns(domain, now) {\n    return config.campaigns.filter((campaign) =>\n    campaign.activeWikis.includes(domain) &&\n    !hasEnded(campaign, now));\n}\n\nfunction getAnnouncements(domain) {\n    const announcements = [];\n    const activeCampaigns = getActiveCampaigns(domain, new Date());\n    activeCampaigns.forEach((campaign) => {\n        announcements.push(...getAnnouncementsForCampaign(campaign));\n    });\n\n    return {\n        announce: announcements\n    };\n}\n\nmodule.exports = {\n    getAnnouncements,\n    testing: {\n        buildId,\n        getActiveCampaigns,\n        getAnnouncementsForCampaign,\n        getAndroidFundraisingAnnouncements,\n        getiOSFundraisingAnnouncements,\n        getLegacyiOSFundraisingAnnouncements,\n        hasEnded\n    }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/api-util.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":132,"column":null,"nodeType":"Block","endLine":132,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst sUtil = require('./util');\nconst Template = require('swagger-router').Template;\nconst HTTPError = sUtil.HTTPError;\n\n/**\n * Calls the MW API with the supplied query as its body\n *\n * @param {!Object} req the incoming request object\n * @param {?Object} query an object with all the query parameters for the MW API\n * @param {?string} altDomain domain to query, if other than the original request domain\n * @param {?Object} addlHeaders additional headers to pass to the MW API\n * @return {!Promise} a promise resolving as the response object from the MW API\n */\nfunction mwApiGet(req, query, altDomain, addlHeaders) {\n\n    const app = req.app;\n    query = Object.assign({\n        format: 'json',\n        formatversion: 2\n    }, query);\n\n    const request = app.mwapi_tpl.expand({\n        request: {\n            params: { domain: altDomain || req.params.domain },\n            headers: req.headers,\n            query\n        }\n    });\n    Object.assign(request.headers, addlHeaders);\n\n    return req.issueRequest(request).then((response) => {\n        if (response.status < 200 || response.status > 399) {\n            // there was an error when calling the upstream service, propagate that\n            return BBPromise.reject(new HTTPError({\n                status: response.status,\n                type: 'api_error',\n                title: 'MW API error',\n                detail: response.body\n            }));\n        }\n        return response;\n    });\n\n}\n\n/**\n * Calls the REST API with the supplied domain, path and request parameters\n *\n * @param {!Object} req the incoming request object\n * @param {?string} path the REST API path to contact without the leading slash\n * @param {?Object} [restReq={}] the object containing the REST request details\n * @param {?string} [restReq.method=get] the request method\n * @param {?Object} [restReq.query={}] the query string to send, if any\n * @param {?Object} [restReq.headers={}] the request headers to send\n * @param {?Object} [restReq.body=null] the body of the request, if any\n * @return {!Promise} a promise resolving as the response object from the REST API\n */\nfunction restApiGet(req, path, restReq) {\n\n    const app = req.app;\n    if (path.constructor === Object) {\n        restReq = path;\n        path = undefined;\n    }\n    restReq = restReq || {};\n    restReq.method = restReq.method || 'get';\n    restReq.query = restReq.query || {};\n    restReq.headers = restReq.headers || {};\n    restReq.params = restReq.params || {};\n    restReq.params.path = path || restReq.params.path;\n    restReq.params.domain = restReq.params.domain || req.params.domain;\n    if (!restReq.params.path || !restReq.params.domain) {\n        return BBPromise.reject(new HTTPError({\n            status: 500,\n            type: 'internal_error',\n            title: 'Invalid internal call',\n            detail: 'domain and path need to be defined for the REST API call'\n        }));\n    }\n    restReq.params.path = restReq.params.path[0] === '/' ?\n        restReq.params.path.slice(1) : restReq.params.path;\n\n    return req.issueRequest(app.restbase_tpl.expand({ request: restReq }));\n\n}\n\nfunction mwGet(req, title, addlHeaders) {\n    const app = req.app;\n    const request = app.mw_tpl.expand({\n        request: {\n            headers: Object.assign(req.headers, addlHeaders),\n            params: {\n                domain: req.params.domain,\n                title\n            }\n        }\n    });\n    return req.issueRequest(request);\n}\n\n/**\n * Returns a promise to the summary object for the given title.\n *\n * @param {!Object} req\n * @param {!string} title\n * @return {Promise<Object>}\n */\nfunction restGetSummary(req, title) {\n    return restApiGet(\n        req,\n        `page/summary/${encodeURIComponent(title)}`,\n        {\n            headers: {\n                'accept-language': req.headers['accept-language']\n            }\n        }\n    )\n    .then((res) => {\n        // Support legacy pre summary 2.0 clients.\n        res.body.normalizedtitle = res.body.title;\n        res.body.title = res.body.title.replace(/ /g, '_');\n        return res.body;\n    });\n}\n\n/**\n * Sets up the request templates for MW and RESTBase API requests\n *\n * @param {!Application} app the application object\n */\nfunction setupApiTemplates(app) {\n\n    // set up the MW API request template\n    if (!app.conf.mwapi_req) {\n        app.conf.mwapi_req = {\n            method: 'post',\n            uri: 'http://{{domain}}/w/api.php',\n            headers: '{{request.headers}}',\n            body: '{{ default(request.query, {}) }}'\n        };\n    }\n    app.mwapi_tpl = new Template(app.conf.mwapi_req);\n\n    // set up the RESTBase request template\n    if (!app.conf.restbase_req) {\n        app.conf.restbase_req = {\n            method: '{{request.method}}',\n            uri: 'http://{{domain}}/api/rest_v1/{+path}',\n            query: '{{ default(request.query, {}) }}',\n            headers: '{{request.headers}}',\n            body: '{{request.body}}'\n        };\n    }\n    app.restbase_tpl = new Template(app.conf.restbase_req);\n\n    // set up the MediaWiki page request template\n    if (!app.conf.mw_req) {\n        app.conf.mw_req = {\n            method: '{{request.method}}',\n            uri: 'http://{{domain}}/w/index.php?title={+title}',\n            query: '{{ default(request.query, {}) }}',\n            headers: '{{request.headers}}'\n        };\n    }\n    app.mw_tpl = new Template(app.conf.mw_req);\n\n}\n\nmodule.exports = {\n    mwGet,\n    mwApiGet,\n    restApiGet,\n    restGetSummary,\n    setupApiTemplates\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/date-util.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/doc-util.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/featured-image.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/featured.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 12 column 7.","line":138,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":138,"endColumn":14}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * To retrieve TFA -- Today's featured article -- for a given date.\n */\n\n'use strict';\n\nconst crypto = require('crypto');\nconst domino = require('domino');\nconst BBPromise = require('bluebird');\nconst api = require('./api-util');\n\nconst si = require('./siteinfo');\nconst dateUtil = require('./date-util');\nconst util = require('./util');\n\nconst HTTPError = util.HTTPError;\n\nconst NS_SPECIAL = '-1';\n\nconst supportedSubdomains = [ 'bg', 'bn', 'bs', 'cs', 'de', 'el', 'en', 'fa', 'he', 'hu', 'it', 'ja',\n    'la', 'no', 'sco', 'sd', 'sv', 'tr', 'ur', 'vi', 'zh' ];\n\nconst supportedDomains = supportedSubdomains.map((lang) => `${lang}.wikipedia.org`);\n\nconst isSupported = (domain) => supportedDomains.includes(domain);\n\n/**\n * Builds the request to get the Special:FeedItem provided by the FeaturedFeed extension.\n *\n * @param {!string} req the request object\n * @param {!Object} siteinfo\n * @param {!Date} date for which day the featured article is requested\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nconst requestFeaturedFeedSpecialItem = (req, siteinfo, date) => {\n    const lang = siteinfo.general.lang;\n    const localizedNamespaceSpecial = siteinfo.namespaces[NS_SPECIAL].name.replace(/ /g, '_');\n    const feedItemAliasInfo = siteinfo.specialpagealiases.find((i) => i.realname === 'FeedItem');\n    const feedItemAlias = (feedItemAliasInfo && feedItemAliasInfo.aliases[0]) || 'FeedItem';\n    const dateString = `${dateUtil.formatYYYYMMDD(date)}000000`;\n    const title = `${localizedNamespaceSpecial}:${feedItemAlias}/featured/${dateString}/${lang}`;\n    return api.mwGet(req, title, { accept: 'text/html; charset=UTF-8' });\n};\n\n// -- functions dealing with responses:\n\nconst findPageTitle = (html) => {\n    const document = domino.createDocument(html);\n    const scope = document.querySelector('div#mw-content-text');\n    if (!scope) {\n        return;\n    }\n\n    const found = scope.querySelector('b > a, a > b');\n    if (found) {\n        if (found.tagName === 'A') { // b > a\n            return found.getAttribute('title');\n        } else { // a > b\n            // the anchor is the parent node\n            return found.parentNode.getAttribute('title');\n        }\n    }\n};\n\n/**\n * Fetches higher-quality page image form MW API\n *\n * @param {!Object} req\n * @param {!string} title\n * @return {Promise<Object>}\n */\nconst fetchHighQualityPageImage = (req, title) => {\n    return api.mwApiGet(req, {\n        action: 'query',\n        format: 'json',\n        formatversion: 2,\n        prop: 'pageimages',\n        piprop: 'thumbnail|original',\n        pithumbsize: 640,\n        pilicense: 'any',\n        titles: title\n    })\n    .then((res) => {\n        if (res.body &&\n            res.body.query &&\n            res.body.query.pages &&\n            res.body.query.pages.length &&\n            res.body.query.pages[0].thumbnail &&\n            res.body.query.pages[0].original) {\n            const thumbnail = res.body.query.pages[0].thumbnail;\n            const originalimage = res.body.query.pages[0].original;\n            thumbnail.source = thumbnail.source.replace(/^http:/, 'https:');\n            originalimage.source = originalimage.source.replace(/^http:/, 'https:');\n            return { thumbnail, originalimage };\n        }\n    });\n};\n\nconst createSha1 = (input) => {\n    const shasum = crypto.createHash('sha1');\n    shasum.update(input);\n    return shasum.digest('hex');\n};\n\n// -- main\n\nconst promise = (app, req) => {\n    let pageTitle;\n    const domain = req.params.domain;\n    const aggregated = !!req.query.aggregated;\n\n    if (!dateUtil.validate(dateUtil.hyphenDelimitedDateString(req))) {\n        if (aggregated) {\n            return BBPromise.resolve({});\n        }\n        dateUtil.throwDateError();\n    }\n\n    if (!isSupported(domain)) {\n        if (aggregated) {\n            return BBPromise.resolve({});\n        } else {\n            throw new HTTPError({\n                status: 404,\n                type: 'not_found',\n                title: 'Not found',\n                detail: 'The language you have requested is not yet supported.'\n            });\n        }\n    }\n\n    const requestedDate = dateUtil.getRequestedDate(req);\n    if (domain === 'de.wikipedia.org' && !(dateUtil.isWithinLast3Days(requestedDate))) {\n        return BBPromise.resolve({});\n    }\n\n    return si.getSiteInfo(req)\n    .then((si) => requestFeaturedFeedSpecialItem(req, si, requestedDate)\n    .then((featured) => {\n        pageTitle = findPageTitle(featured.body);\n        if (!pageTitle) {\n            return BBPromise.resolve({});\n        }\n        const dbTitle = util.getDbTitle(pageTitle, si);\n        const vary = [];\n        if (si.variants && si.variants.length > 1) {\n            vary.push('accept-language');\n        }\n        return {\n            payload: api.restGetSummary(req, dbTitle),\n            meta: { etag: createSha1(dbTitle), vary },\n            // will be moved into summary before returning the result\n            $fetchHighQualityImage: fetchHighQualityPageImage(req, dbTitle)\n        };\n    })\n    .then((result) => util.promiseAwaitAll(result, true, req.logger))\n    .then((resolvedResult) => {\n        if (resolvedResult.$fetchHighQualityImage) {\n            Object.assign(resolvedResult.payload, resolvedResult.$fetchHighQualityImage);\n        }\n        delete resolvedResult.$fetchHighQualityImage;\n        return resolvedResult;\n    })\n    .catch((err) => {\n        if (aggregated) {\n            return BBPromise.resolve({});\n        }\n        throw err;\n    }));\n};\n\nmodule.exports = {\n    promise,\n    supportedSubdomains,\n    supportedDomains,\n    testing: {\n        findPageTitle,\n        isSupported\n    }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/imageinfo.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Bool' is undefined.","line":30,"column":null,"nodeType":"Block","endLine":30,"endColumn":null},{"ruleId":"jsdoc/no-multi-asterisks","severity":2,"message":"Should be no multiple asterisks on end lines.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null,"fix":{"range":[1472,1535],"text":"/**\n * @param {!domino.Document} doc\n        @return {void} */"}},{"ruleId":"jsdoc/check-alignment","severity":1,"message":"Expected JSDoc block to be aligned.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null,"fix":{"range":[1472,1535],"text":"/**\n * @param {!domino.Document} doc\n * @return {void} */"}},{"ruleId":"array-callback-return","severity":1,"message":"Array.prototype.map() expects a return value from arrow function.","line":202,"column":43,"nodeType":"ArrowFunctionExpression","messageId":"expectedInside","endLine":202,"endColumn":45},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: [type]","line":279,"column":null,"nodeType":"Block","endLine":279,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: [type]","line":281,"column":null,"nodeType":"Block","endLine":281,"endColumn":null}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":1,"fixableWarningCount":1,"source":"'use strict';\n\nconst P = require('bluebird');\nconst _ = require('lodash');\nconst domino = require('domino');\nconst striptags = require('striptags');\nconst api = require('./api-util');\nconst dateUtil = require('./date-util');\nconst util = require('./util');\nconst HTTPError = util.HTTPError;\nconst parsoid = require('./parsoid');\n\nconst PROD_COMMONS_DOMAIN = 'commons.wikimedia.org';\nconst BETA_COMMONS_DOMAIN = 'commons.wikimedia.beta.wmflabs.org';\n\n/**\n * Get the correct Commons domain to handle the request.\n *\n * @param {!string} domain original request domain\n * @return {!string} Commons domain for beta or prod\n */\nfunction getCommonsDomain(domain) {\n    return domain.endsWith('beta.wmflabs.org') ? BETA_COMMONS_DOMAIN : PROD_COMMONS_DOMAIN;\n}\n\n/**\n * get page object from api response\n *\n * @param  {Object} response  MWAPI response\n * @param  {Bool} dontThrow if true throw HTTP error 404\n * @return {Object}           Page Object\n */\nfunction getPageObject(response, dontThrow) {\n    const page = response.body.query.pages[0];\n    if (!page.pageid || page.missing === true) {\n        if (dontThrow) {\n            page.notfound = true;\n            return page;\n        } else {\n            throw new HTTPError({\n                status: 404,\n                type: 'not_found',\n                title: 'No picture of the day for this date',\n                detail: 'There is no picture of the day for this date.'\n            });\n        }\n    }\n    return page;\n}\n\n/**\n * @param {!domino.Document} doc\n       * @return {void} */\nfunction removeLangLabels(doc) {\n    const labels = doc.querySelectorAll('span[class*=langlabel-]') || [];\n    labels.forEach((element) => {\n        element.parentNode.removeChild(element);\n    });\n}\n\n/**\n * @param {!domino.Document} doc\n * @return {!Object.<string, string>} Map of languages to descriptions\n */\nfunction queryDescriptions(doc) {\n    const descriptions = {};\n    const descriptionElements = doc.querySelectorAll('.description[class*=lang-]') || [];\n    descriptionElements.forEach((element) => {\n        descriptions[element.lang] = element.innerHTML.trim();\n    });\n    return descriptions;\n}\n\n/**\n * Converts a metadata array to a standard JS key-value object.\n *\n * @param {!Array} meta A metadata array from Commons ([ { name: foo, value: bar }, ... ])\n * @return {!Object} a consolidated object ({ foo: bar, ... })\n */\nfunction metadataToObject(meta) {\n    return Object.assign(...meta.map((item) => ({ [item.name]: item.value })));\n}\n\n/**\n * Provides a consistent structure for extended metadata (extmetadata) properties returned from the\n * MW API.  As returned directly from the MW API, these values may be strings or objects, and may\n * or may not specify the language in which they are provided.  This provides some structure to help\n * clients consume the data more easily.\n * The result language will be chosen according to the following algorithm:\n * 1) If a key for preferredLang exists, use preferredLang;\n * 2) Else, if the key exists in English, use English;\n * 3) Else, use the first available language.\n * The return value will include the following properties:\n * html (required): the original value text in the chosen language, likely (but not necessarily)\n *   HTML-formatted;\n * text (required): the original value text with HTML-formatting stripped;\n * lang (optional): the chosen language code, if language codes were provided\n *\n * @param  {!Object|string} val Value of the extmetadata property\n * @param  {!string} preferredLang preferred language (most likely the request language)\n * @return {?Object} structured values for the extmetadata property\n */\nfunction structureExtMetadataValue(val, preferredLang) {\n    let html;\n    let lang;\n\n    if (typeof val === 'object') {\n        if (val[preferredLang]) {\n            lang = preferredLang;\n        } else if (val.en) {\n            lang = 'en';\n        } else if (Object.keys(val)[0]) {\n            lang = Object.keys(val)[0];\n        } else {\n            return;\n        }\n        html = val[lang];\n    } else if (typeof val === 'string') {\n        html = val;\n    } else {\n        return;\n    }\n\n    return {\n        html,\n        text: striptags(html).trim(),\n        lang\n    };\n}\n\n/**\n * Get structured artist info from extmetadata (to the extent possible).\n * We take a rather conservative approach here:\n * 1) In the 'html' property, we always return the full HTML string.\n * 2) If the field contains only plain text, we assume this is an artist name and\n *    return it in the 'name' property.\n * 3) If the HTML string is of a specific common form, we parse the user name and\n *    user page from it, and return them in the 'name' and 'user_page' fields respectively.\n *    That form is \"<a href=\\\"//commons.wikimedia.org/wiki/User:Foo\\\" title=\\\"User:Foo\\\">Foo</a>\".\n *\n * @param {!Object|string} val The Artist value from extmetadata\n * @param {!string} preferredLang \"artist\" metadata value from the MW API\n * @return {?Object} structured artist info\n */\nfunction getStructuredArtistInfo(val, preferredLang) {\n    const result = structureExtMetadataValue(val, preferredLang);\n    if (!result) {\n        return;\n    }\n    const doc = domino.createDocument(result.html);\n    if (!doc.body.textContent) {\n        return;\n    }\n    let name;\n    let userPage;\n    if (doc.body.textContent === result.html) {\n        name = doc.body.textContent;\n    } else {\n        const a = doc.body.querySelector('a');\n        if (a && a.outerHTML === result.html && a.getAttribute('title') === `User:${doc.body.textContent}` &&\n            // TODO: Update to handle all Wikimedia project domains\n            a.getAttribute('href') === `//commons.wikimedia.org/wiki/${a.title}`) {\n            name = doc.body.textContent;\n            userPage = `https:${a.getAttribute('href')}`;\n        }\n    }\n    return Object.assign(result, { name, user_page: userPage });\n}\n\n/**\n * Provides consistent structuring of extmetadata values. See comments on\n * structureExtMetadataProperty for the specific steps applied to each value.\n *\n * @param {!Object} extMetadata extmetadata object from MW API\n * @param {!string} preferredLang preferred language (most likely the request language)\n * @return {?Object} set of structured extmetadata values\n */\nfunction structureExtMetadataValues(extMetadata, preferredLang) {\n    return Object.keys(extMetadata).reduce((acc, cur) => {\n        const val = extMetadata[cur].value;\n        if (cur === 'Artist') {\n            // Special-case handling for the Artist property (conditionally including a\n            // derived Commons username and User page URL), which is used for something\n            // or other in the Android app.\n            acc[cur] = getStructuredArtistInfo(val, preferredLang);\n        } else {\n            acc[cur] = structureExtMetadataValue(val, preferredLang);\n        }\n        return acc;\n    }, {});\n}\n\n/**\n * Provides consistent structuring of wbentities values for the structured captions field\n *\n * @param  {!Object} wbentity object data from wbgetentities API action\n * @return {!Object}          structured captions for given wbentity\n */\nfunction structureCaptions(wbentity) {\n    const captions = wbentity && wbentity.labels;\n    if (captions) {\n        Object.keys(captions).map((index) => {\n            captions[index] = captions[index].value;\n        });\n    }\n    return captions;\n}\n\n/**\n * Make image info result\n *\n * @param {!Object} wbentity Wikibase entity object\n * @param {!Object} image metadata query results to be parsed and formatted\n * @param {!Object} siteinfo Site info\n * @param {!string} preferredLang language code of the preferred language for metadata values\n * @param {!Object} desc Description Value pre-processed (needed for Picture of the day)\n * @return {!Object}\n */\nfunction makeResult(wbentity, image, siteinfo, preferredLang, desc) {\n    const imageInfo = image.imageinfo[0];\n    const meta = imageInfo.metadata && metadataToObject(imageInfo.metadata);\n    const ext = imageInfo.extmetadata &&\n        structureExtMetadataValues(imageInfo.extmetadata, preferredLang);\n    const isAudio = imageInfo.mediatype === 'AUDIO';\n    const isSvg = imageInfo.mime && imageInfo.mime.includes('svg');\n    const captions = structureCaptions(wbentity);\n\n    return {\n        title: image.pageprops && image.pageprops.displaytitle || image.title,\n        thumbnail: {\n            source: imageInfo.thumburl,\n            width: imageInfo.thumbwidth,\n            height: imageInfo.thumbheight,\n            mime: imageInfo.thumbmime\n        },\n        image: {\n            source: imageInfo.url,\n            width: isAudio || isSvg ? undefined : imageInfo.width,\n            height: isAudio || isSvg ? undefined : imageInfo.height,\n            mime: imageInfo.mime\n        },\n        page_count: imageInfo.pagecount,\n        file_page: imageInfo.descriptionurl,\n        duration: meta && (meta.length || meta.playtime_seconds) || undefined,\n        artist: ext && ext.Artist,\n        credit: ext && ext.Credit,\n        // Use original value for each of these since it's well standardized data\n        license: {\n            type: ext && ext.LicenseShortName && ext.LicenseShortName.html,\n            code: ext && ext.License && ext.License.html,\n            url: ext && ext.LicenseUrl && ext.LicenseUrl.html\n        },\n        description:\n            desc && structureExtMetadataValue(desc, preferredLang) ||\n            ext && ext.ImageDescription,\n        wb_entity_id: wbentity.id,\n        structured: {\n            captions: captions && Object.keys(captions).length ? captions : {}\n        }\n    };\n}\n\n/**\n * Get Picture of the day description from Parsoid response\n *\n * @param  {Object} req  req Server request\n * @param  {Object} body parsoid body response\n * @return {Object}      POTD description value\n */\nfunction getPotdDescriptionValue(req, body) {\n    const doc = domino.createDocument(body);\n    removeLangLabels(doc);\n    return queryDescriptions(doc);\n}\n\n/**\n * Builds the request to get the Picture of the day of a given date.\n *\n * @param  {[type]} req      [description]\n * @param {!Date} date for which day the featured image of theday is requested\n * @param  {[type]} siteinfo [description]\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nfunction requestPictureOfTheDay(req, date, siteinfo) {\n    const isoDate = dateUtil.formatISODate(date);\n    const commonsDomain = getCommonsDomain(req.params.domain);\n    let page;\n    const filter = [\n        'Artist',\n        'LicenseShortName',\n        'License',\n        'LicenseUrl',\n        'Credit'\n    ];\n\n    const imageInfoProps = [\n        'url',\n        'dimensions',\n        'extmetadata'\n    ];\n\n    const query = {\n        action: 'query',\n        format: 'json',\n        formatversion: 2,\n        generator: 'images',\n        prop: 'imageinfo|revisions',\n        iiextmetadatafilter: filter.join('|'),\n        iimetadataversion: 'latest',\n        iiprop: imageInfoProps.join('|'),\n        iiurlwidth: 640,\n        rawcontinue: '',\n        titles: `Template:Potd/${isoDate}`\n    };\n    return api.mwApiGet(req, query, commonsDomain).then((response) => {\n        page = getPageObject(response);\n\n        const parsoidReq = Object.create(req);\n        parsoidReq.params = Object.create(req.params);\n        parsoidReq.params.title = page.title;\n        parsoidReq.params.domain = commonsDomain;\n\n        const structuredQuery = {\n            action: 'wbgetentities',\n            format: 'json',\n            formatversion: 2,\n            sites: 'commonswiki',\n            props: 'labels|info',\n            titles: page.title\n        };\n\n        return P.join(\n            parsoid.getParsoidHtml(parsoidReq),\n            api.mwApiGet(req, structuredQuery, commonsDomain),\n            (html, structured) => {\n                const description = getPotdDescriptionValue(req, html.body);\n                const lang = req.params.domain.split('.')[0];\n                const wbentity = _.values(structured.body.entities)[0];\n                return {\n                    payload: makeResult(wbentity, page, siteinfo, lang, description),\n                    meta: util.getRevAndTidFromEtag(html.headers)\n                };\n            });\n    });\n}\n\nmodule.exports = {\n    requestPictureOfTheDay,\n    testing: {\n        structureExtMetadataValue\n    }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/most-read.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":56,"column":1,"nodeType":"Block","endLine":59,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@public should not have a bracketed type in \"jsdoc\" mode.","line":57,"column":null,"nodeType":"Block","endLine":57,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@public should not have a bracketed type in \"jsdoc\" mode.","line":58,"column":null,"nodeType":"Block","endLine":58,"endColumn":null},{"ruleId":"no-shadow","severity":1,"message":"'pageviews' is already declared in the upper scope on line 10 column 7.","line":124,"column":19,"nodeType":"Identifier","messageId":"noShadow","endLine":124,"endColumn":28},{"ruleId":"array-callback-return","severity":1,"message":"Array.prototype.map() expects a return value from arrow function.","line":140,"column":25,"nodeType":"ReturnStatement","messageId":"expectedReturnValue","endLine":140,"endColumn":32},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":189,"column":1,"nodeType":"Program","messageId":"max","endLine":189,"endColumn":114}],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '_id'.","line":136,"column":26,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":136,"endColumn":87,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Most-read article promise and related support functions.\n */\n\n'use strict';\n\nconst BBPromise = require('bluebird');\nconst regexEscape = require('escape-string-regexp');\nconst dateUtil = require('./date-util');\nconst pageviews = require('./pageviews');\nconst si = require('./siteinfo');\nconst util = require('./util');\nconst apiUtil = require('./api-util');\nconst Title = require('mediawiki-title').Title;\n\nconst MAX_TITLES = 50;\n\nconst DENY_LIST = {\n    '*': [\n        '-',\n        'Test_card',\n        'Web_scraping',\n        'XHamster',\n        'Java_(programming_language)',\n        'Images/upload/bel.jpg',\n        'Superintelligence:_Paths,_Dangers,_Strategies',\n        'Okto',\n        'Proyecto_40',\n        'AMGTV',\n        'Lali_Espósito',\n        'La7',\n        'Vagina',\n        'کس', // mznwiki\n        'مقعد', // mznwiki\n        'Tobias_Sammet', // dewiki T238942\n        'Avantasia', // dewiki T238942\n        'Edguy', // dewiki T238942\n        'Pornhub', // dewiki T238942\n        'Index', // T327904\n        'Index_(statistics)',\n        'Index,_Washington',\n        'Index_(economics)',\n        'XXX:_Return_of_Xander_Cage',\n        'XXX_(film_series)',\n        'XXX_(2002_film)',\n        'Cookie_(informatique)'\n    ],\n    es: [\n        'Cleopatra'\n    ],\n    pt: [\n        'Cleopatra'\n    ]\n};\n\n/**\n * @public {!string} date ISO 8601 timestamp of pageviews recorded\n * @public {!number} views Integer pageviews on date\n */\nclass DatedPageviews {\n    constructor(date, views) {\n        this.date = date;\n        this.views = views;\n    }\n}\n\nfunction getTopPageviews(req, domain, date) {\n    const restReq = {\n        params: { domain: 'wikimedia.org' },\n        headers: { accept: 'application/json; charset=utf-8' }\n    };\n    return new pageviews.Client(req, restReq).reqTop(domain, pageviews.Platform.ALL, date);\n}\nfunction pageviewsPageRspToDatedPageviews(rsp) {\n    return rsp.body.items.map((item) => {\n        return new DatedPageviews(dateUtil.iso8601DateFromYYYYMMDD(item.timestamp), item.views);\n    });\n}\n\nfunction getViewHistory(req, domain, startDate, endDate, entry) {\n    const restReq = {\n        params: { domain: 'wikimedia.org' },\n        headers: { accept: 'application/json; charset=utf-8' }\n    };\n    const client = new pageviews.Client(req, restReq);\n    return client.reqPage(util.removeTLD(domain), pageviews.Platform.ALL, pageviews.Agent.USER,\n        entry.article, pageviews.Granularity.DAILY, startDate, endDate)\n        .then(pageviewsPageRspToDatedPageviews);\n}\n\nfunction filterSpecial(articles, mainPageTitle) {\n    const mainPageRegExp = new RegExp(`^${regexEscape(mainPageTitle)}$`, 'i');\n    return articles.filter((entry) => {\n        return entry.namespace.id === 0 && !mainPageRegExp.test(entry.titles.canonical);\n    });\n}\n\nfunction isBlocked(lang, title) {\n    return (lang in DENY_LIST && DENY_LIST[lang].includes(title)) || DENY_LIST['*'].includes(title);\n}\n\nfunction promise(app, req) {\n    if (req.params.domain === 'fy.wikipedia.org') {\n        return BBPromise.resolve({ meta: {} });\n    }\n\n    if (!dateUtil.validate(dateUtil.hyphenDelimitedDateString(req))) {\n        if (req.query.aggregated) {\n            return BBPromise.resolve({ meta: {} });\n        }\n        dateUtil.throwDateError();\n    }\n\n    const reqDate = dateUtil.getRequestedDate(req);\n    const rspDate = req.query.aggregated ? dateUtil.addDays(reqDate, -1) : reqDate;\n\n    return BBPromise.join(\n        getTopPageviews(req, util.removeTLD(req.params.domain), rspDate),\n        si.getSiteInfo(req),\n        (pageviewsResponse, siteinfo) => {\n            const mainPage = siteinfo.general && siteinfo.general.mainpage;\n            const mainPageTitle = Title.newFromText(mainPage, siteinfo);\n\n            const pageviews = pageviewsResponse &&\n                pageviewsResponse.body &&\n                pageviewsResponse.body.items &&\n                pageviewsResponse.body.items[0];\n\n            const pageviewsSlice = pageviews.articles &&\n                pageviews.articles.slice(0, MAX_TITLES);\n\n            const titles = pageviewsSlice.map((entry) => {\n                let ns;\n                try {\n                    // eslint-disable-next-line no-underscore-dangle\n                    ns = Title.newFromText(entry.article, siteinfo).getNamespace()._id;\n                } catch (e) {\n                    if (e.type === 'title-invalid-utf8') {\n                        req.logger.log('warn', e);\n                        return;\n                    } else {\n                        throw e;\n                    }\n                }\n                return Object.assign({ ns }, entry);\n            }).filter((entry) => entry !== undefined);\n\n            const resultsDate = `${pageviews.year}-${pageviews.month}-${pageviews.day}Z`;\n            const start = dateUtil.addDays(new Date(resultsDate), -4);\n            const end = new Date(resultsDate);\n\n            const results = titles.map((entry) => {\n                // Will be merged-in on a later pass\n                entry.$summary = apiUtil.restGetSummary(req, entry.article);\n                entry.view_history = getViewHistory(req, req.params.domain, start, end, entry);\n                delete entry.article;\n                delete entry.ns;\n                return entry;\n            });\n\n            return util.promiseAwaitAll(results, true, req.logger)\n            .then((resp) => {\n                let articles = resp\n                // Throw away items where summaries failed to fetch.\n                .filter((entry) => !!entry.$summary)\n                // Merge the summary content into the article view data.\n                .map((entry) => {\n                    Object.assign(entry, entry.$summary);\n                    delete entry.$summary;\n                    return entry;\n                });\n\n                // Deduplicate the most-read pages cause some of them might have been\n                // redirects which have now been resolved.\n                articles = util.removeDuplicateTitles(articles, (orig, dupe) => {\n                        orig.views += dupe.views;\n                        orig.view_history.forEach((toViewsForDate) => {\n                            const filteredViews = dupe.view_history.filter((fromViewsForDate) => {\n                                return toViewsForDate.date === fromViewsForDate.date;\n                            });\n                            if (filteredViews.length) {\n                                toViewsForDate.views += filteredViews[0].views;\n                            }\n                        });\n                        return orig;\n                    });\n\n                articles = filterSpecial(articles, mainPageTitle.getPrefixedDBKey());\n                articles = articles.filter((entry) => !isBlocked(siteinfo.general.lang, entry.titles.canonical));\n\n                const vary = [];\n                if (siteinfo.variants && siteinfo.variants.length > 1) {\n                    vary.push('accept-language');\n                }\n                return {\n                    payload: {\n                        date: resultsDate,\n                        articles\n                    },\n                    meta: { revision: dateUtil.dateStringFrom(req), vary }\n                };\n            });\n        }).catch((err) => {\n        // Catch and handle the error if this is an aggregated request and the\n        // pageview data are not yet loaded.\n        if (req.query.aggregated && err.status === 404) {\n            return BBPromise.resolve({ meta: {} });\n        }\n        throw err;\n    });\n}\n\nmodule.exports = {\n    promise,\n\n    // visible for testing\n    filterSpecial,\n    isBlocked\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/news.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":15,"column":null,"nodeType":"Block","endLine":15,"endColumn":null},{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 8 column 7.","line":73,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":73,"endColumn":14},{"ruleId":"no-shadow","severity":1,"message":"'result' is already declared in the upper scope on line 81 column 19.","line":97,"column":20,"nodeType":"Identifier","messageId":"noShadow","endLine":97,"endColumn":26}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst parsoid = require('./parsoid');\nconst util = require('./util');\nconst apiUtil = require('./api-util');\nconst docUtil = require('./doc-util');\nconst si = require('./siteinfo');\nconst HTTPError = util.HTTPError;\nconst NEWS_TEMPLATES = require('../etc/news-sites');\n\n/**\n * Remove any elements matching selector from doc\n *\n * @param {Document} doc\n * @param {string} selector\n * @return {boolean} true if at least one node has been removed\n */\nfunction rmElements(doc, selector) {\n    const nodes = doc.querySelectorAll(selector) || [];\n    for (let idx = 0; idx < nodes.length; idx++) {\n        const node = nodes[idx];\n        node.parentNode.removeChild(node);\n    }\n    return nodes.length > 0;\n}\n\nfunction constructStory(req, lang, storyHtml) {\n    const story = { links: [] };\n    const linkTitles = [];\n\n    const topicAnchor = storyHtml.querySelector(NEWS_TEMPLATES[lang].topicAnchorSelector);\n    const topicTitle = util.extractDbTitleFromAnchor(topicAnchor);\n    storyHtml.querySelectorAll('a[rel=\"mw:WikiLink\"]').forEach((anchor) => {\n        const storyTitle = util.extractDbTitleFromAnchor(anchor);\n        if (!linkTitles.includes(storyTitle)) {\n            story.links.splice(\n                storyTitle === topicTitle ? 0 : story.links.length,\n                0,\n                apiUtil.restGetSummary(req, storyTitle)\n            );\n            linkTitles.push(storyTitle);\n        }\n    });\n\n    rmElements(storyHtml, 'span[style^=float:right]');\n    story.story = storyHtml.innerHTML;\n    if (story.story.length > 0 && story.links.length > 0) {\n        return story;\n    } else {\n        return undefined;\n    }\n}\n\nfunction promise(app, req) {\n    const lang = req.params.domain.split('.')[0];\n    const aggregated = !!req.query.aggregated;\n\n    if (!NEWS_TEMPLATES[lang]) {\n        if (aggregated) {\n            return BBPromise.resolve({});\n        }\n        throw new HTTPError({\n            status: 404,\n            type: 'not_found',\n            title: 'Not found',\n            detail: 'The language you have requested is not yet supported.'\n        });\n    }\n\n    req.params.title = NEWS_TEMPLATES[lang].title;\n    return si.getSiteInfo(req)\n    .then((si) => {\n        return parsoid.getParsoidHtml(req)\n        .then((response) => {\n            const selector = NEWS_TEMPLATES[lang].headlineSelectorAll;\n            const vary = [];\n            if (si.variants && si.variants.length > 1) {\n                vary.push('accept-language');\n            }\n            const result = {\n                payload: [],\n                meta: { etag: util.getRevisionFromEtag(response.headers), vary }\n            };\n            return docUtil.createDocument(response.body)\n            .then((doc) => {\n                const headlines = doc.querySelectorAll(selector);\n                Array.prototype.forEach.call(headlines, (storyHtml) => {\n                    const story = constructStory(req, lang, storyHtml);\n                    if (story) {\n                        result.payload.push(story);\n                    }\n                });\n\n                return result;\n            })\n            .then((result) =>\n                util.promiseAwaitAll(result, true, req.logger));\n        });\n    });\n}\n\nmodule.exports = {\n    promise,\n\n    // visible for testing\n    constructStory\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/on-this-day.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":34,"column":null,"nodeType":"Block","endLine":34,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":93,"column":null,"nodeType":"Block","endLine":93,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":109,"column":null,"nodeType":"Block","endLine":109,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":122,"column":null,"nodeType":"Block","endLine":122,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":123,"column":null,"nodeType":"Block","endLine":123,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":141,"column":null,"nodeType":"Block","endLine":141,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":161,"column":null,"nodeType":"Block","endLine":161,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":184,"column":null,"nodeType":"Block","endLine":184,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":231,"column":null,"nodeType":"Block","endLine":231,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":247,"column":null,"nodeType":"Block","endLine":247,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":286,"column":null,"nodeType":"Block","endLine":286,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":297,"column":null,"nodeType":"Block","endLine":297,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":298,"column":null,"nodeType":"Block","endLine":298,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":319,"column":null,"nodeType":"Block","endLine":319,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":337,"column":null,"nodeType":"Block","endLine":337,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":356,"column":null,"nodeType":"Block","endLine":356,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":388,"column":null,"nodeType":"Block","endLine":388,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":402,"column":null,"nodeType":"Block","endLine":402,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":416,"column":null,"nodeType":"Block","endLine":416,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":430,"column":null,"nodeType":"Block","endLine":430,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":444,"column":null,"nodeType":"Block","endLine":444,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":459,"column":null,"nodeType":"Block","endLine":459,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":460,"column":null,"nodeType":"Block","endLine":460,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":554,"column":null,"nodeType":"Block","endLine":554,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":598,"column":null,"nodeType":"Block","endLine":598,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Response' is undefined.","line":599,"column":null,"nodeType":"Block","endLine":599,"endColumn":null}],"suppressedMessages":[{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":485,"column":16,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":485,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst _ = require('lodash');\nconst parsoid = require('./parsoid');\nconst apiUtil = require('./api-util');\nconst util = require('./util');\nconst docUtil = require('./doc-util');\nconst si = require('./siteinfo');\nconst HTTPError = util.HTTPError;\nconst languages = require('./on-this-day.languages').languages;\n\n/**\n * WMFPage models a link to a page\n *\n * @param {!string} title a page title, i.e. 'Goat'\n * @param {!boolean} isTopic events can have multiple links to pages, if this particular link is\n * bolded, such as those seen on https://en.m.wikipedia.org/wiki/Wikipedia:On_this_day/Today,\n * isTopic will be true.\n */\nclass WMFPage {\n    constructor(title, isTopic) {\n        this.title = title;\n        if (isTopic) {\n            this.isTopic = isTopic;\n        }\n    }\n}\n\n/**\n * WMFEvent models an historical event\n *\n * @param {!string} text event description\n * @param {!Array} pages array of WMFPage's for the event\n * @param {!Integer} year the year the event first happened. A negative number indicates the event\n * occured 'BC' (sometimes also denoted 'BCE' - i.e. '32 BC' or '200 BCE)'.\n */\nclass WMFEvent {\n    constructor(text, pages, year) {\n        this.text = text;\n        this.pages = pages;\n        this.year = year;\n    }\n}\n\n/**\n * WMFHoliday models an annually occuring holiday.\n *\n * @param {!string} text event description\n * @param {!Array} pages array of WMFPage's for the event\n */\nclass WMFHoliday {\n    constructor(text, pages) {\n        this.text = text;\n        this.pages = pages;\n    }\n}\n\n/**\n * Gets day page titles, which are formatted as follows: 'May_20'\n *\n * @param {!string} monthNumberString string for month number ranging from '1' to '12'\n * @param {!string} dayNumberString string number for day of month\n * @param {!string} lang String for project language code\n * @return {!string} day page title. Example, inputs ('5', '20') returns 'May_20'\n */\nfunction titleForDayPageFromMonthDayNumberStrings(monthNumberString, dayNumberString, lang) {\n    const monthNumber = parseInt(monthNumberString, 10);\n    const monthName = languages[lang].monthNames[monthNumber - 1];\n    const dayNumber = parseInt(dayNumberString, 10);\n    return languages[lang].dayPage.nameFormatter(monthName, monthNumber, dayNumber);\n}\n\n/**\n * Gets selected page titles, which are formatted as follows:\n * 'Wikipedia:Selected_anniversaries/May_20'\n *\n * @param {!string} monthNumberString a string for month number ranging from '1' to '12'\n * @param {!string} dayNumberString a string number for day of month\n * @param {!string} lang a string for project language code\n * @return {!string} selected page title. Example, inputs ('5', '20') returns\n * 'Wikipedia:Selected_anniversaries/May_20'\n */\nfunction titleForSelectedPageFromMonthDayNumberStrings(monthNumberString, dayNumberString, lang) {\n    const monthNumber = parseInt(monthNumberString, 10);\n    const monthName = languages[lang].monthNames[monthNumber - 1];\n    const dayNumber = parseInt(dayNumberString, 10);\n    return languages[lang].selectedPage.nameFormatter(monthName, monthNumber, dayNumber);\n}\n\n/**\n * Gets day page Parsoid title for day pages such as https://en.m.wikipedia.org/wiki/May_20\n *\n * @param {!Request} req Request containing month (req.params.mm) and day (req.params.dd) number\n * string params\n * @return {!string} day page title for month and day number. Example, input mm '5' dd '20'\n * returns 'May_20'\n */\nconst dayTitleForRequest = (req) => {\n    const lang = req.params.domain.split('.')[0];\n    return titleForDayPageFromMonthDayNumberStrings(req.params.mm, req.params.dd, lang);\n};\n\n/**\n * Gets selected page Parsoid title for selected pages such as\n * https://en.m.wikipedia.org/wiki/Wikipedia:Selected_anniversaries/May_20. These pages are\n * also where 'Today' page https://en.m.wikipedia.org/wiki/Wikipedia:On_this_day/Today content comes\n * from.\n *\n * @param {!Request} req Request containing month (req.params.mm) and day (req.params.dd) number\n * string params\n * @return {!string} elected page title for month and day number. Example, input mm '5' dd '20\n * returns 'Wikipedia:Selected_anniversaries/May_20'\n */\nconst selectedTitleForRequest = (req) => {\n    const lang = req.params.domain.split('.')[0];\n    return titleForSelectedPageFromMonthDayNumberStrings(req.params.mm, req.params.dd, lang);\n};\n\n/**\n * Determines whether anchor is for specific year page.\n *\n * @param  {!AnchorElement}  anchor\n * @param  {!Integer}  year\n * @param  {!string}  era\n * @return {!boolean}\n */\nfunction isAnchorForYear(anchor, year, era) {\n    return new RegExp(String.raw`^${Math.abs(year)}\\s*${era}$`, 'i').test(anchor.title);\n}\n\n/**\n * Regex for determining whether anchor is not relative.\n *\n * @type {RegExp}\n */\nconst nonRelativeAnchorRegex = /^http[s]?.*/i;\n\n/**\n * Determines whether anchor is relative.\n *\n * @param  {!AnchorElement}  anchor\n * @return {!boolean}\n */\nfunction isAnchorRelative(anchor) {\n    return !nonRelativeAnchorRegex.test(anchor.href);\n}\n\n/**\n * Trims and also removes bracketed numbers.\n *\n * @param  {!string} string\n * @return {!string}\n */\nfunction cleanString(string) {\n    return string.replace(/\\[\\d+\\]/g, '').trim();\n}\n\n/**\n * Converts document anchor element to WMFPage model.\n *\n * @param {!AnchorElement} anchorElement Anchor to convert\n * @return {!WMFPage} a WMFPage\n */\nfunction wmfPageFromAnchorElement(anchorElement) {\n    const title = util.extractDbTitleFromAnchor(anchorElement);\n    const isTopic = anchorElement.parentElement.tagName === 'B';\n    return new WMFPage(title, isTopic);\n}\n\n/**\n * Converts document list element to WMFEvent model.\n * A regular expression determines valid \"year list elements\" and separating their components.\n *  For example:    '399 BC - Death of Socrates'\n *    RegEx Capture groups:\n *    1st - entire match (will be non-null if the string looks like a year list element)\n *                  '399 BC - Death of Socrates'\n *    2nd - year number, required\n *                  '399'\n *    3rd - 'BC' indication string, optional\n *                  'BC'\n *    4th - event description string, required\n *                  'Death of Socrates'\n *\n * @param {!ListElement} listElement List element to convert\n * @param {!boolean} isSelected If listElement is extracted from selectedPage\n * @param {!string} lang String for project language code\n * @return {?WMFEvent} a WMFEvent or null if the list element isn't formatted as an event\n */\nfunction wmfEventFromListElement(listElement, isSelected, lang) {\n    const regEx = isSelected ? languages[lang].selectedRegEx : languages[lang].yearListElementRegEx;\n\n    const match = listElement.textContent.match(regEx);\n    if (match === null) {\n        return null;\n    }\n\n    let year = parseInt(match[1], 10);\n    const isBC = (match[2] !== undefined);\n    let era = '';\n    if (isBC) {\n        // Negate BC years so they sort correctly\n        year = -year;\n        era = match[2];\n    }\n\n    // In Chinese, 'BC' is written in front of year. E.g. '前153年',\n    // so the 2nd capture group is 'BC' indication and 3rd is year number.\n    if (lang === 'zh') {\n        year = parseInt(match[2], 10);\n        if (match[1] !== '') {\n            year = -year;\n            era = match[2];\n        }\n    }\n\n    const textAfterYear = cleanString(match[3]);\n\n    const pages = Array.from(listElement.querySelectorAll('a'))\n        .filter((anchor) => {\n            return !isAnchorForYear(anchor, year, era);\n        })\n        .filter(isAnchorRelative)\n        .map(wmfPageFromAnchorElement);\n\n    return new WMFEvent(textAfterYear, pages, year);\n}\n\n/**\n * Converts document list element to WMFHoliday model\n *\n * @param {!ListElement} listElement List element to convert\n * @return {!WMFHoliday} a WMFHoliday\n */\nfunction wmfHolidayFromListElement(listElement) {\n    const text = cleanString(listElement.textContent);\n    const pages = Array.from(listElement.querySelectorAll('a'))\n      .filter(isAnchorRelative)\n      .map(wmfPageFromAnchorElement);\n    return new WMFHoliday(text, pages);\n}\n\n/**\n * WMFEvent comparator which properly handles negative 'BC'/'BCE' years\n *\n * @param {!WMFEvent} eventA First event\n * @param {!WMFEvent} eventB Second event\n * @return {!Integer} number of years between eventB and eventA ( yearB - yearA ).\n */\nfunction reverseChronologicalWMFEventComparator(eventA, eventB) {\n    // Reminder: BC years are negative numbers.\n    return eventB.year - eventA.year;\n}\n\n/**\n * Gets chronologically sorted array of WMFEvent models from an array of list elements.\n *\n * @param {!Array} listElements an array of document list elements\n * @param {!boolean} isSelected If listElement is extracted from selectedPage\n * @param {!string} lang a string for project language code\n * @return {!Array} sorted array of WMFEvent models, one for each year list element found\n * in 'listElements' argument\n */\nfunction eventsForYearListElements(listElements, isSelected, lang) {\n    return listElements\n        .map((element) => wmfEventFromListElement(element, isSelected, lang))\n        .filter((possibleEvent) => possibleEvent instanceof WMFEvent)\n        .sort(reverseChronologicalWMFEventComparator);\n}\n\n/**\n * Gets array of WMFHoliday models from an array of list elements.\n *\n * @param {!Array} listElements an array of document list elements\n * @return {!Array} an array of WMFHoliday models, one for each list element in\n * 'listElements' argument\n */\nfunction holidaysForHolidayListElements(listElements) {\n    return listElements\n      .map(wmfHolidayFromListElement)\n      .filter((possibleHoliday) => possibleHoliday instanceof WMFHoliday);\n}\n\n/**\n * Determine if listElement has nested list elements.\n *\n * @param  {!ListElement} listElement\n * @return {!boolean}\n */\nfunction listElementHasDescendentListElements(listElement) {\n    return listElement.querySelector('UL > LI') !== undefined;\n}\n\n/**\n * Return ancestor list element of listElement, if any.\n * Returns undefined unless listElement is nested inside another listElement.\n *\n * @param  {!ListElement} listElement\n * @return {?ListElement}\n */\nfunction ancestorListElementOfListElement(listElement) {\n    const parent = listElement.parentElement;\n    if (!parent) {\n        return undefined;\n    }\n    const grandparent = parent.parentElement;\n    if (!grandparent) {\n        return undefined;\n    }\n    if (parent.tagName === 'UL' && grandparent.tagName === 'LI') {\n        return grandparent;\n    }\n    return undefined;\n}\n\n/**\n * Gets prefix from a list element suitable to pre-pend to one of its decendent list element's\n * innerHTML.\n *\n * @param  {!ListElement} ancestorListElement\n * @param  {!string} lang a string for project language code\n * @return {!string}\n */\nfunction prefixFromAncestorListElement(ancestorListElement, lang) {\n    const firstLine = ancestorListElement.textContent.split('\\n')[0];\n    const yearPrefixRegEx = languages[lang].yearPrefixRegEx;\n    const result = firstLine.match(yearPrefixRegEx);\n    const isFirstLineAYear = (result !== null);\n    const firstLineStringToUse = isFirstLineAYear ? result[1] : firstLine;\n    const separator = isFirstLineAYear ? ' - ' : '\\n';\n    const prefix = `${firstLineStringToUse.trim()}${separator}`;\n    return prefix;\n}\n\n/**\n * Adds prefix from ancestor list elements to listElement.\n *\n * @param {!ListElement} listElement\n * @param {!string} lang a string for project language code\n */\nfunction addPrefixFromAncestorListElementsToListElement(listElement, lang) {\n    const prefixes = [];\n    let el = listElement;\n    while ((el = ancestorListElementOfListElement(el))) {\n        prefixes.push(prefixFromAncestorListElement(el, lang));\n    }\n    const prefixString = (prefixes.length ===  0) ? '' : `${prefixes.reverse().join('')}`;\n    listElement.innerHTML = `${_.escape(prefixString)}${listElement.innerHTML.trim()}`;\n}\n\n/**\n * Gets list elements grouped under a given heading. Couldn't use pure CSS selector syntax for\n * extracting these - this is because some languages use further sub-headings under, say, 'births',\n * for things like 'Births before 1900' and so forth. We want *all* births, in this case - that is,\n * we want all list elements after the h2 'births' heading up until the next h2 heading.\n *\n * @param {!Document} document a DOM document to examine\n * @param {!string} headingIds an array of heading id strings\n * @param {!string} lang a string for project language code\n * @return {!Array} an array of list elements\n */\nfunction listElementsByHeadingID(document, headingIds, lang) {\n    const elements = Array.from(document.querySelectorAll('h2,ul li'));\n    const listElements = [];\n    let grab = false;\n    for (const element of elements) {\n        if (element.tagName === 'H2') {\n            grab = false;\n            for (const headingId of headingIds) {\n                if (element.id === headingId) {\n                    grab = true;\n                }\n            }\n        } else if (element.tagName === 'LI' && grab) {\n\n            if (listElementHasDescendentListElements(element)) {\n                continue;\n            }\n            addPrefixFromAncestorListElementsToListElement(element, lang);\n            listElements.push(element);\n        }\n    }\n    return listElements;\n}\n\n/**\n * Gets array of WMFEvent models of births found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of births\n */\nconst birthsInDoc = (doc, lang) => {\n    const headingIds = languages[lang].dayPage.headingIds.births;\n    return { births:\n        eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n    };\n};\n\n/**\n * Gets array of WMFEvent models of deaths found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of deaths\n */\nconst deathsInDoc = (doc, lang) => {\n    const headingIds = languages[lang].dayPage.headingIds.deaths;\n    return { deaths:\n        eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n    };\n};\n\n/**\n * Gets array of WMFEvent models of events found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of events\n */\nconst eventsInDoc = (doc, lang) => {\n    const headingIds = languages[lang].dayPage.headingIds.events;\n    return { events:\n        eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n    };\n};\n\n/**\n * Gets array of WMFEvent models of holidays and observances found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of holidays and observances\n */\nconst holidaysInDoc = (doc, lang) => {\n    const headingIds = languages[lang].dayPage.headingIds.holidays;\n    return { holidays:\n        holidaysForHolidayListElements(listElementsByHeadingID(doc, headingIds, lang))\n    };\n};\n\n/**\n * Gets array of WMFEvent models of editor curated selected anniversaries found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of selected anniversaries\n */\nconst selectionsInDoc = (doc, lang) => {\n    const selector = languages[lang].selectedPage.listElementSelector;\n    return { selected:\n        eventsForYearListElements(doc.querySelectorAll(selector), true, lang)\n    };\n};\n\n/**\n * Gets dictionary of arrays of WMFEvent models of all types: 'births', 'deaths', 'events',\n * 'holidays' and 'selected'\n *\n * @param {!Document} dayDoc a DOM document of events on a given day\n * @param {!Document} selectionsDoc a DOM document of editor curated events for a given day\n * @param {!string} lang a string for project language code\n * @return {!Object} an object with keys for arrays of 'selected', 'events',\n * 'births', 'deaths', and 'holidays'\n */\nconst everythingInDayAndSelectionsDocs = (dayDoc, selectionsDoc, lang) => {\n    const result = {};\n    Object.assign(result,\n        selectionsInDoc(selectionsDoc, lang),\n        eventsInDoc(dayDoc, lang),\n        birthsInDoc(dayDoc, lang),\n        deathsInDoc(dayDoc, lang),\n        holidaysInDoc(dayDoc, lang)\n    );\n    return result;\n};\n\n/**\n * Determines whether a DOM element has a 'title' property\n *\n * @param {!Object} object DOM element to examine\n * @return {!boolean} true if the object has a 'title' property\n */\nfunction hasTitle(object) {\n    return (\n        object.hasOwnProperty('title') && // eslint-disable-line no-prototype-builtins\n        typeof object.title === 'string'\n    );\n}\n\n/**\n * Recursively creates summary promises instead of objects with 'title' properties\n * found in a dom object hierarchy\n *\n * @param {!Object} req the original request\n * @param {!Object} object Dom object to examine\n * @return {Object}\n */\nfunction fetchSummaries(req, object) {\n    if (hasTitle(object)) {\n        return apiUtil.restGetSummary(req, object.title);\n    }\n    for (const property in object) {\n        if (Object.prototype.hasOwnProperty.call(object, property)) {\n            if (typeof object[property] === 'object') {\n                object[property] = fetchSummaries(req, object[property]);\n            }\n        }\n    }\n    return object;\n}\n\n/**\n * Ends a response. Creates $merge nodes and sets eTags, status etc.\n *\n * @param {!Object} req the original request\n * @param {!Object} res a response to end\n * @param {!Object} output a payload to JSONify and deliver\n * @param {?number} revision a revision\n * @return {Promise}\n */\nconst endResponseWithOutput = (req, res, output, revision) => {\n    fetchSummaries(req, output);\n    return util.promiseAwaitAll(output, true, req.logger)\n    .then((resolvedOutput) => {\n        // Drop duplicate pages from the output\n        Object.keys(resolvedOutput).forEach((key) => {\n            if (!Array.isArray(resolvedOutput[key])) {\n                return;\n            }\n            resolvedOutput[key].forEach((elem) => {\n                if (!elem || !Array.isArray(elem.pages)) {\n                    return;\n                }\n                elem.pages = util.removeDuplicateTitles(elem.pages);\n            });\n        });\n        return si.getSiteInfo(req)\n        .then((siteinfo) => {\n            res.status(200);\n            util.setETag(res, revision);\n            if (siteinfo.variants && siteinfo.variants.length) {\n                res.header('vary', 'accept-language');\n            }\n            util.setContentType(res, util.CONTENT_TYPES.onthisday);\n            res.json(resolvedOutput).end();\n        });\n    });\n};\n\n/**\n * Promises to get Parsoid html for a title\n *\n * @param {!Object} app the application object\n * @param {!Request} req a request\n * @param {!string} title a page title to fetch\n * @return {!Promise} a Promise resolving to a response\n */\nfunction fetchParsoidHtmlForTitle(app, req, title) {\n    const parsoidReq = Object.create(req);\n    parsoidReq.params.title = title;\n    return parsoid.getParsoidHtml(parsoidReq);\n}\n\n/**\n * Fetches document and revision for URI\n *\n * @param {!Object} app the application object\n * @param {!Object} req a request\n * @param {!Function} titleFunction a function for getting source page title from request\n * @return {!Promise} a Promise resolving to array containing [document, revision] for URI\n */\nfunction fetchDocAndRevision(app, req, titleFunction) {\n    let revision;\n    return fetchParsoidHtmlForTitle(app, req, titleFunction(req))\n    .then((response) => {\n        revision = util.getRevisionFromEtag(response.headers);\n        return response.body;\n    })\n    .then(docUtil.createDocument)\n    .then((doc) => [ doc, revision ]);\n}\n\nconst assertLanguage = (lang) => {\n    if (!languages[lang]) {\n        throw new HTTPError({\n            status: 404,\n            type: 'not_found',\n            title: 'Not found',\n            detail: 'The language you have requested is not yet supported.'\n        });\n    }\n};\n\n/**\n * Fetches document for URI, extracts sought elements, responds\n *\n * @param {!Object} app the application object\n * @param {!Request} req a request\n * @param {!Response} res a response\n * @param {!Function} titleFunction a function for getting source page title from request\n * @param  {!Function} extractionFunction a function for extracting sought elements\n * (births, deaths, holidays, etc)\n * @return {!Promise} a Promise resolving when response has completed\n */\nfunction fetchAndRespond(app, req, res, titleFunction, extractionFunction) {\n    const lang = req.params.domain.split('.')[0];\n    assertLanguage(lang);\n\n    return fetchDocAndRevision(app, req, titleFunction)\n    .then((docAndRevision) => {\n        const doc = docAndRevision[0];\n        const revision = docAndRevision[1];\n        const output = extractionFunction(doc, lang);\n        return endResponseWithOutput(req, res, output, revision);\n    });\n}\n\nmodule.exports = {\n    dayTitleForRequest,\n    selectedTitleForRequest,\n    birthsInDoc,\n    deathsInDoc,\n    eventsInDoc,\n    holidaysInDoc,\n    selectionsInDoc,\n    everythingInDayAndSelectionsDocs,\n    assertLanguage,\n    fetchAndRespond,\n    fetchDocAndRevision,\n    titleForDayPageFromMonthDayNumberStrings,\n    WMFPage,\n    WMFEvent,\n    WMFHoliday,\n    wmfHolidayFromListElement,\n    wmfEventFromListElement,\n    wmfPageFromAnchorElement,\n    eventsForYearListElements,\n    reverseChronologicalWMFEventComparator,\n    listElementsByHeadingID,\n    isAnchorForYear,\n    addPrefixFromAncestorListElementsToListElement,\n    endResponseWithOutput\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/on-this-day.languages.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/pageviews.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":36,"column":1,"nodeType":"Block","endLine":40,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":37,"column":null,"nodeType":"Block","endLine":37,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":38,"column":null,"nodeType":"Block","endLine":38,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":39,"column":null,"nodeType":"Block","endLine":39,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Platform' is undefined.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Agent' is undefined.","line":54,"column":null,"nodeType":"Block","endLine":54,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Granularity' is undefined.","line":56,"column":null,"nodeType":"Block","endLine":56,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Platform' is undefined.","line":71,"column":null,"nodeType":"Block","endLine":71,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst api = require('./api-util');\nconst dateUtil = require('./date-util');\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Platform = {\n    ALL: 'all-access',\n    DESKTOP_WEB: 'desktop',\n    MOBILE_WEB: 'mobile-web',\n    MOBILE_APP: 'mobile-app'\n};\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Agent = {\n    ALL: 'all-agents',\n    USER: 'user',\n    SPIDER: 'spider',\n    BOT: 'bot'\n};\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Granularity = {\n    DAILY: 'daily'\n};\n\n/**\n * @private {!Object} app\n * @private {!string} apiDomain RESTBase API domain; e.g., wikimedia.org\n * @private {!Object} req\n */\nmodule.exports.Client = class {\n    /**\n     * @param {!Object} req original Request object\n     * @param {!Object} restReq new Request object for the Pageviews API\n     */\n    constructor(req, restReq) {\n        this.req = req;\n        this.restReq = restReq;\n    }\n\n    /**\n     * @param {!string} domain Top level project domain to filter; e.g., de.wikipedia\n     * @param {!Platform} platform Device platform to filter\n     * @param {!Agent} agent User agent to filter\n     * @param {!string} title Normalized article title\n     * @param {!Granularity} granularity Result time unit\n     * @param {!Date} start Inclusive start date\n     * @param {!Date} end Inclusive end date\n     * @return {!Promise} Daily pageviews on domain from platform for title from [start, end]\n     */\n    reqPage(domain, platform, agent, title, granularity, start, end) {\n        const titleEncoded = encodeURIComponent(title);\n        const startStr = dateUtil.formatYYYYMMDD(start);\n        const endStr = dateUtil.formatYYYYMMDD(end);\n        const path = `metrics/pageviews/per-article/${domain}/${platform}/${agent}/${titleEncoded}/${granularity}/${startStr}/${endStr}`;\n        return api.restApiGet(this.req, path, this.restReq);\n    }\n\n    /**\n     * @param {!string} domain Top level project domain to filter; e.g., de.wikipedia\n     * @param {!Platform} platform Device platform to filter\n     * @param {!Date} date\n     * @return {!Promise} Top pageviews on domain from platform for date\n     */\n    reqTop(domain, platform, date) {\n        const year = date.getUTCFullYear();\n        const month = dateUtil.pad(date.getUTCMonth() + 1);\n        const day = dateUtil.pad(date.getUTCDate());\n        const path = `metrics/pageviews/top/${domain}/${platform}/${year}/${month}/${day}`;\n        return api.restApiGet(this.req, path, this.restReq);\n    }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/parsoid.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/random.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'score' is already declared in the upper scope on line 31 column 10.","line":39,"column":9,"nodeType":"Identifier","messageId":"noShadow","endLine":39,"endColumn":14},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"scoredResults\" type.","line":56,"column":null,"nodeType":"Block","endLine":56,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Random article promise and related support functions.\n */\n\n'use strict';\n\nconst api = require('./api-util');\nconst util = require('./util');\nconst si = require('./siteinfo');\nconst BBPromise = require('bluebird');\n\n/**\n * Returns a numeric score which can be used to roughly determine the relative \"quality\" of random\n * results.\n *\n * Scores are calculated as follows:\n *\n * 2 points for having:\n *   thumb url\n *\n * 1 point for having:\n *   wikidataDescription\n *\n * -10 point for being:\n *   disambiguation page\n *   list item page\n *\n * @param {?Object} page Page object from MW API\n * @return {!number} quality score\n */\nfunction score(page) {\n\n    const isDisambiguationPage = (page.pageprops && page.pageprops.disambiguation) ||\n        (page.description && page.description.includes('disambiguation page'));\n\n    const isListPage = page.description && page.description.includes('Wikimedia list article');\n    /* eslint-enable no-restricted-syntax */\n\n    let score = 0.0;\n\n    if (page.pageprops && (page.pageprops.page_image || page.pageprops.page_image_free)) {\n        score += 2.0;\n    }\n    if (page.description) {\n        score += 1.0;\n    }\n    if (isDisambiguationPage || isListPage) {\n        score -= 10.0;\n    }\n    return score;\n}\n\n/**\n * Returns random page from max score pages list.\n *\n * @param scoredResults\n * @return {*}\n */\nfunction pickBestResult(scoredResults) {\n    const maxScore = Math.max.apply(\n        scoredResults,\n        scoredResults.map(function (page) { return page.score; })\n    );\n    const scoredPagesFiltered = scoredResults.filter((page) => page.score === maxScore);\n\n    return scoredPagesFiltered[Math.floor(Math.random() * scoredPagesFiltered.length)];\n}\n\n/**\n * Returns a single random result well suited to card-type layouts, i.e.\n * one likely to have a page image and wikidata description.\n *\n * Multiple random items are requested, but only the result having\n * the highest relative score is returned. Requesting about 12 items\n * seems to consistently produce a really \"good\" result.\n *\n * @param {!Object} req Request object\n * @return {!Promise}\n */\nfunction promise(req) {\n    const itemsToRequest = 12;\n    return BBPromise.join(\n        si.getSiteInfo(req),\n        api.mwApiGet(req, {\n            action: 'query',\n            format: 'json',\n            formatversion: 2,\n            generator: 'random',\n            grnfilterredir: 'nonredirects',\n            grnlimit: itemsToRequest,\n            grnnamespace: 0,\n            prop: 'description|pageprops'\n        }),\n        (siteinfo, queryResponse) => {\n            const pages = queryResponse.body.query.pages;\n            const scoredPages = pages.map((page) => Object.assign(page, { score: score(page) }));\n            const bestResult = pickBestResult(scoredPages);\n            return util.getDbTitle(bestResult.title, siteinfo);\n        });\n}\n\nmodule.exports = {\n    promise,\n\n    // visible for testing\n    pickBestResult\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/siteinfo.js","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":3,"column":1,"nodeType":"Program","messageId":"global","endLine":61,"endColumn":34}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"// use strict;\n\nconst api = require('./api-util');\n\nconst siteInfoCache = {};\n\nfunction findSharedRepoDomain(siteInfoRes) {\n    const sharedRepo = (siteInfoRes.body.query.repos || []).find((repo) => {\n        return repo.name === 'shared';\n    });\n    if (sharedRepo) {\n        const domainMatch = /^((:?https?:)?\\/\\/[^/]+)/.exec(sharedRepo.descBaseUrl);\n        if (domainMatch) {\n            return domainMatch[0];\n        }\n    }\n}\n\n/**\n * Builds a request for siteinfo data for the MW site for the request domain.\n *\n * @param {!Object} req the request object\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nfunction getSiteInfo(req) {\n    const rp = req.params;\n    if (!siteInfoCache[rp.domain]) {\n        const query = {\n            action: 'query',\n            meta: 'siteinfo|allmessages',\n            siprop: 'general|languagevariants|namespaces|namespacealiases|specialpagealiases',\n            ammessages: 'toc'\n        };\n        siteInfoCache[rp.domain] = api.mwApiGet(req, query)\n            .then((res) => {\n                const general = res.body.query.general;\n                const allmessages = res.body.query.allmessages;\n\n                return {\n                    general: {\n                        mainpage: general.mainpage,\n                        lang: general.lang,\n                        legaltitlechars: general.legaltitlechars,\n                        case: general.case,\n                        mobileserver: general.mobileserver,\n                        toctitle: allmessages[0].content\n                    },\n                    variants: res.body.query.languagevariants &&\n                        res.body.query.languagevariants[general.lang] &&\n                        Object.keys(res.body.query.languagevariants[general.lang]),\n                    namespaces: res.body.query.namespaces,\n                    namespacealiases: res.body.query.namespacealiases,\n                    specialpagealiases: res.body.query.specialpagealiases,\n                    sharedRepoRootURI: findSharedRepoDomain(res)\n                };\n            });\n    }\n    return siteInfoCache[rp.domain];\n}\n\nmodule.exports = { getSiteInfo };\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/swagger-ui.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/util.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":46,"column":null,"nodeType":"Block","endLine":46,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":104,"column":null,"nodeType":"Block","endLine":104,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":142,"column":null,"nodeType":"Block","endLine":142,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Router' is undefined.","line":222,"column":null,"nodeType":"Block","endLine":222,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":375,"column":null,"nodeType":"Block","endLine":375,"endColumn":null},{"ruleId":"default-param-last","severity":1,"message":"Default parameters should be last.","line":447,"column":34,"nodeType":"AssignmentPattern","messageId":"shouldBeLast","endLine":447,"endColumn":57}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst preq = require('preq');\nconst express = require('express');\nconst assert = require('assert');\nconst uuidv1 = require('uuid/v1');\nconst bunyan = require('bunyan');\nconst uuid = require('cassandra-uuid');\n\n// service-specific deps\nconst Title = require('mediawiki-title').Title;\n\n/**\n * Error instance wrapping HTTP error responses\n */\nclass HTTPError extends Error {\n\n    constructor(response) {\n        super();\n        Error.captureStackTrace(this, HTTPError);\n\n        if (response.constructor !== Object) {\n            // just assume this is just the error message\n            response = {\n                status: 500,\n                type: 'internal_error',\n                title: 'InternalError',\n                detail: response\n            };\n        }\n\n        this.name = this.constructor.name;\n        this.message = `${response.status}`;\n        if (response.type) {\n            this.message += `: ${response.type}`;\n        }\n\n        Object.assign(this, response);\n    }\n}\n\n/**\n * Generates an object suitable for logging out of a request object\n *\n * @param {!Request} req          the request\n * @param {?RegExp}  allowListRegExp  the RegExp used to filter headers\n * @return {!Object} an object containing the key components of the request\n */\nfunction reqForLog(req, allowListRegExp) {\n\n    const ret = {\n        url: req.originalUrl,\n        headers: {},\n        method: req.method,\n        params: req.params,\n        query: req.query,\n        body: req.body,\n        remoteAddress: req.connection.remoteAddress,\n        remotePort: req.connection.remotePort\n    };\n\n    if (req.headers && allowListRegExp) {\n        Object.keys(req.headers).forEach((hdr) => {\n            if (allowListRegExp.test(hdr)) {\n                ret.headers[hdr] = req.headers[hdr];\n            }\n        });\n    }\n\n    return ret;\n\n}\n\n/**\n * Serialises an error object in a form suitable for logging.\n *\n * @param {!Error} err error to serialise\n * @return {!Object} the serialised version of the error\n */\nfunction errForLog(err) {\n\n    const ret = bunyan.stdSerializers.err(err);\n    ret.status = err.status;\n    ret.type = err.type;\n    ret.detail = err.detail;\n\n    // log the stack trace only for 500 errors\n    if (Number.parseInt(ret.status, 10) !== 500) {\n        ret.stack = undefined;\n    }\n\n    return ret;\n\n}\n\n/**\n * Wraps all of the given router's handler functions with\n * promised try blocks so as to allow catching all errors,\n * regardless of whether a handler returns/uses promises\n * or not.\n *\n * @param {!Object} route the object containing the router and path to bind it to\n * @param {!Application} app the application object\n */\nfunction wrapRouteHandlers(route, app) {\n\n    route.router.stack.forEach((routerLayer) => {\n        let path = (route.path + routerLayer.route.path.slice(1))\n            .replace(/\\/:/g, '/--')\n            .replace(/^\\//, '')\n            .replace(/[/?]+$/, '');\n        path = app.metrics.normalizeName(path || 'root');\n        routerLayer.route.stack.forEach((layer) => {\n            const origHandler = layer.handle;\n            layer.handle = (req, res, next) => {\n                const startTime = Date.now();\n                BBPromise.try(() => origHandler(req, res, next))\n                .catch(next)\n                .finally(() => {\n                    let statusCode = parseInt(res.statusCode, 10) || 500;\n                    if (statusCode < 100 || statusCode > 599) {\n                        statusCode = 500;\n                    }\n                    const statusClass = `${Math.floor(statusCode / 100)}xx`;\n                    const stat = `${path}.${req.method}.`;\n                    app.metrics.endTiming([\n                        stat + statusCode,\n                        stat + statusClass,\n                        `${stat}ALL`\n                    ], startTime);\n                });\n            };\n        });\n    });\n\n}\n\n/**\n * Generates an error handler for the given applications and installs it.\n *\n * @param {!Application} app the application object to add the handler to\n */\nfunction setErrorHandler(app) {\n\n    app.use((err, req, res, next) => {\n        let errObj;\n        // ensure this is an HTTPError object\n        if (err.constructor === HTTPError) {\n            errObj = err;\n        } else if (err instanceof Error) {\n            // is this an HTTPError defined elsewhere? (preq)\n            if (err.constructor.name === 'HTTPError') {\n                const o = { status: err.status };\n                if (err.body && err.body.constructor === Object) {\n                    Object.keys(err.body).forEach((key) => {\n                        o[key] = err.body[key];\n                    });\n                } else {\n                    o.detail = err.body;\n                }\n                o.message = err.message;\n                errObj = new HTTPError(o);\n            } else {\n                // this is a standard error, convert it\n                errObj = new HTTPError({\n                    status: 500,\n                    type: 'internal_error',\n                    title: err.name,\n                    detail: err.detail || err.message,\n                    stack: err.stack\n                });\n            }\n        } else if (err.constructor === Object) {\n            // this is a regular object, suppose it's a response\n            errObj = new HTTPError(err);\n        } else {\n            // just assume this is just the error message\n            errObj = new HTTPError({\n                status: 500,\n                type: 'internal_error',\n                title: 'InternalError',\n                detail: err\n            });\n        }\n        // ensure some important error fields are present\n        errObj.status = errObj.status || 500;\n        errObj.type = errObj.type || 'internal_error';\n        // add the offending URI and method as well\n        errObj.method = errObj.method || req.method;\n        errObj.uri = errObj.uri || req.url;\n        // some set 'message' or 'description' instead of 'detail'\n        errObj.detail = errObj.detail || errObj.message || errObj.description || '';\n        // adjust the log level based on the status code\n        let level = 'error';\n        if (Number.parseInt(errObj.status, 10) < 400) {\n            level = 'trace';\n        } else if (Number.parseInt(errObj.status, 10) < 500) {\n            level = 'info';\n        }\n        // log the error\n        const component = (errObj.component ? errObj.component : errObj.status);\n        (req.logger || app.logger).log(`${level}/${component}`, errForLog(errObj));\n        // let through only non-sensitive info\n        const respBody = {\n            status: errObj.status,\n            type: errObj.type,\n            title: errObj.title,\n            detail: errObj.detail,\n            method: errObj.method,\n            uri: errObj.uri\n        };\n        res.status(errObj.status).json(respBody);\n    });\n\n}\n\n/**\n * Creates a new router with some default options.\n *\n * @param {?Object} [opts] additional options to pass to express.Router()\n * @return {!Router} a new router object\n */\nfunction createRouter(opts) {\n\n    const options = {\n        mergeParams: true\n    };\n\n    if (opts && opts.constructor === Object) {\n        Object.assign(options, opts);\n    }\n\n    return new express.Router(options);\n\n}\n\nfunction removeFragment(href) {\n    if (href.includes('#')) {\n        return href.slice(0, Math.max(0, href.indexOf('#')));\n    }\n    return href;\n}\n\nfunction removeLinkPrefix(href) {\n    return href.replace(/^\\.\\//, '');\n}\n\nfunction extractDbTitleFromAnchor(anchor) {\n    return anchor && removeFragment(removeLinkPrefix(anchor.getAttribute('href')));\n}\n\nfunction getRbPageSummaryUrl(restbaseTpl, domain, title) {\n    const request = restbaseTpl.expand({\n        request: {\n            params: {\n                domain,\n                path: `page/summary/${encodeURIComponent(title)}`\n            }\n        }\n    });\n    return request.uri;\n}\n\n/**\n * Get a Title object for a MW title string\n *\n * @param {!string} title a MediaWiki page title string\n * @param {!Object} siteinfo siteinfo from the MW API\n * @return {!string} a mediawiki-title Title object that can be used to obtain a db-normalized title\n */\nfunction getDbTitle(title, siteinfo) {\n    return Title.newFromText(title, siteinfo).getPrefixedDBKey();\n}\n\n/**\n * Retrieves the etag from the headers if present. Strips the weak etag prefix (W/) and enclosing\n * quotes.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?string} etag\n */\nfunction getEtagFromHeaders(headers) {\n    if (headers && headers.etag) {\n        return headers.etag.replace(/^W\\//, '').replace(/\"/g, '');\n    }\n}\n\n/**\n * Retrieves the revision from the etag emitted by Parsoid.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?string} revision portion of etag, if found\n */\nfunction getRevisionFromEtag(headers) {\n    const etag = getEtagFromHeaders(headers);\n    if (etag) {\n        return etag.split('/').shift();\n    }\n}\n\n/**\n * Retrieves the revision and tid from the etag emitted by Parsoid.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?Object} revision and tid from etag, if found\n */\nfunction getRevAndTidFromEtag(headers) {\n    const etag = getEtagFromHeaders(headers);\n    if (etag) {\n        const etagComponents = etag.split('/');\n        return {\n            revision: etagComponents[0],\n            tid: etagComponents[1]\n        };\n    }\n}\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\"<<\"] }] */\nfunction hashCode(string) {\n    return string.split('').reduce((prevHash, currVal) =>\n        ((prevHash << 5) - prevHash) + currVal.charCodeAt(0), 0);\n}\n\n/**\n * Remove the top-level domain from a domain string, e.g., 'en.wikipedia.org' ->\n * 'en.wikipedia'.\n *\n * @param {!string} domain domain string\n * @return {!string} domain string minus the TLD\n */\nfunction removeTLD(domain) {\n    return domain.split('.').slice(0, 2).join('.');\n}\n\n/**\n * Sets the ETag header on the response object, comprised of the revision ID and\n * the time UUID. If the latter is not given, the current time stamp is used to\n * generate it.\n *\n * @param {!Object} response The HTTPResponse object on which to set the header\n * @param {?number} revision The revision integer ID to use\n * @param {?string} tid      The time UUID to use; optional\n */\nfunction setETag(response, revision, tid = undefined) {\n    assert(['string', 'number'].includes(typeof revision));\n    assert(['string', 'undefined'].includes(typeof tid));\n    if (!tid) {\n        tid = uuid.TimeUuid.now().toString();\n    }\n    response.set('etag', `\"${revision}/${tid}\"`);\n}\n\nfunction getContentTypeString(spec) {\n    return `${spec.type}; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/${spec.name}/${spec.version}\"`;\n}\n\nfunction setContentType(res, spec) {\n    if (!spec.name || !spec.version) {\n        throw new HTTPError({\n            status: 500,\n            type: 'invalid_content_type',\n            title: 'Only use the allowed content-types',\n            detail: `${spec.name}/${spec.version} is not an allowed content-type!`\n        });\n    }\n\n    res.type(getContentTypeString(spec));\n}\n\n/**\n * Adds logger to the request and logs it.\n *\n * @param {!*} req request object\n * @param {!Application} app application object\n */\nfunction initAndLogRequest(req, app) {\n    req.headers = req.headers || {};\n    req.headers['x-request-id'] = req.headers['x-request-id'] || uuidv1();\n    req.logger = app.logger.child({\n        request_id: req.headers['x-request-id'],\n        request: reqForLog(req, app.conf.log_header_allowlist)\n    });\n    req.context = { reqId: req.headers['x-request-id'] };\n    req.issueRequest = (request) => {\n        if (!(request.constructor === Object)) {\n            request = { uri: request };\n        }\n        if (request.url) {\n            request.uri = request.url;\n            delete request.url;\n        }\n        if (!request.uri) {\n            return BBPromise.reject(new HTTPError({\n                status: 500,\n                type: 'internal_error',\n                title: 'No request to issue',\n                detail: 'No request has been specified'\n            }));\n        }\n        request.method = request.method || 'get';\n        request.headers = request.headers || {};\n        Object.assign(request.headers, {\n            'user-agent': app.conf.user_agent,\n            'x-request-id': req.context.reqId\n        });\n        req.logger.log('trace/req', { msg: 'Outgoing request', out_request: request });\n        return preq(request);\n    };\n    req.logger.log('trace/req', { msg: 'Incoming request' });\n}\n\n/**\n * Remove entries with duplicate 'title' values from an array of objects\n *\n * @param {?Array}      arr Array of page/article objects\n * @param {?Function}   upd Optional function to update the original item based on the duplicate.\n *                          Takes two parameters (orig, dupe): orig - the original object,\n *                          dupe - the duplicate\n * @return {?Array}         arr deduplicated by 'title'\n */\nfunction removeDuplicateTitles(arr, upd) {\n    const titles = {};\n    return arr.filter((item, idx, init) => {\n        if (titles[item.title]) {\n            if (upd) {\n                const orig = init[init.findIndex((el) => el.title === item.title)];\n                upd(orig, item);\n            }\n            return false;\n        }\n        titles[item.title] = true;\n        return true;\n    });\n}\n\n/**\n * For a free-form object nested object with promises, awaits all promises in parallel.\n *\n * @param {!Object} object\n * @param {boolean} ignoreRejections whether to ignore rejected promises.\n *                  If true, rejected promises are ignored and removed from the object.\n *                  If false, the first rejection is propagated to the returned promise.\n * @param {Object} logger optional logger to log promise rejections.\n * @return {Promise<Object>}\n */\nfunction promiseAwaitAll(object, ignoreRejections = true, logger) {\n    const promises = [];\n    function collectPromises(subObject, replaceCallback, removeCallback) {\n        if (subObject instanceof BBPromise) {\n            promises.push(subObject\n            .then(\n                (value) => replaceCallback(value),\n                (err) => {\n                    if (ignoreRejections) {\n                        if (logger) {\n                            logger.log('warn', err);\n                        }\n                        removeCallback();\n                    } else {\n                        throw err;\n                    }\n                }\n            ));\n        } else if (Array.isArray(subObject)) {\n            subObject.forEach((item) =>\n                collectPromises(\n                    item,\n                    (value) => {\n                        subObject[subObject.indexOf(item)] = value;\n                    },\n                    () => {\n                        subObject.splice(subObject.indexOf(item), 1);\n                    }));\n        } else if (typeof subObject === 'object') {\n            Object.keys(subObject).forEach((key) => {\n                collectPromises(\n                    subObject[key],\n                    (value) => {\n                        subObject[key] = value;\n                    },\n                    () => {\n                        delete subObject[key];\n                    });\n            });\n        }\n    }\n    collectPromises(object);\n    return BBPromise.all(promises).thenReturn(object);\n}\n\nconst CONTENT_TYPES = {\n    html: { name: 'HTML', version: '2.1.0', type: 'text/html' },\n    announcements: { name: 'Announcements', version: '0.3.0', type: 'application/json' },\n    onthisday: { name: 'OnThisDay', version: '0.3.3', type: 'application/json' },\n    availability: { name: 'Availability', version: '1.0.1', type: 'application/json' },\n    random: { name: 'Random', version: '0.7.0', type: 'application/json' },\n    unpublished: { name: 'Unpublished', version: '0.0.0', type: 'application/json' }\n};\n\nmodule.exports = {\n    HTTPError,\n    initAndLogRequest,\n    wrapRouteHandlers,\n    setErrorHandler,\n    router: createRouter,\n\n    // service-specific\n    extractDbTitleFromAnchor,\n    getContentTypeString,\n    getRbPageSummaryUrl,\n    getDbTitle,\n    getRevisionFromEtag,\n    getRevAndTidFromEtag,\n    hashCode,\n    removeTLD,\n    setETag,\n    setContentType,\n    promiseAwaitAll,\n    removeDuplicateTitles,\n    CONTENT_TYPES\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":11420,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"name\": \"@wikimedia/wikifeeds\",\n\t\"version\": \"1.0.0\",\n\t\"lockfileVersion\": 2,\n\t\"requires\": true,\n\t\"packages\": {\n\t\t\"\": {\n\t\t\t\"name\": \"@wikimedia/wikifeeds\",\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"license\": \"Apache-2.0\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"body-parser\": \"^1.19.0\",\n\t\t\t\t\"bunyan\": \"^1.8.14\",\n\t\t\t\t\"cassandra-uuid\": \"^0.1.0\",\n\t\t\t\t\"compression\": \"^1.7.4\",\n\t\t\t\t\"domino\": \"^2.1.6\",\n\t\t\t\t\"escape-string-regexp\": \"^2.0.0\",\n\t\t\t\t\"express\": \"^4.17.1\",\n\t\t\t\t\"http-shutdown\": \"^1.2.2\",\n\t\t\t\t\"js-yaml\": \"^3.14.0\",\n\t\t\t\t\"lodash\": \"^4.17.20\",\n\t\t\t\t\"mediawiki-title\": \"^0.7.4\",\n\t\t\t\t\"preq\": \"^0.5.14\",\n\t\t\t\t\"service-runner\": \"^2.7.8\",\n\t\t\t\t\"striptags\": \"^3.1.1\",\n\t\t\t\t\"swagger-router\": \"^0.7.4\",\n\t\t\t\t\"swagger-ui-dist\": \"^3.34.0\"\n\t\t\t},\n\t\t\t\"devDependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.5\",\n\t\t\t\t\"csv-parse\": \"^4.12.0\",\n\t\t\t\t\"eslint-config-wikimedia\": \"0.24.0\",\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"mocha\": \"^6.2.3\",\n\t\t\t\t\"mocha-lcov-reporter\": \"^1.3.0\",\n\t\t\t\t\"mocha.parallel\": \"^0.15.6\",\n\t\t\t\t\"nock\": \"^13.1.3\",\n\t\t\t\t\"nyc\": \"^14.1.1\",\n\t\t\t\t\"pre-commit\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/code-frame\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/highlight\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/generator\": {\n\t\t\t\"version\": \"7.11.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz\",\n\t\t\t\"integrity\": \"sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"jsesc\": \"^2.5.1\",\n\t\t\t\t\"source-map\": \"^0.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-function-name\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-get-function-arity\": \"^7.10.4\",\n\t\t\t\t\"@babel/template\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-get-function-arity\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-split-export-declaration\": {\n\t\t\t\"version\": \"7.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz\",\n\t\t\t\"integrity\": \"sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.11.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-validator-identifier\": {\n\t\t\t\"version\": \"7.19.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz\",\n\t\t\t\"integrity\": \"sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.9.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/highlight\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"chalk\": \"^2.0.0\",\n\t\t\t\t\"js-tokens\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/parser\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"parser\": \"bin/babel-parser.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/template\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/parser\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/generator\": \"^7.11.5\",\n\t\t\t\t\"@babel/helper-function-name\": \"^7.10.4\",\n\t\t\t\t\"@babel/helper-split-export-declaration\": \"^7.11.0\",\n\t\t\t\t\"@babel/parser\": \"^7.11.5\",\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"globals\": \"^11.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.19\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/debug\": {\n\t\t\t\"version\": \"4.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\"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)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/globals\": {\n\t\t\t\"version\": \"11.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@babel/types\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"lodash\": \"^4.17.19\",\n\t\t\t\t\"to-fast-properties\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@es-joy/jsdoccomment\": {\n\t\t\t\"version\": \"0.23.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz\",\n\t\t\t\"integrity\": \"sha512-cCtumxG+qrYORGeOkDQ58GtSt/bb2XiP9GC0x2YduoUEX2EmBQ48FtoZMUs+8wiIdTDN1izUiRUD2FDu+p+Lvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"jsdoc-type-pratt-parser\": \"~2.2.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12 || ^14 || ^16 || ^17\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint-community/eslint-utils\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint-community/regexpp\": {\n\t\t\t\"version\": \"4.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BISJ6ZE4xQsuL/FmsyRaiffpq977bMlsKfGHTQrOGFErfByxIe6iZTxPf/00Zon9b9a7iUykfQwejN3s2ZW/Bw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.0.0 || ^14.0.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.4\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"espree\": \"^9.5.0\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.2.1\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/argparse\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/js-yaml\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@eslint/js\": {\n\t\t\t\"version\": \"8.36.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array\": {\n\t\t\t\"version\": \"0.11.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz\",\n\t\t\t\"integrity\": \"sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@humanwhocodes/object-schema\": \"^1.2.1\",\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@humanwhocodes/module-importer\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.22\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"github\",\n\t\t\t\t\"url\": \"https://github.com/sponsors/nzakas\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/object-schema\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"5.2.45\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.45.tgz\",\n\t\t\t\"integrity\": \"sha512-Er03EjYAx3TTMvdBdm6Z3SG4IV0/FWfRJP4CBNtRLWoPVVyp9BdYt/9X4zSFw4GAIOVx6+6r7d8VAw0sbPtMjg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@nodelib/fs.scandir\": {\n\t\t\t\"version\": \"2.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@nodelib/fs.stat\": \"2.0.5\",\n\t\t\t\t\"run-parallel\": \"^1.1.9\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@nodelib/fs.stat\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@nodelib/fs.walk\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n\t\t\t\"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@nodelib/fs.scandir\": \"2.1.5\",\n\t\t\t\t\"fastq\": \"^1.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@types/normalize-package-data\": {\n\t\t\t\"version\": \"2.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/accepts\": {\n\t\t\t\"version\": \"1.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-types\": \"~2.1.24\",\n\t\t\t\t\"negotiator\": \"0.6.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/acorn\": {\n\t\t\t\"version\": \"8.8.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz\",\n\t\t\t\"integrity\": \"sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"acorn\": \"bin/acorn\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/acorn-jsx\": {\n\t\t\t\"version\": \"5.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ajv\": {\n\t\t\t\"version\": \"6.12.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz\",\n\t\t\t\"integrity\": \"sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fast-deep-equal\": \"^3.1.1\",\n\t\t\t\t\"fast-json-stable-stringify\": \"^2.0.0\",\n\t\t\t\t\"json-schema-traverse\": \"^0.4.1\",\n\t\t\t\t\"uri-js\": \"^4.2.2\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"github\",\n\t\t\t\t\"url\": \"https://github.com/sponsors/epoberezkin\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-colors\": {\n\t\t\t\"version\": \"3.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-regex\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-styles\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-convert\": \"^1.9.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/append-transform\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"default-require-extensions\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/archy\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/archy/-/archy-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/argparse\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"sprintf-js\": \"~1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/array-flatten\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=\"\n\t\t},\n\t\t\"node_modules/asap\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=\"\n\t\t},\n\t\t\"node_modules/asn1\": {\n\t\t\t\"version\": \"0.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \"~2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/assert-plus\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ast-metadata-inferer\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^3.3.14\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"3.3.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz\",\n\t\t\t\"integrity\": \"sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/async\": {\n\t\t\t\"version\": \"0.9.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/async/-/async-0.9.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=\"\n\t\t},\n\t\t\"node_modules/asynckit\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-x57Zf380y48robyXkLzDZkdLS3k=\"\n\t\t},\n\t\t\"node_modules/aws-sign2\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/aws4\": {\n\t\t\t\"version\": \"1.10.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==\"\n\t\t},\n\t\t\"node_modules/balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/bcrypt-pbkdf\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"tweetnacl\": \"^0.14.3\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bindings\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"file-uri-to-path\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bl\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bl/-/bl-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.3.5\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bluebird\": {\n\t\t\t\"version\": \"3.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n\t\t},\n\t\t\"node_modules/body-parser\": {\n\t\t\t\"version\": \"1.19.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"raw-body\": \"2.4.0\",\n\t\t\t\t\"type-is\": \"~1.6.17\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/boolbase\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n\t\t\t\"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/browser-stdout\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/browserslist\": {\n\t\t\t\"version\": \"4.21.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n\t\t\t\"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001449\",\n\t\t\t\t\"electron-to-chromium\": \"^1.4.284\",\n\t\t\t\t\"node-releases\": \"^2.0.8\",\n\t\t\t\t\"update-browserslist-db\": \"^1.0.10\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"browserslist\": \"cli.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/browserslist-config-wikimedia\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-U/fmsaGlCKOqRIjKqXwQ44qFqiStngRTphj1Cf6IHV6J8OK8T0gu9dKc7Ljq4v7bwhnhN+YCCa4fA3nZlPNivQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/buffer-from\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/builtin-modules\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bunyan\": {\n\t\t\t\"version\": \"1.8.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz\",\n\t\t\t\"integrity\": \"sha512-LlahJUxXzZLuw/hetUQJmRgZ1LF6+cr5TPpRj6jf327AsiIq2jhYEH4oqUUkVKTor+9w2BT3oxVwhzE5lw9tcg==\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.10.0\"\n\t\t\t],\n\t\t\t\"bin\": {\n\t\t\t\t\"bunyan\": \"bin/bunyan\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"dtrace-provider\": \"~0.8\",\n\t\t\t\t\"moment\": \"^2.19.3\",\n\t\t\t\t\"mv\": \"~2\",\n\t\t\t\t\"safe-json-stringify\": \"~1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bunyan-syslog-udp\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan-syslog-udp/-/bunyan-syslog-udp-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-tY6iaw+iYbCjlsAgAyO4CeA7Usnj5VndygMfd2PcHK++626oMoHANcdsH5tq5VxRPsbk9M1fbuk0a5pX9axV2w==\"\n\t\t},\n\t\t\"node_modules/bytes\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/caching-transform\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"package-hash\": \"^3.0.0\",\n\t\t\t\t\"write-file-atomic\": \"^2.4.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/callsites\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/camelcase\": {\n\t\t\t\"version\": \"5.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/caniuse-lite\": {\n\t\t\t\"version\": \"1.0.30001469\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz\",\n\t\t\t\"integrity\": \"sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"node_modules/caseless\": {\n\t\t\t\"version\": \"0.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",\n\t\t\t\"integrity\": \"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\"\n\t\t},\n\t\t\"node_modules/cassandra-uuid\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cassandra-uuid/-/cassandra-uuid-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XM/UdAVoXJWDcqxVqNe2agYat51C25g5m8nkJ2/ai3QvHwWsRx/+OlziD1c1/jYLlP7kcC1DMO2IF5ldt8EV+A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"long\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/chalk\": {\n\t\t\t\"version\": \"2.4.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.1\",\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\",\n\t\t\t\t\"supports-color\": \"^5.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/chalk/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ci-info\": {\n\t\t\t\"version\": \"3.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/sibiraj-s\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clarinet\": {\n\t\t\t\"version\": \"0.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clarinet/-/clarinet-0.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-bMkSuTE43IZ/wnPNNOqQ6D4FRxk=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"chrome\": \">=16.0.912\",\n\t\t\t\t\"firefox\": \">=0.8.0\",\n\t\t\t\t\"node\": \">=0.3.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clean-regexp\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clean-regexp/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cliui\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^3.1.0\",\n\t\t\t\t\"strip-ansi\": \"^5.2.0\",\n\t\t\t\t\"wrap-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/color-convert\": {\n\t\t\t\"version\": \"1.9.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-name\": \"1.1.3\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/color-name\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=\"\n\t\t},\n\t\t\"node_modules/colors\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/colors/-/colors-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.1.90\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/combined-stream\": {\n\t\t\t\"version\": \"1.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"delayed-stream\": \"~1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/comment-parser\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/commondir\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/compressible\": {\n\t\t\t\"version\": \"2.0.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n\t\t\t\"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-db\": \">= 1.43.0 < 2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/compression\": {\n\t\t\t\"version\": \"1.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"accepts\": \"~1.3.5\",\n\t\t\t\t\"bytes\": \"3.0.0\",\n\t\t\t\t\"compressible\": \"~2.0.16\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"on-headers\": \"~1.0.2\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/compression/node_modules/bytes\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/concat-stream\": {\n\t\t\t\"version\": \"1.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": [\n\t\t\t\t\"node >= 0.8\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"buffer-from\": \"^1.0.0\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.2.2\",\n\t\t\t\t\"typedarray\": \"^0.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/content-disposition\": {\n\t\t\t\"version\": \"0.5.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"5.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/content-type\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/convert-source-map\": {\n\t\t\t\"version\": \"1.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cookie\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cookie-signature\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-4wOogrNCzD7oylE6eZmXNNqzriw=\"\n\t\t},\n\t\t\"node_modules/core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=\"\n\t\t},\n\t\t\"node_modules/cp-file\": {\n\t\t\t\"version\": \"6.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"nested-error-stacks\": \"^2.0.0\",\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"path-key\": \"^3.1.0\",\n\t\t\t\t\"shebang-command\": \"^2.0.0\",\n\t\t\t\t\"which\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/shebang-command\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-regex\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/shebang-regex\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/which\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"node-which\": \"bin/node-which\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cssesc\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"cssesc\": \"bin/cssesc\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/csv-parse\": {\n\t\t\t\"version\": \"4.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/csv-parse/-/csv-parse-4.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wPQl3H79vWLPI8cgKFcQXl0NBgYYEqVnT1i6/So7OjMpsI540oD7p93r3w6fDSyPvwkTepG05F69/7AViX2lXg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/dashdash\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/debug\": {\n\t\t\t\"version\": \"2.6.9\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n\t\t\t\"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/decamelize\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/deep-is\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/default-require-extensions\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/define-properties\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"object-keys\": \"^1.0.12\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/delayed-stream\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/depd\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/destroy\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=\"\n\t\t},\n\t\t\"node_modules/diff\": {\n\t\t\t\"version\": \"3.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/diff/-/diff-3.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.3.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/dnscache\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asap\": \"^2.0.6\",\n\t\t\t\t\"lodash.clone\": \"^4.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/doctrine\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"esutils\": \"^2.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/dom-storage\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/domino\": {\n\t\t\t\"version\": \"2.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/domino/-/domino-2.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==\"\n\t\t},\n\t\t\"node_modules/dtrace-provider\": {\n\t\t\t\"version\": \"0.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.14.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ecc-jsbn\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ee-first\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=\"\n\t\t},\n\t\t\"node_modules/electron-to-chromium\": {\n\t\t\t\"version\": \"1.4.340\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz\",\n\t\t\t\"integrity\": \"sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/emoji-regex\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\"\n\t\t},\n\t\t\"node_modules/encodeurl\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/error-ex\": {\n\t\t\t\"version\": \"1.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-arrayish\": \"^0.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es-abstract\": {\n\t\t\t\"version\": \"1.17.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz\",\n\t\t\t\"integrity\": \"sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"es-to-primitive\": \"^1.2.1\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has\": \"^1.0.3\",\n\t\t\t\t\"has-symbols\": \"^1.0.1\",\n\t\t\t\t\"is-callable\": \"^1.2.0\",\n\t\t\t\t\"is-regex\": \"^1.1.0\",\n\t\t\t\t\"object-inspect\": \"^1.7.0\",\n\t\t\t\t\"object-keys\": \"^1.1.1\",\n\t\t\t\t\"object.assign\": \"^4.1.0\",\n\t\t\t\t\"string.prototype.trimend\": \"^1.0.1\",\n\t\t\t\t\"string.prototype.trimstart\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es-to-primitive\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-callable\": \"^1.1.4\",\n\t\t\t\t\"is-date-object\": \"^1.0.1\",\n\t\t\t\t\"is-symbol\": \"^1.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es6-error\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/escalade\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/escape-html\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=\"\n\t\t},\n\t\t\"node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint\": {\n\t\t\t\"version\": \"8.36.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@eslint-community/eslint-utils\": \"^4.2.0\",\n\t\t\t\t\"@eslint-community/regexpp\": \"^4.4.0\",\n\t\t\t\t\"@eslint/eslintrc\": \"^2.0.1\",\n\t\t\t\t\"@eslint/js\": \"8.36.0\",\n\t\t\t\t\"@humanwhocodes/config-array\": \"^0.11.8\",\n\t\t\t\t\"@humanwhocodes/module-importer\": \"^1.0.1\",\n\t\t\t\t\"@nodelib/fs.walk\": \"^1.2.8\",\n\t\t\t\t\"ajv\": \"^6.10.0\",\n\t\t\t\t\"chalk\": \"^4.0.0\",\n\t\t\t\t\"cross-spawn\": \"^7.0.2\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"doctrine\": \"^3.0.0\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"eslint-scope\": \"^7.1.1\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.5.0\",\n\t\t\t\t\"esquery\": \"^1.4.2\",\n\t\t\t\t\"esutils\": \"^2.0.2\",\n\t\t\t\t\"fast-deep-equal\": \"^3.1.3\",\n\t\t\t\t\"file-entry-cache\": \"^6.0.1\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"glob-parent\": \"^6.0.2\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"grapheme-splitter\": \"^1.0.4\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.0.0\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"is-glob\": \"^4.0.0\",\n\t\t\t\t\"is-path-inside\": \"^3.0.3\",\n\t\t\t\t\"js-sdsl\": \"^4.1.4\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"lodash.merge\": \"^4.6.2\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"optionator\": \"^0.9.1\",\n\t\t\t\t\"strip-ansi\": \"^6.0.1\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.0\",\n\t\t\t\t\"text-table\": \"^0.2.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"eslint\": \"bin/eslint.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-config-wikimedia\": {\n\t\t\t\"version\": \"0.24.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz\",\n\t\t\t\"integrity\": \"sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"browserslist-config-wikimedia\": \"^0.4.0\",\n\t\t\t\t\"eslint\": \"^8.31.0\",\n\t\t\t\t\"eslint-plugin-compat\": \"^4.0.2\",\n\t\t\t\t\"eslint-plugin-es-x\": \"^5.2.1\",\n\t\t\t\t\"eslint-plugin-jsdoc\": \"39.2.2\",\n\t\t\t\t\"eslint-plugin-json-es\": \"^1.5.7\",\n\t\t\t\t\"eslint-plugin-mediawiki\": \"^0.4.0\",\n\t\t\t\t\"eslint-plugin-mocha\": \"^9.0.0\",\n\t\t\t\t\"eslint-plugin-no-jquery\": \"^2.7.0\",\n\t\t\t\t\"eslint-plugin-node\": \"^11.1.0\",\n\t\t\t\t\"eslint-plugin-qunit\": \"^7.2.0\",\n\t\t\t\t\"eslint-plugin-unicorn\": \"^42.0.0\",\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"eslint-plugin-wdio\": \"^7.19.4\",\n\t\t\t\t\"eslint-plugin-yml\": \"^0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^5.2.34\",\n\t\t\t\t\"ast-metadata-inferer\": \"^0.7.0\",\n\t\t\t\t\"browserslist\": \"^4.21.5\",\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001451\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"lodash.memoize\": \"4.1.2\",\n\t\t\t\t\"semver\": \"7.3.8\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=16.x\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/find-up\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/locate-path\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/p-limit\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/p-locate\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-es-x\": {\n\t\t\t\"version\": \"5.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-5.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6Mniw760Nhd6brnDy+rz857LD+icZe5wXmsvXSuJ84svM0Q53ulJxpMhTJmpqHaLzYh7fuGAJ8V62ohbmqF+jA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0 || ^3.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ota-meshi\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=4.19.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc\": {\n\t\t\t\"version\": \"39.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ybkvja0p9JRzHEd2ST9h+Z47DLOuPyXpeb6r18/zKHdMmggPU1J0/zl+F0phea8ze9rMxi42MJVmGXi2NZ7PpA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@es-joy/jsdoccomment\": \"~0.23.1\",\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"debug\": \"^4.3.4\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"semver\": \"^7.3.7\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^14 || ^16 || ^17\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint-plugin-json-es\": {\n\t\t\t\"version\": \"1.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz\",\n\t\t\t\"integrity\": \"sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.3.1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">= 7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mediawiki\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"upath\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha\": {\n\t\t\t\"version\": \"9.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"ramda\": \"^0.27.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=7.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-no-jquery\": {\n\t\t\t\"version\": \"2.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=2.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node\": {\n\t\t\t\"version\": \"11.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-es\": \"^3.0.0\",\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"ignore\": \"^5.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"resolve\": \"^1.10.1\",\n\t\t\t\t\"semver\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5.16.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node/node_modules/eslint-plugin-es\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=4.19.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node/node_modules/semver\": {\n\t\t\t\"version\": \"6.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit\": {\n\t\t\t\"version\": \"7.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"requireindex\": \"^1.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"12.x || 14.x || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn\": {\n\t\t\t\"version\": \"42.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.15.7\",\n\t\t\t\t\"ci-info\": \"^3.3.0\",\n\t\t\t\t\"clean-regexp\": \"^1.0.0\",\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"indent-string\": \"^4.0.0\",\n\t\t\t\t\"is-builtin-module\": \"^3.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"pluralize\": \"^8.0.0\",\n\t\t\t\t\"read-pkg-up\": \"^7.0.1\",\n\t\t\t\t\"regexp-tree\": \"^0.1.24\",\n\t\t\t\t\"safe-regex\": \"^2.1.1\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"strip-indent\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=8.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/find-up\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^5.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/locate-path\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^4.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/p-locate\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^2.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/parse-json\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.0.0\",\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-even-better-errors\": \"^2.3.0\",\n\t\t\t\t\"lines-and-columns\": \"^1.1.6\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@types/normalize-package-data\": \"^2.4.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.5.0\",\n\t\t\t\t\"parse-json\": \"^5.0.0\",\n\t\t\t\t\"type-fest\": \"^0.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg-up\": {\n\t\t\t\"version\": \"7.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^4.1.0\",\n\t\t\t\t\"read-pkg\": \"^5.2.0\",\n\t\t\t\t\"type-fest\": \"^0.8.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg/node_modules/type-fest\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/type-fest\": {\n\t\t\t\"version\": \"0.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz\",\n\t\t\t\"integrity\": \"sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue\": {\n\t\t\t\"version\": \"8.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"nth-check\": \"^2.0.1\",\n\t\t\t\t\"postcss-selector-parser\": \"^6.0.9\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"vue-eslint-parser\": \"^8.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-wdio\": {\n\t\t\t\"version\": \"7.25.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz\",\n\t\t\t\"integrity\": \"sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml\": {\n\t\t\t\"version\": \"0.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+0+bBV/07txENbxfrHF9olGoLCHez64vmnOmjWOoLwmXOwfdaSRleBSPIi4nWQs7WwX8lm/fSLadOjbVEcsXQQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"yaml-eslint-parser\": \"^0.5.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ota-meshi\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint-scope\": {\n\t\t\t\"version\": \"7.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"esrecurse\": \"^4.3.0\",\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-utils\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^1.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-utils/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ansi-styles\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-convert\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/argparse\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/chalk\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^4.1.0\",\n\t\t\t\t\"supports-color\": \"^7.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/color-convert\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-name\": \"~1.1.4\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=7.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/color-name\": {\n\t\t\t\"version\": \"1.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/find-up\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/has-flag\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/js-yaml\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/locate-path\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/p-limit\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/p-locate\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/supports-color\": {\n\t\t\t\"version\": \"7.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/espree\": {\n\t\t\t\"version\": \"9.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"acorn\": \"^8.8.0\",\n\t\t\t\t\"acorn-jsx\": \"^5.3.2\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esprima\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\",\n\t\t\t\"bin\": {\n\t\t\t\t\"esparse\": \"bin/esparse.js\",\n\t\t\t\t\"esvalidate\": \"bin/esvalidate.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esquery\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"estraverse\": \"^5.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esrecurse\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/estraverse\": {\n\t\t\t\"version\": \"5.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esutils\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/etag\": {\n\t\t\t\"version\": \"1.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/express\": {\n\t\t\t\"version\": \"4.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/express/-/express-4.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"accepts\": \"~1.3.7\",\n\t\t\t\t\"array-flatten\": \"1.1.1\",\n\t\t\t\t\"body-parser\": \"1.19.0\",\n\t\t\t\t\"content-disposition\": \"0.5.3\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"cookie\": \"0.4.0\",\n\t\t\t\t\"cookie-signature\": \"1.0.6\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"finalhandler\": \"~1.1.2\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"merge-descriptors\": \"1.0.1\",\n\t\t\t\t\"methods\": \"~1.1.2\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"path-to-regexp\": \"0.1.7\",\n\t\t\t\t\"proxy-addr\": \"~2.0.5\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"send\": \"0.17.1\",\n\t\t\t\t\"serve-static\": \"1.14.1\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"type-is\": \"~1.6.18\",\n\t\t\t\t\"utils-merge\": \"1.0.1\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/extend\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==\"\n\t\t},\n\t\t\"node_modules/extsprintf\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t]\n\t\t},\n\t\t\"node_modules/fast-deep-equal\": {\n\t\t\t\"version\": \"3.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n\t\t},\n\t\t\"node_modules/fast-json-stable-stringify\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n\t\t},\n\t\t\"node_modules/fast-levenshtein\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/fastq\": {\n\t\t\t\"version\": \"1.15.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"reusify\": \"^1.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/file-entry-cache\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flat-cache\": \"^3.0.4\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.12.0 || >=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/file-uri-to-path\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/finalhandler\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"unpipe\": \"~1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/find-cache-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"commondir\": \"^1.0.1\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"pkg-dir\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/find-up\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat/-/flat-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==\",\n\t\t\t\"deprecated\": \"Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-buffer\": \"~2.0.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"flat\": \"cli.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flatted\": \"^3.1.0\",\n\t\t\t\t\"rimraf\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.12.0 || >=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache/node_modules/rimraf\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flatted\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/foreground-child\": {\n\t\t\t\"version\": \"1.5.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz\",\n\t\t\t\"integrity\": \"sha1-T9ca0t/elnibmApcCilZN8svXOk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": \"^4\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/foreground-child/node_modules/cross-spawn\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/forever-agent\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/form-data\": {\n\t\t\t\"version\": \"2.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asynckit\": \"^0.4.0\",\n\t\t\t\t\"combined-stream\": \"^1.0.6\",\n\t\t\t\t\"mime-types\": \"^2.1.12\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.12\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/forwarded\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/fresh\": {\n\t\t\t\"version\": \"0.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n\t\t\t\"integrity\": \"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-FQStJSMVjKpA20onh8sBQRmU6k8=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/function-bind\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/gc-stats\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==\",\n\t\t\t\"bundleDependencies\": [\n\t\t\t\t\"node-pre-gyp\"\n\t\t\t],\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.13.2\",\n\t\t\t\t\"node-pre-gyp\": \"^0.13.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/abbrev\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/aproba\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/are-we-there-yet\": {\n\t\t\t\"version\": \"1.1.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"delegates\": \"^1.0.0\",\n\t\t\t\t\"readable-stream\": \"^2.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/chownr\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/code-point-at\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/console-control-strings\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/debug\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/deep-extend\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/delegates\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/detect-libc\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"Apache-2.0\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"detect-libc\": \"bin/detect-libc.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/fs-minipass\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/gauge\": {\n\t\t\t\"version\": \"2.7.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"aproba\": \"^1.0.3\",\n\t\t\t\t\"console-control-strings\": \"^1.0.0\",\n\t\t\t\t\"has-unicode\": \"^2.0.0\",\n\t\t\t\t\"object-assign\": \"^4.1.0\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\",\n\t\t\t\t\"string-width\": \"^1.0.1\",\n\t\t\t\t\"strip-ansi\": \"^3.0.1\",\n\t\t\t\t\"wide-align\": \"^1.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/has-unicode\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ignore-walk\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimatch\": \"^3.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ini\": {\n\t\t\t\"version\": \"1.3.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/is-fullwidth-code-point\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"number-is-nan\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minimist\": {\n\t\t\t\"version\": \"0.0.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minipass\": {\n\t\t\t\"version\": \"2.3.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"yallist\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minizlib\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"0.0.8\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/needle\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"iconv-lite\": \"^0.4.4\",\n\t\t\t\t\"sax\": \"^1.2.4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"needle\": \"bin/needle\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 4.4.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/node-pre-gyp\": {\n\t\t\t\"version\": \"0.13.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"BSD-3-Clause\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"detect-libc\": \"^1.0.2\",\n\t\t\t\t\"mkdirp\": \"^0.5.1\",\n\t\t\t\t\"needle\": \"^2.2.1\",\n\t\t\t\t\"nopt\": \"^4.0.1\",\n\t\t\t\t\"npm-packlist\": \"^1.1.6\",\n\t\t\t\t\"npmlog\": \"^4.0.2\",\n\t\t\t\t\"rc\": \"^1.2.7\",\n\t\t\t\t\"rimraf\": \"^2.6.1\",\n\t\t\t\t\"semver\": \"^5.3.0\",\n\t\t\t\t\"tar\": \"^4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"node-pre-gyp\": \"bin/node-pre-gyp\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/nopt\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"abbrev\": \"1\",\n\t\t\t\t\"osenv\": \"^0.1.4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"nopt\": \"bin/nopt.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npm-bundled\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npm-packlist\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ignore-walk\": \"^3.0.1\",\n\t\t\t\t\"npm-bundled\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npmlog\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"are-we-there-yet\": \"~1.1.2\",\n\t\t\t\t\"console-control-strings\": \"~1.1.0\",\n\t\t\t\t\"gauge\": \"~2.7.3\",\n\t\t\t\t\"set-blocking\": \"~2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/number-is-nan\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/object-assign\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/os-tmpdir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/osenv\": {\n\t\t\t\"version\": \"0.1.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"os-homedir\": \"^1.0.0\",\n\t\t\t\t\"os-tmpdir\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/process-nextick-args\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rc\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"(BSD-2-Clause OR MIT OR Apache-2.0)\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"deep-extend\": \"^0.6.0\",\n\t\t\t\t\"ini\": \"~1.3.0\",\n\t\t\t\t\"minimist\": \"^1.2.0\",\n\t\t\t\t\"strip-json-comments\": \"~2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rc\": \"cli.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rc/node_modules/minimist\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/readable-stream\": {\n\t\t\t\"version\": \"2.3.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.6.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/sax\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/signal-exit\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/string-width\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"code-point-at\": \"^1.0.0\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^1.0.0\",\n\t\t\t\t\"strip-ansi\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/tar\": {\n\t\t\t\"version\": \"4.4.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"chownr\": \"^1.1.1\",\n\t\t\t\t\"fs-minipass\": \"^1.2.5\",\n\t\t\t\t\"minipass\": \"^2.3.4\",\n\t\t\t\t\"minizlib\": \"^1.1.1\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"yallist\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/yallist\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gelf-stream\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelf-stream/-/gelf-stream-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nOqbY4asMBx0GDjKPLkeZtv79mk=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"gelfling\": \"^0.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gelfling\": {\n\t\t\t\"version\": \"0.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelfling/-/gelfling-0.3.1.tgz\",\n\t\t\t\"integrity\": \"sha1-M2qY+BUQ+a4K8qSU4XRooRap3AQ=\"\n\t\t},\n\t\t\"node_modules/get-caller-file\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"6.* || 8.* || >= 10.*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/getpass\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/glob\": {\n\t\t\t\"version\": \"6.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-6.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"2 || 3\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/glob-parent\": {\n\t\t\t\"version\": \"6.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-glob\": \"^4.0.3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10.13.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/globals\": {\n\t\t\t\"version\": \"13.20.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.20.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"type-fest\": \"^0.20.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/graceful-fs\": {\n\t\t\t\"version\": \"4.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/grapheme-splitter\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/growl\": {\n\t\t\t\"version\": \"1.10.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/growl/-/growl-1.10.5.tgz\",\n\t\t\t\"integrity\": \"sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/har-schema\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/har-validator\": {\n\t\t\t\"version\": \"5.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==\",\n\t\t\t\"deprecated\": \"this library is no longer supported\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.3\",\n\t\t\t\t\"har-schema\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"function-bind\": \"^1.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has-flag\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tdRU3CGZriJWmfNGfloH87lVuv0=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has-symbols\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hasha\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-stream\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hat\": {\n\t\t\t\"version\": \"0.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hat/-/hat-0.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/he\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"he\": \"bin/he\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/heapdump\": {\n\t\t\t\"version\": \"0.3.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz\",\n\t\t\t\"integrity\": \"sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hosted-git-info\": {\n\t\t\t\"version\": \"2.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/hot-shots\": {\n\t\t\t\"version\": \"6.8.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hot-shots/-/hot-shots-6.8.7.tgz\",\n\t\t\t\"integrity\": \"sha512-XH8iezBSZgVw2jegu96pUfF1Zv0VZ/iXjb7L5yE3F7mn7/bdhf4qeniXjO0wQWeefe433rhOsazNKLxM+XMI9w==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"unix-dgram\": \"2.0.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/html-escaper\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/http-errors\": {\n\t\t\t\"version\": \"1.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"inherits\": \"2.0.3\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \">= 1.5.0 < 2\",\n\t\t\t\t\"toidentifier\": \"1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/http-shutdown\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"iojs\": \">= 1.0.0\",\n\t\t\t\t\"node\": \">= 0.12.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/http-signature\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"jsprim\": \"^1.2.2\",\n\t\t\t\t\"sshpk\": \"^1.7.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\",\n\t\t\t\t\"npm\": \">=1.3.7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n\t\t\t\"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ignore\": {\n\t\t\t\"version\": \"5.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/import-fresh\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"parent-module\": \"^1.0.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/imurmurhash\": {\n\t\t\t\"version\": \"0.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n\t\t\t\"integrity\": \"sha1-khi5srkoojixPcT7a21XbyMUU+o=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.19\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/indent-string\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=\"\n\t\t},\n\t\t\"node_modules/ipaddr.js\": {\n\t\t\t\"version\": \"1.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-arrayish\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/is-buffer\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-builtin-module\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"builtin-modules\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-callable\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-date-object\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-extglob\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-fullwidth-code-point\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-glob\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-extglob\": \"^2.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-path-inside\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-regex\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-stream\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-EtSj3U5o4Lec6428hBc66A2RykQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-symbol\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-typedarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=\"\n\t\t},\n\t\t\"node_modules/isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=\"\n\t\t},\n\t\t\"node_modules/isexe\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/isstream\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=\"\n\t\t},\n\t\t\"node_modules/istanbul-lib-coverage\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-hook\": {\n\t\t\t\"version\": \"2.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz\",\n\t\t\t\"integrity\": \"sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"append-transform\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-instrument\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/generator\": \"^7.4.0\",\n\t\t\t\t\"@babel/parser\": \"^7.4.3\",\n\t\t\t\t\"@babel/template\": \"^7.4.0\",\n\t\t\t\t\"@babel/traverse\": \"^7.4.3\",\n\t\t\t\t\"@babel/types\": \"^7.4.0\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"semver\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-instrument/node_modules/semver\": {\n\t\t\t\"version\": \"6.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-report\": {\n\t\t\t\"version\": \"2.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"supports-color\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-report/node_modules/supports-color\": {\n\t\t\t\"version\": \"6.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/debug\": {\n\t\t\t\"version\": \"4.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\"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)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/source-map\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-reports\": {\n\t\t\t\"version\": \"2.2.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz\",\n\t\t\t\"integrity\": \"sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"html-escaper\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/js-sdsl\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\"url\": \"https://opencollective.com/js-sdsl\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/js-tokens\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/js-yaml\": {\n\t\t\t\"version\": \"3.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/jsbn\": {\n\t\t\t\"version\": \"0.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-peZUwuWi3rXyAdls77yoDA7y9RM=\"\n\t\t},\n\t\t\"node_modules/jsdoc-type-pratt-parser\": {\n\t\t\t\"version\": \"2.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/jsesc\": {\n\t\t\t\"version\": \"2.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"jsesc\": \"bin/jsesc\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/json-parse-better-errors\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-parse-even-better-errors\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-schema\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=\"\n\t\t},\n\t\t\"node_modules/json-schema-traverse\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n\t\t},\n\t\t\"node_modules/json-stable-stringify-without-jsonify\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-stringify-safe\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=\"\n\t\t},\n\t\t\"node_modules/jsprim\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz\",\n\t\t\t\"integrity\": \"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"1.0.0\",\n\t\t\t\t\"extsprintf\": \"1.3.0\",\n\t\t\t\t\"json-schema\": \"0.2.3\",\n\t\t\t\t\"verror\": \"1.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad\": {\n\t\t\t\"version\": \"1.3.6\",\n\t\t\t\"resolved\": \"git+ssh://git@github.com/wikimedia/kad.git#96f8f5c8e5a88f5dffed47abc20756e93e16387e\",\n\t\t\t\"integrity\": \"sha512-vGPFf2DWtyb6DnpVkUKNPKlVyiLOxdAaN3Ubbiz2vu2dhBTgq306Rmw4h30i2cluphBRngTMyHqLwSO50PuPUg==\",\n\t\t\t\"license\": \"GPL-3.0\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"async\": \"^0.9.0\",\n\t\t\t\t\"clarinet\": \"^0.11.0\",\n\t\t\t\t\"colors\": \"^1.0.3\",\n\t\t\t\t\"hat\": \"0.0.3\",\n\t\t\t\t\"kad-fs\": \"0.0.4\",\n\t\t\t\t\"kad-localstorage\": \"0.0.7\",\n\t\t\t\t\"kad-memstore\": \"0.0.1\",\n\t\t\t\t\"lodash\": \"^4.17.11\",\n\t\t\t\t\"merge\": \"^1.2.0\",\n\t\t\t\t\"ms\": \"^0.7.0\",\n\t\t\t\t\"msgpack5\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-fs\": {\n\t\t\t\"version\": \"0.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-fs/-/kad-fs-0.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-Aupapc8iIlclV5YnzP1tJmNyKJo=\",\n\t\t\t\"deprecated\": \"This package is no longer maintained.\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-localstorage\": {\n\t\t\t\"version\": \"0.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-localstorage/-/kad-localstorage-0.0.7.tgz\",\n\t\t\t\"integrity\": \"sha1-96LngNpT+yi5Q8LFqJTCeaqBDxc=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"dom-storage\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-memstore\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-memstore/-/kad-memstore-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-g8t0hJasSRxxNRBMvla4jKc5JHc=\",\n\t\t\t\"deprecated\": \"This package is no longer maintained.\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad/node_modules/ms\": {\n\t\t\t\"version\": \"0.7.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-0.7.3.tgz\",\n\t\t\t\"integrity\": \"sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=\"\n\t\t},\n\t\t\"node_modules/levn\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"~0.4.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/limitation\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/limitation/-/limitation-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5lMmsPc9ZtMjBk8rJ8ADKIj6AOgYvRtAuNfboO2TVPZsmcn6gSRyijUsA8KG6DUcJ89/hyQ3cnVRyzO1hbDavw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.3.1\",\n\t\t\t\t\"kad\": \"git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/lines-and-columns\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/load-json-file\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-L19Fq5HjMhYjT9U62rZo607AmTs=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"parse-json\": \"^4.0.0\",\n\t\t\t\t\"pify\": \"^3.0.0\",\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/load-json-file/node_modules/pify\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/locate-path\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^3.0.0\",\n\t\t\t\t\"path-exists\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/lodash\": {\n\t\t\t\"version\": \"4.17.21\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n\t\t\t\"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n\t\t},\n\t\t\"node_modules/lodash.clone\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=\"\n\t\t},\n\t\t\"node_modules/lodash.flattendeep\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.memoize\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.merge\": {\n\t\t\t\"version\": \"4.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.set\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/log-symbols\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"chalk\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/long\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/long/-/long-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==\"\n\t\t},\n\t\t\"node_modules/lru-cache\": {\n\t\t\t\"version\": \"4.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pseudomap\": \"^1.0.2\",\n\t\t\t\t\"yallist\": \"^2.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/make-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"semver\": \"^5.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/make-dir/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/media-typer\": {\n\t\t\t\"version\": \"0.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mediawiki-title\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-IL5xK/LND+Wqa3mEtaF4cEISnOPK166WiTauTGBPvPpKSuAIR5eOWLwKnUyit0ye9Bs7QPgfWnU8e6gfaCJLTg==\"\n\t\t},\n\t\t\"node_modules/merge-descriptors\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=\"\n\t\t},\n\t\t\"node_modules/merge-source-map\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/merge-source-map/node_modules/source-map\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/methods\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\n\t\t\t\"bin\": {\n\t\t\t\t\"mime\": \"cli.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime-db\": {\n\t\t\t\"version\": \"1.44.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime-types\": {\n\t\t\t\"version\": \"2.1.27\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz\",\n\t\t\t\"integrity\": \"sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-db\": \"1.44.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/min-indent\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/minimist\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz\",\n\t\t\t\"integrity\": \"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha\": {\n\t\t\t\"version\": \"6.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-colors\": \"3.2.3\",\n\t\t\t\t\"browser-stdout\": \"1.3.1\",\n\t\t\t\t\"debug\": \"3.2.6\",\n\t\t\t\t\"diff\": \"3.5.0\",\n\t\t\t\t\"escape-string-regexp\": \"1.0.5\",\n\t\t\t\t\"find-up\": \"3.0.0\",\n\t\t\t\t\"glob\": \"7.1.3\",\n\t\t\t\t\"growl\": \"1.10.5\",\n\t\t\t\t\"he\": \"1.2.0\",\n\t\t\t\t\"js-yaml\": \"3.13.1\",\n\t\t\t\t\"log-symbols\": \"2.2.0\",\n\t\t\t\t\"minimatch\": \"3.0.4\",\n\t\t\t\t\"mkdirp\": \"0.5.4\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"node-environment-flags\": \"1.0.5\",\n\t\t\t\t\"object.assign\": \"4.1.0\",\n\t\t\t\t\"strip-json-comments\": \"2.0.1\",\n\t\t\t\t\"supports-color\": \"6.0.0\",\n\t\t\t\t\"which\": \"1.3.1\",\n\t\t\t\t\"wide-align\": \"1.1.3\",\n\t\t\t\t\"yargs\": \"13.3.2\",\n\t\t\t\t\"yargs-parser\": \"13.1.2\",\n\t\t\t\t\"yargs-unparser\": \"1.6.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"_mocha\": \"bin/_mocha\",\n\t\t\t\t\"mocha\": \"bin/mocha\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha-lcov-reporter\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha.parallel\": {\n\t\t\t\"version\": \"0.15.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.6.tgz\",\n\t\t\t\"integrity\": \"sha512-pWph+QieKGjk7cHY2hB78wyKJDOQLyOMDuBLQLrFL7riJb8qbQBlCY3XztFHv0D1d4I1gCpiwFNjd4LhVOXPew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^2.9.34\",\n\t\t\t\t\"semaphore\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"mocha\": \">=2.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha.parallel/node_modules/bluebird\": {\n\t\t\t\"version\": \"2.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/mocha/node_modules/debug\": {\n\t\t\t\"version\": \"3.2.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.6.tgz\",\n\t\t\t\"integrity\": \"sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==\",\n\t\t\t\"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)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/js-yaml\": {\n\t\t\t\"version\": \"3.13.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz\",\n\t\t\t\"integrity\": \"sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz\",\n\t\t\t\"integrity\": \"sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==\",\n\t\t\t\"deprecated\": \"Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/mocha/node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-PFMZQukIwml8DsNEhYwobHygpgo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/supports-color\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/moment\": {\n\t\t\t\"version\": \"2.29.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/moment/-/moment-2.29.0.tgz\",\n\t\t\t\"integrity\": \"sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ms\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=\"\n\t\t},\n\t\t\"node_modules/msgpack5\": {\n\t\t\t\"version\": \"3.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/msgpack5/-/msgpack5-3.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6HuCZHA57WtNUzrKIvjJ8OMxigzveJ6D5i13y6TsgGu3X3zxABpuBvChpppOoGdB9SyWZcmqUs1fwUV/PpSQ7Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bl\": \"^1.2.1\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.3.3\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mv\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mv/-/mv-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mkdirp\": \"~0.5.1\",\n\t\t\t\t\"ncp\": \"~2.0.0\",\n\t\t\t\t\"rimraf\": \"~2.4.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nan\": {\n\t\t\t\"version\": \"2.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nan/-/nan-2.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/natural-compare\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/ncp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"ncp\": \"bin/ncp\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/negotiator\": {\n\t\t\t\"version\": \"0.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nested-error-stacks\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/nock\": {\n\t\t\t\"version\": \"13.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nock/-/nock-13.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"json-stringify-safe\": \"^5.0.1\",\n\t\t\t\t\"lodash.set\": \"^4.3.2\",\n\t\t\t\t\"propagate\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 10.13\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nock/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nock/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/node-environment-flags\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"object.getownpropertydescriptors\": \"^2.0.3\",\n\t\t\t\t\"semver\": \"^5.7.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/node-environment-flags/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/node-releases\": {\n\t\t\t\"version\": \"2.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/normalize-package-data\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"hosted-git-info\": \"^2.1.4\",\n\t\t\t\t\"resolve\": \"^1.10.0\",\n\t\t\t\t\"semver\": \"2 || 3 || 4 || 5\",\n\t\t\t\t\"validate-npm-package-license\": \"^3.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/normalize-package-data/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nth-check\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"boolbase\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/fb55/nth-check?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc\": {\n\t\t\t\"version\": \"14.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"archy\": \"^1.0.0\",\n\t\t\t\t\"caching-transform\": \"^3.0.2\",\n\t\t\t\t\"convert-source-map\": \"^1.6.0\",\n\t\t\t\t\"cp-file\": \"^6.2.0\",\n\t\t\t\t\"find-cache-dir\": \"^2.1.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"istanbul-lib-hook\": \"^2.0.7\",\n\t\t\t\t\"istanbul-lib-instrument\": \"^3.3.0\",\n\t\t\t\t\"istanbul-lib-report\": \"^2.0.8\",\n\t\t\t\t\"istanbul-lib-source-maps\": \"^3.0.6\",\n\t\t\t\t\"istanbul-reports\": \"^2.2.4\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"merge-source-map\": \"^1.1.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"spawn-wrap\": \"^1.4.2\",\n\t\t\t\t\"test-exclude\": \"^5.2.3\",\n\t\t\t\t\"uuid\": \"^3.3.2\",\n\t\t\t\t\"yargs\": \"^13.2.2\",\n\t\t\t\t\"yargs-parser\": \"^13.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"nyc\": \"bin/nyc.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/oauth-sign\": {\n\t\t\t\"version\": \"0.9.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object-inspect\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object-keys\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object.assign\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.2\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has-symbols\": \"^1.0.0\",\n\t\t\t\t\"object-keys\": \"^1.0.11\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object.getownpropertydescriptors\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.0-next.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/on-finished\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ee-first\": \"1.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/on-headers\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-WDsap3WWHUsROsF9nFC6753Xa9E=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/optionator\": {\n\t\t\t\"version\": \"0.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"deep-is\": \"^0.1.3\",\n\t\t\t\t\"fast-levenshtein\": \"^2.0.6\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"^0.4.0\",\n\t\t\t\t\"word-wrap\": \"^1.2.3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-/7xJiDNuDoM94MFox+8VISGqf7M=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/os-shim\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-limit\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-try\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-locate\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-try\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/package-hash\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.15\",\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"lodash.flattendeep\": \"^4.4.0\",\n\t\t\t\t\"release-zalgo\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parent-module\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"callsites\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parse-json\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-better-errors\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parseurl\": {\n\t\t\t\"version\": \"1.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-exists\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-F0uSaHNVNP+8es5r9TpanhtcX18=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-key\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-parse\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/path-to-regexp\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=\"\n\t\t},\n\t\t\"node_modules/path-type\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-type/node_modules/pify\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/performance-now\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=\"\n\t\t},\n\t\t\"node_modules/picocolors\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/pify\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pkg-dir\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pluralize\": {\n\t\t\t\"version\": \"8.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/postcss-selector-parser\": {\n\t\t\t\"version\": \"6.0.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n\t\t\t\"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cssesc\": \"^3.0.0\",\n\t\t\t\t\"util-deprecate\": \"^1.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha1-287g7p3nI15X95xW186UZBpp7sY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": \"^5.0.1\",\n\t\t\t\t\"spawn-sync\": \"^1.0.15\",\n\t\t\t\t\"which\": \"1.2.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit/node_modules/cross-spawn\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\"shebang-command\": \"^1.2.0\",\n\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit/node_modules/which\": {\n\t\t\t\"version\": \"1.2.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.2.14.tgz\",\n\t\t\t\"integrity\": \"sha1-mofEN48D6CfOyvGs31bHNsAcFOU=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"which\": \"bin/which\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/prelude-ls\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/preq\": {\n\t\t\t\"version\": \"0.5.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/preq/-/preq-0.5.14.tgz\",\n\t\t\t\"integrity\": \"sha512-kuJ5ndEgjs27kTTQ/P2ipPQoHeCJcAI4i97mU3xSjkjx6CsuQOsCe2l5twTGC0SCB5UkzRpmrpXmvN0Ip4ZCxA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.5.5\",\n\t\t\t\t\"request\": \"^2.88.0\",\n\t\t\t\t\"requestretry\": \"4.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/process-nextick-args\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n\t\t},\n\t\t\"node_modules/propagate\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/proxy-addr\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"forwarded\": \"~0.1.2\",\n\t\t\t\t\"ipaddr.js\": \"1.9.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pseudomap\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-8FKijacOYYkX7wqKw0wa5aaChrM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/psl\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==\"\n\t\t},\n\t\t\"node_modules/punycode\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/qs\": {\n\t\t\t\"version\": \"6.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/queue-microtask\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"patreon\",\n\t\t\t\t\t\"url\": \"https://www.patreon.com/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"consulting\",\n\t\t\t\t\t\"url\": \"https://feross.org/support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"node_modules/ramda\": {\n\t\t\t\"version\": \"0.27.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz\",\n\t\t\t\"integrity\": \"sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/range-parser\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/raw-body\": {\n\t\t\t\"version\": \"2.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"unpipe\": \"1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/read-pkg\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"load-json-file\": \"^4.0.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.3.2\",\n\t\t\t\t\"path-type\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/read-pkg-up\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"read-pkg\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/readable-stream\": {\n\t\t\t\"version\": \"2.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/regexp-tree\": {\n\t\t\t\"version\": \"0.1.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz\",\n\t\t\t\"integrity\": \"sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"regexp-tree\": \"bin/regexp-tree\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/regexpp\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/release-zalgo\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"es6-error\": \"^4.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/request\": {\n\t\t\t\"version\": \"2.88.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/request/-/request-2.88.2.tgz\",\n\t\t\t\"integrity\": \"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==\",\n\t\t\t\"deprecated\": \"request has been deprecated, see https://github.com/request/request/issues/3142\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"aws-sign2\": \"~0.7.0\",\n\t\t\t\t\"aws4\": \"^1.8.0\",\n\t\t\t\t\"caseless\": \"~0.12.0\",\n\t\t\t\t\"combined-stream\": \"~1.0.6\",\n\t\t\t\t\"extend\": \"~3.0.2\",\n\t\t\t\t\"forever-agent\": \"~0.6.1\",\n\t\t\t\t\"form-data\": \"~2.3.2\",\n\t\t\t\t\"har-validator\": \"~5.1.3\",\n\t\t\t\t\"http-signature\": \"~1.2.0\",\n\t\t\t\t\"is-typedarray\": \"~1.0.0\",\n\t\t\t\t\"isstream\": \"~0.1.2\",\n\t\t\t\t\"json-stringify-safe\": \"~5.0.1\",\n\t\t\t\t\"mime-types\": \"~2.1.19\",\n\t\t\t\t\"oauth-sign\": \"~0.9.0\",\n\t\t\t\t\"performance-now\": \"^2.1.0\",\n\t\t\t\t\"qs\": \"~6.5.2\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"tough-cookie\": \"~2.5.0\",\n\t\t\t\t\"tunnel-agent\": \"^0.6.0\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/request/node_modules/qs\": {\n\t\t\t\"version\": \"6.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/requestretry\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requestretry/-/requestretry-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ZGdO1ZXUQAeCB9xOS2keSN501y7T1t0zPOD58jTAOwamt6qkcBMaGdRBHEOMQRnDtT5fn7S99F0dwADUqCmYqg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"lodash\": \"^4.17.10\",\n\t\t\t\t\"when\": \"^3.7.7\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"request\": \"2.*.*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/require-directory\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-jGStX9MNqxyXbiNE/+f3kqam30I=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/require-main-filename\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\"\n\t\t},\n\t\t\"node_modules/requireindex\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/resolve\": {\n\t\t\t\"version\": \"1.17.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"path-parse\": \"^1.0.6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/resolve-from\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/reusify\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"iojs\": \">=1.0.0\",\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/rimraf\": {\n\t\t\t\"version\": \"2.4.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz\",\n\t\t\t\"integrity\": \"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^6.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/run-parallel\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"patreon\",\n\t\t\t\t\t\"url\": \"https://www.patreon.com/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"consulting\",\n\t\t\t\t\t\"url\": \"https://feross.org/support\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"queue-microtask\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n\t\t},\n\t\t\"node_modules/safe-json-stringify\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/safe-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"regexp-tree\": \"~0.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n\t\t},\n\t\t\"node_modules/semaphore\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver\": {\n\t\t\t\"version\": \"7.3.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.3.8.tgz\",\n\t\t\t\"integrity\": \"sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver/node_modules/lru-cache\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yallist\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver/node_modules/yallist\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\"\n\t\t},\n\t\t\"node_modules/send\": {\n\t\t\t\"version\": \"0.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/send/-/send-0.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"destroy\": \"~1.0.4\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"http-errors\": \"~1.7.2\",\n\t\t\t\t\"mime\": \"1.6.0\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/send/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\"\n\t\t},\n\t\t\"node_modules/serve-static\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"send\": \"0.17.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/service-runner\": {\n\t\t\t\"version\": \"2.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/service-runner/-/service-runner-2.7.8.tgz\",\n\t\t\t\"integrity\": \"sha512-YZBOj9wRzWEiBgIfrvq7OFVf9wr0u/llyeIsZjrd6tyrjJz2ywB9DiGpWb7/+MVswi970bgAw6+OUCq+9luyuw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"bunyan\": \"^1.8.12\",\n\t\t\t\t\"bunyan-syslog-udp\": \"^0.2.0\",\n\t\t\t\t\"dnscache\": \"^1.0.2\",\n\t\t\t\t\"gelf-stream\": \"^1.1.1\",\n\t\t\t\t\"hot-shots\": \"^6.8.7\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"limitation\": \"^0.2.1\",\n\t\t\t\t\"semver\": \"^7.1.2\",\n\t\t\t\t\"yargs\": \"^14.2.2\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"service-runner\": \"service-runner.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"gc-stats\": \"^1.4.0\",\n\t\t\t\t\"heapdump\": \"^0.3.15\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-BF+XgtARrppoA93TgrJDkrPYkPc=\"\n\t\t},\n\t\t\"node_modules/setprototypeof\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==\"\n\t\t},\n\t\t\"node_modules/shebang-command\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-regex\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/shebang-regex\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/signal-exit\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/source-map\": {\n\t\t\t\"version\": \"0.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n\t\t\t\"integrity\": \"sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-sync\": {\n\t\t\t\"version\": \"1.0.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz\",\n\t\t\t\"integrity\": \"sha1-sAeZVX63+wyDdsKdROih6mfldHY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"concat-stream\": \"^1.4.7\",\n\t\t\t\t\"os-shim\": \"^0.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap\": {\n\t\t\t\"version\": \"1.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"os-homedir\": \"^1.0.1\",\n\t\t\t\t\"rimraf\": \"^2.6.2\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"which\": \"^1.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-correct\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-exceptions\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/spdx-expression-parse\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-exceptions\": \"^2.1.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-license-ids\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/sprintf-js\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=\"\n\t\t},\n\t\t\"node_modules/sshpk\": {\n\t\t\t\"version\": \"1.16.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asn1\": \"~0.2.3\",\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"bcrypt-pbkdf\": \"^1.0.0\",\n\t\t\t\t\"dashdash\": \"^1.12.0\",\n\t\t\t\t\"ecc-jsbn\": \"~0.1.1\",\n\t\t\t\t\"getpass\": \"^0.1.1\",\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.0.2\",\n\t\t\t\t\"tweetnacl\": \"~0.14.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"sshpk-conv\": \"bin/sshpk-conv\",\n\t\t\t\t\"sshpk-sign\": \"bin/sshpk-sign\",\n\t\t\t\t\"sshpk-verify\": \"bin/sshpk-verify\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/statuses\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string-width\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"emoji-regex\": \"^7.0.1\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string.prototype.trimend\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string.prototype.trimstart\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-ansi\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^4.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-bom\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-indent\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"min-indent\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/striptags\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-yMPn/db7S7OjKjt1LltePjgJPr0=\"\n\t\t},\n\t\t\"node_modules/supports-color\": {\n\t\t\t\"version\": \"5.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/swagger-router\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-router/-/swagger-router-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-HdKJ4DenOXcaChWKST7oFHvd+kclike9rsFfPt3W9JWVvznofcOWGSivyWJECky3tOlw52jqvCKSQrz1l+1D9w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.5.2\",\n\t\t\t\t\"js-yaml\": \"^3.12.0\",\n\t\t\t\t\"tassembly\": \"^0.2.3\",\n\t\t\t\t\"template-expression-compiler\": \"^0.1.10\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/swagger-ui-dist\": {\n\t\t\t\"version\": \"3.34.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.34.0.tgz\",\n\t\t\t\"integrity\": \"sha512-xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==\"\n\t\t},\n\t\t\"node_modules/tassembly\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tassembly/-/tassembly-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-WKq7bznvTPKgSz3mEmFzLnDBTvc=\"\n\t\t},\n\t\t\"node_modules/template-expression-compiler\": {\n\t\t\t\"version\": \"0.1.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/template-expression-compiler/-/template-expression-compiler-0.1.10.tgz\",\n\t\t\t\"integrity\": \"sha1-ul3/IG8fmzEpaZDdxLwzlBKCqqM=\"\n\t\t},\n\t\t\"node_modules/test-exclude\": {\n\t\t\t\"version\": \"5.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"read-pkg-up\": \"^4.0.0\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/test-exclude/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/text-table\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/to-fast-properties\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/toidentifier\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tough-cookie\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"psl\": \"^1.1.28\",\n\t\t\t\t\"punycode\": \"^2.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tunnel-agent\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tweetnacl\": {\n\t\t\t\"version\": \"0.14.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",\n\t\t\t\"integrity\": \"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=\"\n\t\t},\n\t\t\"node_modules/type-check\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/type-fest\": {\n\t\t\t\"version\": \"0.20.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/type-is\": {\n\t\t\t\"version\": \"1.6.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n\t\t\t\"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"media-typer\": \"0.3.0\",\n\t\t\t\t\"mime-types\": \"~2.1.24\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/typedarray\": {\n\t\t\t\"version\": \"0.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/unix-dgram\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7tpK6x7ls7J7pDrrAU63h93R0dVhRbPwiRRCawR10cl+2e1VOvF3bHlVJc6WI1dl/8qk5He673QU+Ogv7bPNaw==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bindings\": \"^1.3.0\",\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.48\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/unpipe\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/upath\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/upath/-/upath-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\",\n\t\t\t\t\"yarn\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/update-browserslist-db\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escalade\": \"^3.1.1\",\n\t\t\t\t\"picocolors\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"browserslist-lint\": \"cli.js\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"browserslist\": \">= 4.21.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/uri-js\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"punycode\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=\"\n\t\t},\n\t\t\"node_modules/utils-merge\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/uuid\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==\",\n\t\t\t\"deprecated\": \"Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.\",\n\t\t\t\"bin\": {\n\t\t\t\t\"uuid\": \"bin/uuid\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/validate-npm-package-license\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-correct\": \"^3.0.0\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vary\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/verror\": {\n\t\t\t\"version\": \"1.10.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",\n\t\t\t\"integrity\": \"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"core-util-is\": \"1.0.2\",\n\t\t\t\t\"extsprintf\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser\": {\n\t\t\t\"version\": \"8.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"eslint-scope\": \"^7.0.0\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.1.0\",\n\t\t\t\t\"espree\": \"^9.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"semver\": \"^7.3.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/when\": {\n\t\t\t\"version\": \"3.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/when/-/when-3.7.8.tgz\",\n\t\t\t\"integrity\": \"sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=\"\n\t\t},\n\t\t\"node_modules/which\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"which\": \"bin/which\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/which-module\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=\"\n\t\t},\n\t\t\"node_modules/wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/string-width\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qEeQIusaw2iocTibY1JixQXuNo8=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/word-wrap\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wrap-ansi\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/write-file-atomic\": {\n\t\t\t\"version\": \"2.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.11\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/y18n\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==\"\n\t\t},\n\t\t\"node_modules/yallist\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/yaml\": {\n\t\t\t\"version\": \"1.10.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n\t\t\t\"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yaml-eslint-parser\": {\n\t\t\t\"version\": \"0.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.0.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"yaml\": \"^1.10.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs\": {\n\t\t\t\"version\": \"14.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^15.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-parser\": {\n\t\t\t\"version\": \"15.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flat\": \"^4.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.15\",\n\t\t\t\t\"yargs\": \"^13.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yocto-queue\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t}\n\t},\n\t\"dependencies\": {\n\t\t\"@babel/code-frame\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/highlight\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/generator\": {\n\t\t\t\"version\": \"7.11.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz\",\n\t\t\t\"integrity\": \"sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"jsesc\": \"^2.5.1\",\n\t\t\t\t\"source-map\": \"^0.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-function-name\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-get-function-arity\": \"^7.10.4\",\n\t\t\t\t\"@babel/template\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-get-function-arity\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-split-export-declaration\": {\n\t\t\t\"version\": \"7.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz\",\n\t\t\t\"integrity\": \"sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.11.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-validator-identifier\": {\n\t\t\t\"version\": \"7.19.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz\",\n\t\t\t\"integrity\": \"sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@babel/highlight\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"chalk\": \"^2.0.0\",\n\t\t\t\t\"js-tokens\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/parser\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@babel/template\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/parser\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/traverse\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/generator\": \"^7.11.5\",\n\t\t\t\t\"@babel/helper-function-name\": \"^7.10.4\",\n\t\t\t\t\"@babel/helper-split-export-declaration\": \"^7.11.0\",\n\t\t\t\t\"@babel/parser\": \"^7.11.5\",\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"globals\": \"^11.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.19\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"globals\": {\n\t\t\t\t\t\"version\": \"11.12.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@babel/types\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"lodash\": \"^4.17.19\",\n\t\t\t\t\"to-fast-properties\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"@es-joy/jsdoccomment\": {\n\t\t\t\"version\": \"0.23.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz\",\n\t\t\t\"integrity\": \"sha512-cCtumxG+qrYORGeOkDQ58GtSt/bb2XiP9GC0x2YduoUEX2EmBQ48FtoZMUs+8wiIdTDN1izUiRUD2FDu+p+Lvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"jsdoc-type-pratt-parser\": \"~2.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"@eslint-community/eslint-utils\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"@eslint-community/regexpp\": {\n\t\t\t\"version\": \"4.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BISJ6ZE4xQsuL/FmsyRaiffpq977bMlsKfGHTQrOGFErfByxIe6iZTxPf/00Zon9b9a7iUykfQwejN3s2ZW/Bw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@eslint/eslintrc\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ajv\": \"^6.12.4\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"espree\": \"^9.5.0\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.2.1\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@eslint/js\": {\n\t\t\t\"version\": \"8.36.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@humanwhocodes/config-array\": {\n\t\t\t\"version\": \"0.11.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz\",\n\t\t\t\"integrity\": \"sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@humanwhocodes/object-schema\": \"^1.2.1\",\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@humanwhocodes/module-importer\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@humanwhocodes/object-schema\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"5.2.45\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.45.tgz\",\n\t\t\t\"integrity\": \"sha512-Er03EjYAx3TTMvdBdm6Z3SG4IV0/FWfRJP4CBNtRLWoPVVyp9BdYt/9X4zSFw4GAIOVx6+6r7d8VAw0sbPtMjg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@nodelib/fs.scandir\": {\n\t\t\t\"version\": \"2.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@nodelib/fs.stat\": \"2.0.5\",\n\t\t\t\t\"run-parallel\": \"^1.1.9\"\n\t\t\t}\n\t\t},\n\t\t\"@nodelib/fs.stat\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@nodelib/fs.walk\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n\t\t\t\"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@nodelib/fs.scandir\": \"2.1.5\",\n\t\t\t\t\"fastq\": \"^1.6.0\"\n\t\t\t}\n\t\t},\n\t\t\"@types/normalize-package-data\": {\n\t\t\t\"version\": \"2.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"accepts\": {\n\t\t\t\"version\": \"1.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-types\": \"~2.1.24\",\n\t\t\t\t\"negotiator\": \"0.6.2\"\n\t\t\t}\n\t\t},\n\t\t\"acorn\": {\n\t\t\t\"version\": \"8.8.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz\",\n\t\t\t\"integrity\": \"sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"acorn-jsx\": {\n\t\t\t\"version\": \"5.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {}\n\t\t},\n\t\t\"ajv\": {\n\t\t\t\"version\": \"6.12.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz\",\n\t\t\t\"integrity\": \"sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"fast-deep-equal\": \"^3.1.1\",\n\t\t\t\t\"fast-json-stable-stringify\": \"^2.0.0\",\n\t\t\t\t\"json-schema-traverse\": \"^0.4.1\",\n\t\t\t\t\"uri-js\": \"^4.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"ansi-colors\": {\n\t\t\t\"version\": \"3.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ansi-regex\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==\"\n\t\t},\n\t\t\"ansi-styles\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"color-convert\": \"^1.9.0\"\n\t\t\t}\n\t\t},\n\t\t\"append-transform\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"default-require-extensions\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"archy\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/archy/-/archy-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"argparse\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"sprintf-js\": \"~1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"array-flatten\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=\"\n\t\t},\n\t\t\"asap\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=\"\n\t\t},\n\t\t\"asn1\": {\n\t\t\t\"version\": \"0.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safer-buffer\": \"~2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"assert-plus\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=\"\n\t\t},\n\t\t\"ast-metadata-inferer\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^3.3.14\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": {\n\t\t\t\t\t\"version\": \"3.3.14\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"async\": {\n\t\t\t\"version\": \"0.9.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/async/-/async-0.9.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=\"\n\t\t},\n\t\t\"asynckit\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-x57Zf380y48robyXkLzDZkdLS3k=\"\n\t\t},\n\t\t\"aws-sign2\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=\"\n\t\t},\n\t\t\"aws4\": {\n\t\t\t\"version\": \"1.10.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==\"\n\t\t},\n\t\t\"balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"bcrypt-pbkdf\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"tweetnacl\": \"^0.14.3\"\n\t\t\t}\n\t\t},\n\t\t\"bindings\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"file-uri-to-path\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"bl\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bl/-/bl-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.3.5\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"bluebird\": {\n\t\t\t\"version\": \"3.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n\t\t},\n\t\t\"body-parser\": {\n\t\t\t\"version\": \"1.19.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"raw-body\": \"2.4.0\",\n\t\t\t\t\"type-is\": \"~1.6.17\"\n\t\t\t}\n\t\t},\n\t\t\"boolbase\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n\t\t\t\"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"browser-stdout\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"browserslist\": {\n\t\t\t\"version\": \"4.21.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n\t\t\t\"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001449\",\n\t\t\t\t\"electron-to-chromium\": \"^1.4.284\",\n\t\t\t\t\"node-releases\": \"^2.0.8\",\n\t\t\t\t\"update-browserslist-db\": \"^1.0.10\"\n\t\t\t}\n\t\t},\n\t\t\"browserslist-config-wikimedia\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-U/fmsaGlCKOqRIjKqXwQ44qFqiStngRTphj1Cf6IHV6J8OK8T0gu9dKc7Ljq4v7bwhnhN+YCCa4fA3nZlPNivQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"buffer-from\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"builtin-modules\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"bunyan\": {\n\t\t\t\"version\": \"1.8.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz\",\n\t\t\t\"integrity\": \"sha512-LlahJUxXzZLuw/hetUQJmRgZ1LF6+cr5TPpRj6jf327AsiIq2jhYEH4oqUUkVKTor+9w2BT3oxVwhzE5lw9tcg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"dtrace-provider\": \"~0.8\",\n\t\t\t\t\"moment\": \"^2.19.3\",\n\t\t\t\t\"mv\": \"~2\",\n\t\t\t\t\"safe-json-stringify\": \"~1\"\n\t\t\t}\n\t\t},\n\t\t\"bunyan-syslog-udp\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan-syslog-udp/-/bunyan-syslog-udp-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-tY6iaw+iYbCjlsAgAyO4CeA7Usnj5VndygMfd2PcHK++626oMoHANcdsH5tq5VxRPsbk9M1fbuk0a5pX9axV2w==\"\n\t\t},\n\t\t\"bytes\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==\"\n\t\t},\n\t\t\"caching-transform\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"package-hash\": \"^3.0.0\",\n\t\t\t\t\"write-file-atomic\": \"^2.4.2\"\n\t\t\t}\n\t\t},\n\t\t\"callsites\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"camelcase\": {\n\t\t\t\"version\": \"5.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\"\n\t\t},\n\t\t\"caniuse-lite\": {\n\t\t\t\"version\": \"1.0.30001469\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz\",\n\t\t\t\"integrity\": \"sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"caseless\": {\n\t\t\t\"version\": \"0.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",\n\t\t\t\"integrity\": \"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\"\n\t\t},\n\t\t\"cassandra-uuid\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cassandra-uuid/-/cassandra-uuid-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XM/UdAVoXJWDcqxVqNe2agYat51C25g5m8nkJ2/ai3QvHwWsRx/+OlziD1c1/jYLlP7kcC1DMO2IF5ldt8EV+A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"long\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"chalk\": {\n\t\t\t\"version\": \"2.4.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.1\",\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\",\n\t\t\t\t\"supports-color\": \"^5.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ci-info\": {\n\t\t\t\"version\": \"3.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"clarinet\": {\n\t\t\t\"version\": \"0.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clarinet/-/clarinet-0.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-bMkSuTE43IZ/wnPNNOqQ6D4FRxk=\"\n\t\t},\n\t\t\"clean-regexp\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"cliui\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"string-width\": \"^3.1.0\",\n\t\t\t\t\"strip-ansi\": \"^5.2.0\",\n\t\t\t\t\"wrap-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"color-convert\": {\n\t\t\t\"version\": \"1.9.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"color-name\": \"1.1.3\"\n\t\t\t}\n\t\t},\n\t\t\"color-name\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=\"\n\t\t},\n\t\t\"colors\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/colors/-/colors-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==\"\n\t\t},\n\t\t\"combined-stream\": {\n\t\t\t\"version\": \"1.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"delayed-stream\": \"~1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"comment-parser\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"commondir\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"compressible\": {\n\t\t\t\"version\": \"2.0.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n\t\t\t\"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-db\": \">= 1.43.0 < 2\"\n\t\t\t}\n\t\t},\n\t\t\"compression\": {\n\t\t\t\"version\": \"1.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"accepts\": \"~1.3.5\",\n\t\t\t\t\"bytes\": \"3.0.0\",\n\t\t\t\t\"compressible\": \"~2.0.16\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"on-headers\": \"~1.0.2\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"concat-stream\": {\n\t\t\t\"version\": \"1.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"buffer-from\": \"^1.0.0\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.2.2\",\n\t\t\t\t\"typedarray\": \"^0.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"content-disposition\": {\n\t\t\t\"version\": \"0.5.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"5.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"content-type\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==\"\n\t\t},\n\t\t\"convert-source-map\": {\n\t\t\t\"version\": \"1.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"cookie\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==\"\n\t\t},\n\t\t\"cookie-signature\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-4wOogrNCzD7oylE6eZmXNNqzriw=\"\n\t\t},\n\t\t\"core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=\"\n\t\t},\n\t\t\"cp-file\": {\n\t\t\t\"version\": \"6.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"nested-error-stacks\": \"^2.0.0\",\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"cross-spawn\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"path-key\": \"^3.1.0\",\n\t\t\t\t\"shebang-command\": \"^2.0.0\",\n\t\t\t\t\"which\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-command\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"shebang-regex\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"shebang-regex\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"which\": {\n\t\t\t\t\t\"version\": \"2.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"cssesc\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"csv-parse\": {\n\t\t\t\"version\": \"4.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/csv-parse/-/csv-parse-4.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wPQl3H79vWLPI8cgKFcQXl0NBgYYEqVnT1i6/So7OjMpsI540oD7p93r3w6fDSyPvwkTepG05F69/7AViX2lXg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"dashdash\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"debug\": {\n\t\t\t\"version\": \"2.6.9\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n\t\t\t\"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ms\": \"2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"decamelize\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=\"\n\t\t},\n\t\t\"deep-is\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"default-require-extensions\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"define-properties\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"object-keys\": \"^1.0.12\"\n\t\t\t}\n\t\t},\n\t\t\"delayed-stream\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\"\n\t\t},\n\t\t\"depd\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=\"\n\t\t},\n\t\t\"destroy\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=\"\n\t\t},\n\t\t\"diff\": {\n\t\t\t\"version\": \"3.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/diff/-/diff-3.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"dnscache\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asap\": \"^2.0.6\",\n\t\t\t\t\"lodash.clone\": \"^4.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"doctrine\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"esutils\": \"^2.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"dom-storage\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==\"\n\t\t},\n\t\t\"domino\": {\n\t\t\t\"version\": \"2.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/domino/-/domino-2.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==\"\n\t\t},\n\t\t\"dtrace-provider\": {\n\t\t\t\"version\": \"0.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"ecc-jsbn\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"ee-first\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=\"\n\t\t},\n\t\t\"electron-to-chromium\": {\n\t\t\t\"version\": \"1.4.340\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz\",\n\t\t\t\"integrity\": \"sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"emoji-regex\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\"\n\t\t},\n\t\t\"encodeurl\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=\"\n\t\t},\n\t\t\"error-ex\": {\n\t\t\t\"version\": \"1.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-arrayish\": \"^0.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"es-abstract\": {\n\t\t\t\"version\": \"1.17.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz\",\n\t\t\t\"integrity\": \"sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"es-to-primitive\": \"^1.2.1\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has\": \"^1.0.3\",\n\t\t\t\t\"has-symbols\": \"^1.0.1\",\n\t\t\t\t\"is-callable\": \"^1.2.0\",\n\t\t\t\t\"is-regex\": \"^1.1.0\",\n\t\t\t\t\"object-inspect\": \"^1.7.0\",\n\t\t\t\t\"object-keys\": \"^1.1.1\",\n\t\t\t\t\"object.assign\": \"^4.1.0\",\n\t\t\t\t\"string.prototype.trimend\": \"^1.0.1\",\n\t\t\t\t\"string.prototype.trimstart\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"es-to-primitive\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-callable\": \"^1.1.4\",\n\t\t\t\t\"is-date-object\": \"^1.0.1\",\n\t\t\t\t\"is-symbol\": \"^1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"es6-error\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"escalade\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"escape-html\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=\"\n\t\t},\n\t\t\"escape-string-regexp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\"\n\t\t},\n\t\t\"eslint\": {\n\t\t\t\"version\": \"8.36.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@eslint-community/eslint-utils\": \"^4.2.0\",\n\t\t\t\t\"@eslint-community/regexpp\": \"^4.4.0\",\n\t\t\t\t\"@eslint/eslintrc\": \"^2.0.1\",\n\t\t\t\t\"@eslint/js\": \"8.36.0\",\n\t\t\t\t\"@humanwhocodes/config-array\": \"^0.11.8\",\n\t\t\t\t\"@humanwhocodes/module-importer\": \"^1.0.1\",\n\t\t\t\t\"@nodelib/fs.walk\": \"^1.2.8\",\n\t\t\t\t\"ajv\": \"^6.10.0\",\n\t\t\t\t\"chalk\": \"^4.0.0\",\n\t\t\t\t\"cross-spawn\": \"^7.0.2\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"doctrine\": \"^3.0.0\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"eslint-scope\": \"^7.1.1\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.5.0\",\n\t\t\t\t\"esquery\": \"^1.4.2\",\n\t\t\t\t\"esutils\": \"^2.0.2\",\n\t\t\t\t\"fast-deep-equal\": \"^3.1.3\",\n\t\t\t\t\"file-entry-cache\": \"^6.0.1\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"glob-parent\": \"^6.0.2\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"grapheme-splitter\": \"^1.0.4\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.0.0\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"is-glob\": \"^4.0.0\",\n\t\t\t\t\"is-path-inside\": \"^3.0.3\",\n\t\t\t\t\"js-sdsl\": \"^4.1.4\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"lodash.merge\": \"^4.6.2\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"optionator\": \"^0.9.1\",\n\t\t\t\t\"strip-ansi\": \"^6.0.1\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.0\",\n\t\t\t\t\"text-table\": \"^0.2.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"5.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ansi-styles\": {\n\t\t\t\t\t\"version\": \"4.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"color-convert\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"argparse\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"chalk\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-styles\": \"^4.1.0\",\n\t\t\t\t\t\t\"supports-color\": \"^7.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"color-convert\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"color-name\": \"~1.1.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"color-name\": {\n\t\t\t\t\t\"version\": \"1.1.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"has-flag\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"p-limit\": {\n\t\t\t\t\t\"version\": \"3.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"6.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^5.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"7.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-config-wikimedia\": {\n\t\t\t\"version\": \"0.24.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz\",\n\t\t\t\"integrity\": \"sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"browserslist-config-wikimedia\": \"^0.4.0\",\n\t\t\t\t\"eslint\": \"^8.31.0\",\n\t\t\t\t\"eslint-plugin-compat\": \"^4.0.2\",\n\t\t\t\t\"eslint-plugin-es-x\": \"^5.2.1\",\n\t\t\t\t\"eslint-plugin-jsdoc\": \"39.2.2\",\n\t\t\t\t\"eslint-plugin-json-es\": \"^1.5.7\",\n\t\t\t\t\"eslint-plugin-mediawiki\": \"^0.4.0\",\n\t\t\t\t\"eslint-plugin-mocha\": \"^9.0.0\",\n\t\t\t\t\"eslint-plugin-no-jquery\": \"^2.7.0\",\n\t\t\t\t\"eslint-plugin-node\": \"^11.1.0\",\n\t\t\t\t\"eslint-plugin-qunit\": \"^7.2.0\",\n\t\t\t\t\"eslint-plugin-unicorn\": \"^42.0.0\",\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"eslint-plugin-wdio\": \"^7.19.4\",\n\t\t\t\t\"eslint-plugin-yml\": \"^0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-compat\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^5.2.34\",\n\t\t\t\t\"ast-metadata-inferer\": \"^0.7.0\",\n\t\t\t\t\"browserslist\": \"^4.21.5\",\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001451\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"lodash.memoize\": \"4.1.2\",\n\t\t\t\t\"semver\": \"7.3.8\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-limit\": {\n\t\t\t\t\t\"version\": \"3.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-es-x\": {\n\t\t\t\"version\": \"5.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-5.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6Mniw760Nhd6brnDy+rz857LD+icZe5wXmsvXSuJ84svM0Q53ulJxpMhTJmpqHaLzYh7fuGAJ8V62ohbmqF+jA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0 || ^3.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-jsdoc\": {\n\t\t\t\"version\": \"39.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ybkvja0p9JRzHEd2ST9h+Z47DLOuPyXpeb6r18/zKHdMmggPU1J0/zl+F0phea8ze9rMxi42MJVmGXi2NZ7PpA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@es-joy/jsdoccomment\": \"~0.23.1\",\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"debug\": \"^4.3.4\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"semver\": \"^7.3.7\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-json-es\": {\n\t\t\t\"version\": \"1.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz\",\n\t\t\t\"integrity\": \"sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.3.1\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-mediawiki\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"upath\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-mocha\": {\n\t\t\t\"version\": \"9.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"ramda\": \"^0.27.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-no-jquery\": {\n\t\t\t\"version\": \"2.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {}\n\t\t},\n\t\t\"eslint-plugin-node\": {\n\t\t\t\"version\": \"11.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-plugin-es\": \"^3.0.0\",\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"ignore\": \"^5.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"resolve\": \"^1.10.1\",\n\t\t\t\t\"semver\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-es\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"6.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-qunit\": {\n\t\t\t\"version\": \"7.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"requireindex\": \"^1.2.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-unicorn\": {\n\t\t\t\"version\": \"42.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.15.7\",\n\t\t\t\t\"ci-info\": \"^3.3.0\",\n\t\t\t\t\"clean-regexp\": \"^1.0.0\",\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"indent-string\": \"^4.0.0\",\n\t\t\t\t\"is-builtin-module\": \"^3.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"pluralize\": \"^8.0.0\",\n\t\t\t\t\"read-pkg-up\": \"^7.0.1\",\n\t\t\t\t\"regexp-tree\": \"^0.1.24\",\n\t\t\t\t\"safe-regex\": \"^2.1.1\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"strip-indent\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^5.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^4.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^2.2.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"parse-json\": {\n\t\t\t\t\t\"version\": \"5.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"@babel/code-frame\": \"^7.0.0\",\n\t\t\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\t\t\"json-parse-even-better-errors\": \"^2.3.0\",\n\t\t\t\t\t\t\"lines-and-columns\": \"^1.1.6\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"read-pkg\": {\n\t\t\t\t\t\"version\": \"5.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"@types/normalize-package-data\": \"^2.4.0\",\n\t\t\t\t\t\t\"normalize-package-data\": \"^2.5.0\",\n\t\t\t\t\t\t\"parse-json\": \"^5.0.0\",\n\t\t\t\t\t\t\"type-fest\": \"^0.6.0\"\n\t\t\t\t\t},\n\t\t\t\t\t\"dependencies\": {\n\t\t\t\t\t\t\"type-fest\": {\n\t\t\t\t\t\t\t\"version\": \"0.6.0\",\n\t\t\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz\",\n\t\t\t\t\t\t\t\"integrity\": \"sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==\",\n\t\t\t\t\t\t\t\"dev\": true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"read-pkg-up\": {\n\t\t\t\t\t\"version\": \"7.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"find-up\": \"^4.1.0\",\n\t\t\t\t\t\t\"read-pkg\": \"^5.2.0\",\n\t\t\t\t\t\t\"type-fest\": \"^0.8.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"type-fest\": {\n\t\t\t\t\t\"version\": \"0.8.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-vue\": {\n\t\t\t\"version\": \"8.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"nth-check\": \"^2.0.1\",\n\t\t\t\t\"postcss-selector-parser\": \"^6.0.9\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"vue-eslint-parser\": \"^8.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-wdio\": {\n\t\t\t\"version\": \"7.25.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz\",\n\t\t\t\"integrity\": \"sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"eslint-plugin-yml\": {\n\t\t\t\"version\": \"0.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+0+bBV/07txENbxfrHF9olGoLCHez64vmnOmjWOoLwmXOwfdaSRleBSPIi4nWQs7WwX8lm/fSLadOjbVEcsXQQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"yaml-eslint-parser\": \"^0.5.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-scope\": {\n\t\t\t\"version\": \"7.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"esrecurse\": \"^4.3.0\",\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-utils\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^1.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"1.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-visitor-keys\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"espree\": {\n\t\t\t\"version\": \"9.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"acorn\": \"^8.8.0\",\n\t\t\t\t\"acorn-jsx\": \"^5.3.2\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"esprima\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\"\n\t\t},\n\t\t\"esquery\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"estraverse\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"esrecurse\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"estraverse\": {\n\t\t\t\"version\": \"5.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"esutils\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"etag\": {\n\t\t\t\"version\": \"1.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=\"\n\t\t},\n\t\t\"express\": {\n\t\t\t\"version\": \"4.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/express/-/express-4.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"accepts\": \"~1.3.7\",\n\t\t\t\t\"array-flatten\": \"1.1.1\",\n\t\t\t\t\"body-parser\": \"1.19.0\",\n\t\t\t\t\"content-disposition\": \"0.5.3\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"cookie\": \"0.4.0\",\n\t\t\t\t\"cookie-signature\": \"1.0.6\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"finalhandler\": \"~1.1.2\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"merge-descriptors\": \"1.0.1\",\n\t\t\t\t\"methods\": \"~1.1.2\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"path-to-regexp\": \"0.1.7\",\n\t\t\t\t\"proxy-addr\": \"~2.0.5\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"send\": \"0.17.1\",\n\t\t\t\t\"serve-static\": \"1.14.1\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"type-is\": \"~1.6.18\",\n\t\t\t\t\"utils-merge\": \"1.0.1\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"extend\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==\"\n\t\t},\n\t\t\"extsprintf\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=\"\n\t\t},\n\t\t\"fast-deep-equal\": {\n\t\t\t\"version\": \"3.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n\t\t},\n\t\t\"fast-json-stable-stringify\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n\t\t},\n\t\t\"fast-levenshtein\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"fastq\": {\n\t\t\t\"version\": \"1.15.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"reusify\": \"^1.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"file-entry-cache\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flat-cache\": \"^3.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"file-uri-to-path\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"finalhandler\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"unpipe\": \"~1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"find-cache-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"commondir\": \"^1.0.1\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"pkg-dir\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"find-up\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"locate-path\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"flat\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat/-/flat-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-buffer\": \"~2.0.3\"\n\t\t\t}\n\t\t},\n\t\t\"flat-cache\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flatted\": \"^3.1.0\",\n\t\t\t\t\"rimraf\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"3.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"flatted\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"foreground-child\": {\n\t\t\t\"version\": \"1.5.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz\",\n\t\t\t\"integrity\": \"sha1-T9ca0t/elnibmApcCilZN8svXOk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cross-spawn\": \"^4\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": {\n\t\t\t\t\t\"version\": \"4.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"forever-agent\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=\"\n\t\t},\n\t\t\"form-data\": {\n\t\t\t\"version\": \"2.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asynckit\": \"^0.4.0\",\n\t\t\t\t\"combined-stream\": \"^1.0.6\",\n\t\t\t\t\"mime-types\": \"^2.1.12\"\n\t\t\t}\n\t\t},\n\t\t\"forwarded\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=\"\n\t\t},\n\t\t\"fresh\": {\n\t\t\t\"version\": \"0.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n\t\t\t\"integrity\": \"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=\"\n\t\t},\n\t\t\"fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-FQStJSMVjKpA20onh8sBQRmU6k8=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"function-bind\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"gc-stats\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.13.2\",\n\t\t\t\t\"node-pre-gyp\": \"^0.13.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"abbrev\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"aproba\": {\n\t\t\t\t\t\"version\": \"1.2.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"are-we-there-yet\": {\n\t\t\t\t\t\"version\": \"1.1.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"delegates\": \"^1.0.0\",\n\t\t\t\t\t\t\"readable-stream\": \"^2.0.6\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"balanced-match\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"brace-expansion\": {\n\t\t\t\t\t\"version\": \"1.1.11\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"chownr\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"code-point-at\": {\n\t\t\t\t\t\"version\": \"1.1.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"concat-map\": {\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"console-control-strings\": {\n\t\t\t\t\t\"version\": \"1.1.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"core-util-is\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"deep-extend\": {\n\t\t\t\t\t\"version\": \"0.6.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"delegates\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"detect-libc\": {\n\t\t\t\t\t\"version\": \"1.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"fs-minipass\": {\n\t\t\t\t\t\"version\": \"1.2.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"fs.realpath\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"gauge\": {\n\t\t\t\t\t\"version\": \"2.7.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"aproba\": \"^1.0.3\",\n\t\t\t\t\t\t\"console-control-strings\": \"^1.0.0\",\n\t\t\t\t\t\t\"has-unicode\": \"^2.0.0\",\n\t\t\t\t\t\t\"object-assign\": \"^4.1.0\",\n\t\t\t\t\t\t\"signal-exit\": \"^3.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^1.0.1\",\n\t\t\t\t\t\t\"strip-ansi\": \"^3.0.1\",\n\t\t\t\t\t\t\"wide-align\": \"^1.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"has-unicode\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"iconv-lite\": {\n\t\t\t\t\t\"version\": \"0.4.24\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ignore-walk\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"inflight\": {\n\t\t\t\t\t\"version\": \"1.0.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"wrappy\": \"1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"inherits\": {\n\t\t\t\t\t\"version\": \"2.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"ini\": {\n\t\t\t\t\t\"version\": \"1.3.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"is-fullwidth-code-point\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"number-is-nan\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"isarray\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.0.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimist\": {\n\t\t\t\t\t\"version\": \"0.0.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"minipass\": {\n\t\t\t\t\t\"version\": \"2.3.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\t\t\"yallist\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minizlib\": {\n\t\t\t\t\t\"version\": \"1.2.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"mkdirp\": {\n\t\t\t\t\t\"version\": \"0.5.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimist\": \"0.0.8\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"needle\": {\n\t\t\t\t\t\"version\": \"2.3.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\t\t\"iconv-lite\": \"^0.4.4\",\n\t\t\t\t\t\t\"sax\": \"^1.2.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"node-pre-gyp\": {\n\t\t\t\t\t\"version\": \"0.13.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"detect-libc\": \"^1.0.2\",\n\t\t\t\t\t\t\"mkdirp\": \"^0.5.1\",\n\t\t\t\t\t\t\"needle\": \"^2.2.1\",\n\t\t\t\t\t\t\"nopt\": \"^4.0.1\",\n\t\t\t\t\t\t\"npm-packlist\": \"^1.1.6\",\n\t\t\t\t\t\t\"npmlog\": \"^4.0.2\",\n\t\t\t\t\t\t\"rc\": \"^1.2.7\",\n\t\t\t\t\t\t\"rimraf\": \"^2.6.1\",\n\t\t\t\t\t\t\"semver\": \"^5.3.0\",\n\t\t\t\t\t\t\"tar\": \"^4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"nopt\": {\n\t\t\t\t\t\"version\": \"4.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"abbrev\": \"1\",\n\t\t\t\t\t\t\"osenv\": \"^0.1.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"npm-bundled\": {\n\t\t\t\t\t\"version\": \"1.0.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"npm-packlist\": {\n\t\t\t\t\t\"version\": \"1.4.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ignore-walk\": \"^3.0.1\",\n\t\t\t\t\t\t\"npm-bundled\": \"^1.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"npmlog\": {\n\t\t\t\t\t\"version\": \"4.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"are-we-there-yet\": \"~1.1.2\",\n\t\t\t\t\t\t\"console-control-strings\": \"~1.1.0\",\n\t\t\t\t\t\t\"gauge\": \"~2.7.3\",\n\t\t\t\t\t\t\"set-blocking\": \"~2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"number-is-nan\": {\n\t\t\t\t\t\"version\": \"1.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"object-assign\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"once\": {\n\t\t\t\t\t\"version\": \"1.4.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"wrappy\": \"1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"os-homedir\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"os-tmpdir\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"osenv\": {\n\t\t\t\t\t\"version\": \"0.1.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"os-homedir\": \"^1.0.0\",\n\t\t\t\t\t\t\"os-tmpdir\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-is-absolute\": {\n\t\t\t\t\t\"version\": \"1.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"process-nextick-args\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"rc\": {\n\t\t\t\t\t\"version\": \"1.2.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"deep-extend\": \"^0.6.0\",\n\t\t\t\t\t\t\"ini\": \"~1.3.0\",\n\t\t\t\t\t\t\"minimist\": \"^1.2.0\",\n\t\t\t\t\t\t\"strip-json-comments\": \"~2.0.1\"\n\t\t\t\t\t},\n\t\t\t\t\t\"dependencies\": {\n\t\t\t\t\t\t\"minimist\": {\n\t\t\t\t\t\t\t\"version\": \"1.2.0\",\n\t\t\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\t\t\"optional\": true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"readable-stream\": {\n\t\t\t\t\t\"version\": \"2.3.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.6.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"safe-buffer\": {\n\t\t\t\t\t\"version\": \"5.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"safer-buffer\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"sax\": {\n\t\t\t\t\t\"version\": \"1.2.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"set-blocking\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"signal-exit\": {\n\t\t\t\t\t\"version\": \"3.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"string_decoder\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"string-width\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"code-point-at\": \"^1.0.0\",\n\t\t\t\t\t\t\"is-fullwidth-code-point\": \"^1.0.0\",\n\t\t\t\t\t\t\"strip-ansi\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-json-comments\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"tar\": {\n\t\t\t\t\t\"version\": \"4.4.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"chownr\": \"^1.1.1\",\n\t\t\t\t\t\t\"fs-minipass\": \"^1.2.5\",\n\t\t\t\t\t\t\"minipass\": \"^2.3.4\",\n\t\t\t\t\t\t\"minizlib\": \"^1.1.1\",\n\t\t\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\t\t\"yallist\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"util-deprecate\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"wide-align\": {\n\t\t\t\t\t\"version\": \"1.1.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"wrappy\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"yallist\": {\n\t\t\t\t\t\"version\": \"3.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"gelf-stream\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelf-stream/-/gelf-stream-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nOqbY4asMBx0GDjKPLkeZtv79mk=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"gelfling\": \"^0.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"gelfling\": {\n\t\t\t\"version\": \"0.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelfling/-/gelfling-0.3.1.tgz\",\n\t\t\t\"integrity\": \"sha1-M2qY+BUQ+a4K8qSU4XRooRap3AQ=\"\n\t\t},\n\t\t\"get-caller-file\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\"\n\t\t},\n\t\t\"getpass\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"glob\": {\n\t\t\t\"version\": \"6.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-6.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"2 || 3\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"glob-parent\": {\n\t\t\t\"version\": \"6.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-glob\": \"^4.0.3\"\n\t\t\t}\n\t\t},\n\t\t\"globals\": {\n\t\t\t\"version\": \"13.20.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.20.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"type-fest\": \"^0.20.2\"\n\t\t\t}\n\t\t},\n\t\t\"graceful-fs\": {\n\t\t\t\"version\": \"4.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"grapheme-splitter\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"growl\": {\n\t\t\t\"version\": \"1.10.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/growl/-/growl-1.10.5.tgz\",\n\t\t\t\"integrity\": \"sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"har-schema\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=\"\n\t\t},\n\t\t\"har-validator\": {\n\t\t\t\"version\": \"5.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ajv\": \"^6.12.3\",\n\t\t\t\t\"har-schema\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"has\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"function-bind\": \"^1.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"has-flag\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tdRU3CGZriJWmfNGfloH87lVuv0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"has-symbols\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"hasha\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-stream\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"hat\": {\n\t\t\t\"version\": \"0.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hat/-/hat-0.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=\"\n\t\t},\n\t\t\"he\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"heapdump\": {\n\t\t\t\"version\": \"0.3.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz\",\n\t\t\t\"integrity\": \"sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t}\n\t\t},\n\t\t\"hosted-git-info\": {\n\t\t\t\"version\": \"2.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"hot-shots\": {\n\t\t\t\"version\": \"6.8.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hot-shots/-/hot-shots-6.8.7.tgz\",\n\t\t\t\"integrity\": \"sha512-XH8iezBSZgVw2jegu96pUfF1Zv0VZ/iXjb7L5yE3F7mn7/bdhf4qeniXjO0wQWeefe433rhOsazNKLxM+XMI9w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"unix-dgram\": \"2.0.x\"\n\t\t\t}\n\t\t},\n\t\t\"html-escaper\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"http-errors\": {\n\t\t\t\"version\": \"1.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"inherits\": \"2.0.3\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \">= 1.5.0 < 2\",\n\t\t\t\t\"toidentifier\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"http-shutdown\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==\"\n\t\t},\n\t\t\"http-signature\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"jsprim\": \"^1.2.2\",\n\t\t\t\t\"sshpk\": \"^1.7.0\"\n\t\t\t}\n\t\t},\n\t\t\"iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n\t\t\t\"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t}\n\t\t},\n\t\t\"ignore\": {\n\t\t\t\"version\": \"5.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"import-fresh\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"parent-module\": \"^1.0.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"imurmurhash\": {\n\t\t\t\"version\": \"0.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n\t\t\t\"integrity\": \"sha1-khi5srkoojixPcT7a21XbyMUU+o=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"indent-string\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=\"\n\t\t},\n\t\t\"ipaddr.js\": {\n\t\t\t\"version\": \"1.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\"\n\t\t},\n\t\t\"is-arrayish\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-buffer\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-builtin-module\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"builtin-modules\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"is-callable\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-date-object\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-extglob\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-fullwidth-code-point\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=\"\n\t\t},\n\t\t\"is-glob\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-extglob\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-path-inside\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-regex\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-stream\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-EtSj3U5o4Lec6428hBc66A2RykQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-symbol\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-typedarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=\"\n\t\t},\n\t\t\"isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=\"\n\t\t},\n\t\t\"isexe\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"isstream\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=\"\n\t\t},\n\t\t\"istanbul-lib-coverage\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"istanbul-lib-hook\": {\n\t\t\t\"version\": \"2.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz\",\n\t\t\t\"integrity\": \"sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"append-transform\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-instrument\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/generator\": \"^7.4.0\",\n\t\t\t\t\"@babel/parser\": \"^7.4.3\",\n\t\t\t\t\"@babel/template\": \"^7.4.0\",\n\t\t\t\t\"@babel/traverse\": \"^7.4.3\",\n\t\t\t\t\"@babel/types\": \"^7.4.0\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"semver\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"6.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-report\": {\n\t\t\t\"version\": \"2.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"supports-color\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"6.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-source-maps\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"source-map\": {\n\t\t\t\t\t\"version\": \"0.6.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-reports\": {\n\t\t\t\"version\": \"2.2.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz\",\n\t\t\t\"integrity\": \"sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"html-escaper\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"js-sdsl\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"js-tokens\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"js-yaml\": {\n\t\t\t\"version\": \"3.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"jsbn\": {\n\t\t\t\"version\": \"0.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-peZUwuWi3rXyAdls77yoDA7y9RM=\"\n\t\t},\n\t\t\"jsdoc-type-pratt-parser\": {\n\t\t\t\"version\": \"2.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"jsesc\": {\n\t\t\t\"version\": \"2.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-parse-better-errors\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-parse-even-better-errors\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-schema\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=\"\n\t\t},\n\t\t\"json-schema-traverse\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n\t\t},\n\t\t\"json-stable-stringify-without-jsonify\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-stringify-safe\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=\"\n\t\t},\n\t\t\"jsprim\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz\",\n\t\t\t\"integrity\": \"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"1.0.0\",\n\t\t\t\t\"extsprintf\": \"1.3.0\",\n\t\t\t\t\"json-schema\": \"0.2.3\",\n\t\t\t\t\"verror\": \"1.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"kad\": {\n\t\t\t\"version\": \"git+ssh://git@github.com/wikimedia/kad.git#96f8f5c8e5a88f5dffed47abc20756e93e16387e\",\n\t\t\t\"from\": \"kad@git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\"requires\": {\n\t\t\t\t\"async\": \"^0.9.0\",\n\t\t\t\t\"clarinet\": \"^0.11.0\",\n\t\t\t\t\"colors\": \"^1.0.3\",\n\t\t\t\t\"hat\": \"0.0.3\",\n\t\t\t\t\"kad-fs\": \"0.0.4\",\n\t\t\t\t\"kad-localstorage\": \"0.0.7\",\n\t\t\t\t\"kad-memstore\": \"0.0.1\",\n\t\t\t\t\"lodash\": \"^4.17.11\",\n\t\t\t\t\"merge\": \"^1.2.0\",\n\t\t\t\t\"ms\": \"^0.7.0\",\n\t\t\t\t\"msgpack5\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"0.7.3\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-0.7.3.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"kad-fs\": {\n\t\t\t\"version\": \"0.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-fs/-/kad-fs-0.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-Aupapc8iIlclV5YnzP1tJmNyKJo=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"kad-localstorage\": {\n\t\t\t\"version\": \"0.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-localstorage/-/kad-localstorage-0.0.7.tgz\",\n\t\t\t\"integrity\": \"sha1-96LngNpT+yi5Q8LFqJTCeaqBDxc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"dom-storage\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"kad-memstore\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-memstore/-/kad-memstore-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-g8t0hJasSRxxNRBMvla4jKc5JHc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"levn\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"~0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"limitation\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/limitation/-/limitation-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5lMmsPc9ZtMjBk8rJ8ADKIj6AOgYvRtAuNfboO2TVPZsmcn6gSRyijUsA8KG6DUcJ89/hyQ3cnVRyzO1hbDavw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.3.1\",\n\t\t\t\t\"kad\": \"git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"lines-and-columns\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"load-json-file\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-L19Fq5HjMhYjT9U62rZo607AmTs=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"parse-json\": \"^4.0.0\",\n\t\t\t\t\"pify\": \"^3.0.0\",\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"locate-path\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-locate\": \"^3.0.0\",\n\t\t\t\t\"path-exists\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"lodash\": {\n\t\t\t\"version\": \"4.17.21\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n\t\t\t\"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n\t\t},\n\t\t\"lodash.clone\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=\"\n\t\t},\n\t\t\"lodash.flattendeep\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.memoize\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.merge\": {\n\t\t\t\"version\": \"4.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.set\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"log-symbols\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"chalk\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"long\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/long/-/long-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==\"\n\t\t},\n\t\t\"lru-cache\": {\n\t\t\t\"version\": \"4.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pseudomap\": \"^1.0.2\",\n\t\t\t\t\"yallist\": \"^2.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"make-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"semver\": \"^5.6.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"media-typer\": {\n\t\t\t\"version\": \"0.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=\"\n\t\t},\n\t\t\"mediawiki-title\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-IL5xK/LND+Wqa3mEtaF4cEISnOPK166WiTauTGBPvPpKSuAIR5eOWLwKnUyit0ye9Bs7QPgfWnU8e6gfaCJLTg==\"\n\t\t},\n\t\t\"merge-descriptors\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=\"\n\t\t},\n\t\t\"merge-source-map\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"source-map\": {\n\t\t\t\t\t\"version\": \"0.6.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"methods\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=\"\n\t\t},\n\t\t\"mime\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\"\n\t\t},\n\t\t\"mime-db\": {\n\t\t\t\"version\": \"1.44.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==\"\n\t\t},\n\t\t\"mime-types\": {\n\t\t\t\"version\": \"2.1.27\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz\",\n\t\t\t\"integrity\": \"sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-db\": \"1.44.0\"\n\t\t\t}\n\t\t},\n\t\t\"min-indent\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t}\n\t\t},\n\t\t\"minimist\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"mkdirp\": {\n\t\t\t\"version\": \"0.5.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz\",\n\t\t\t\"integrity\": \"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"mocha\": {\n\t\t\t\"version\": \"6.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-colors\": \"3.2.3\",\n\t\t\t\t\"browser-stdout\": \"1.3.1\",\n\t\t\t\t\"debug\": \"3.2.6\",\n\t\t\t\t\"diff\": \"3.5.0\",\n\t\t\t\t\"escape-string-regexp\": \"1.0.5\",\n\t\t\t\t\"find-up\": \"3.0.0\",\n\t\t\t\t\"glob\": \"7.1.3\",\n\t\t\t\t\"growl\": \"1.10.5\",\n\t\t\t\t\"he\": \"1.2.0\",\n\t\t\t\t\"js-yaml\": \"3.13.1\",\n\t\t\t\t\"log-symbols\": \"2.2.0\",\n\t\t\t\t\"minimatch\": \"3.0.4\",\n\t\t\t\t\"mkdirp\": \"0.5.4\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"node-environment-flags\": \"1.0.5\",\n\t\t\t\t\"object.assign\": \"4.1.0\",\n\t\t\t\t\"strip-json-comments\": \"2.0.1\",\n\t\t\t\t\"supports-color\": \"6.0.0\",\n\t\t\t\t\"which\": \"1.3.1\",\n\t\t\t\t\"wide-align\": \"1.1.3\",\n\t\t\t\t\"yargs\": \"13.3.2\",\n\t\t\t\t\"yargs-parser\": \"13.1.2\",\n\t\t\t\t\"yargs-unparser\": \"1.6.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"3.2.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.3\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.3.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"3.13.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"mkdirp\": {\n\t\t\t\t\t\"version\": \"0.5.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"strip-json-comments\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-PFMZQukIwml8DsNEhYwobHygpgo=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"mocha-lcov-reporter\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"mocha.parallel\": {\n\t\t\t\"version\": \"0.15.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.6.tgz\",\n\t\t\t\"integrity\": \"sha512-pWph+QieKGjk7cHY2hB78wyKJDOQLyOMDuBLQLrFL7riJb8qbQBlCY3XztFHv0D1d4I1gCpiwFNjd4LhVOXPew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^2.9.34\",\n\t\t\t\t\"semaphore\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": {\n\t\t\t\t\t\"version\": \"2.11.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"moment\": {\n\t\t\t\"version\": \"2.29.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/moment/-/moment-2.29.0.tgz\",\n\t\t\t\"integrity\": \"sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"ms\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=\"\n\t\t},\n\t\t\"msgpack5\": {\n\t\t\t\"version\": \"3.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/msgpack5/-/msgpack5-3.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6HuCZHA57WtNUzrKIvjJ8OMxigzveJ6D5i13y6TsgGu3X3zxABpuBvChpppOoGdB9SyWZcmqUs1fwUV/PpSQ7Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bl\": \"^1.2.1\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.3.3\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"mv\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mv/-/mv-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"mkdirp\": \"~0.5.1\",\n\t\t\t\t\"ncp\": \"~2.0.0\",\n\t\t\t\t\"rimraf\": \"~2.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"nan\": {\n\t\t\t\"version\": \"2.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nan/-/nan-2.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"natural-compare\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ncp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"negotiator\": {\n\t\t\t\"version\": \"0.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==\"\n\t\t},\n\t\t\"nested-error-stacks\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"nock\": {\n\t\t\t\"version\": \"13.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nock/-/nock-13.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"json-stringify-safe\": \"^5.0.1\",\n\t\t\t\t\"lodash.set\": \"^4.3.2\",\n\t\t\t\t\"propagate\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node-environment-flags\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"object.getownpropertydescriptors\": \"^2.0.3\",\n\t\t\t\t\"semver\": \"^5.7.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node-releases\": {\n\t\t\t\"version\": \"2.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"normalize-package-data\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"hosted-git-info\": \"^2.1.4\",\n\t\t\t\t\"resolve\": \"^1.10.0\",\n\t\t\t\t\"semver\": \"2 || 3 || 4 || 5\",\n\t\t\t\t\"validate-npm-package-license\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"nth-check\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"boolbase\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"nyc\": {\n\t\t\t\"version\": \"14.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"archy\": \"^1.0.0\",\n\t\t\t\t\"caching-transform\": \"^3.0.2\",\n\t\t\t\t\"convert-source-map\": \"^1.6.0\",\n\t\t\t\t\"cp-file\": \"^6.2.0\",\n\t\t\t\t\"find-cache-dir\": \"^2.1.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"istanbul-lib-hook\": \"^2.0.7\",\n\t\t\t\t\"istanbul-lib-instrument\": \"^3.3.0\",\n\t\t\t\t\"istanbul-lib-report\": \"^2.0.8\",\n\t\t\t\t\"istanbul-lib-source-maps\": \"^3.0.6\",\n\t\t\t\t\"istanbul-reports\": \"^2.2.4\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"merge-source-map\": \"^1.1.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"spawn-wrap\": \"^1.4.2\",\n\t\t\t\t\"test-exclude\": \"^5.2.3\",\n\t\t\t\t\"uuid\": \"^3.3.2\",\n\t\t\t\t\"yargs\": \"^13.2.2\",\n\t\t\t\t\"yargs-parser\": \"^13.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"oauth-sign\": {\n\t\t\t\"version\": \"0.9.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==\"\n\t\t},\n\t\t\"object-inspect\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"object-keys\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"object.assign\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.2\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has-symbols\": \"^1.0.0\",\n\t\t\t\t\"object-keys\": \"^1.0.11\"\n\t\t\t}\n\t\t},\n\t\t\"object.getownpropertydescriptors\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.0-next.1\"\n\t\t\t}\n\t\t},\n\t\t\"on-finished\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ee-first\": \"1.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"on-headers\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\"\n\t\t},\n\t\t\"once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-WDsap3WWHUsROsF9nFC6753Xa9E=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"optionator\": {\n\t\t\t\"version\": \"0.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"deep-is\": \"^0.1.3\",\n\t\t\t\t\"fast-levenshtein\": \"^2.0.6\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"^0.4.0\",\n\t\t\t\t\"word-wrap\": \"^1.2.3\"\n\t\t\t}\n\t\t},\n\t\t\"os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-/7xJiDNuDoM94MFox+8VISGqf7M=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"os-shim\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"p-limit\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-try\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"p-locate\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-limit\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"p-try\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\"\n\t\t},\n\t\t\"package-hash\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.15\",\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"lodash.flattendeep\": \"^4.4.0\",\n\t\t\t\t\"release-zalgo\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"parent-module\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"callsites\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"parse-json\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-better-errors\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"parseurl\": {\n\t\t\t\"version\": \"1.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\"\n\t\t},\n\t\t\"path-exists\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=\"\n\t\t},\n\t\t\"path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-F0uSaHNVNP+8es5r9TpanhtcX18=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"path-key\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"path-parse\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"path-to-regexp\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=\"\n\t\t},\n\t\t\"path-type\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pify\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"performance-now\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=\"\n\t\t},\n\t\t\"picocolors\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"pify\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"pkg-dir\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"find-up\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"pluralize\": {\n\t\t\t\"version\": \"8.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"postcss-selector-parser\": {\n\t\t\t\"version\": \"6.0.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n\t\t\t\"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cssesc\": \"^3.0.0\",\n\t\t\t\t\"util-deprecate\": \"^1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"pre-commit\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha1-287g7p3nI15X95xW186UZBpp7sY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cross-spawn\": \"^5.0.1\",\n\t\t\t\t\"spawn-sync\": \"^1.0.15\",\n\t\t\t\t\"which\": \"1.2.x\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": {\n\t\t\t\t\t\"version\": \"5.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\t\t\"shebang-command\": \"^1.2.0\",\n\t\t\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"which\": {\n\t\t\t\t\t\"version\": \"1.2.14\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.2.14.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-mofEN48D6CfOyvGs31bHNsAcFOU=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"prelude-ls\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"preq\": {\n\t\t\t\"version\": \"0.5.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/preq/-/preq-0.5.14.tgz\",\n\t\t\t\"integrity\": \"sha512-kuJ5ndEgjs27kTTQ/P2ipPQoHeCJcAI4i97mU3xSjkjx6CsuQOsCe2l5twTGC0SCB5UkzRpmrpXmvN0Ip4ZCxA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.5.5\",\n\t\t\t\t\"request\": \"^2.88.0\",\n\t\t\t\t\"requestretry\": \"4.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"process-nextick-args\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n\t\t},\n\t\t\"propagate\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"proxy-addr\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"forwarded\": \"~0.1.2\",\n\t\t\t\t\"ipaddr.js\": \"1.9.1\"\n\t\t\t}\n\t\t},\n\t\t\"pseudomap\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-8FKijacOYYkX7wqKw0wa5aaChrM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"psl\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==\"\n\t\t},\n\t\t\"punycode\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==\"\n\t\t},\n\t\t\"qs\": {\n\t\t\t\"version\": \"6.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==\"\n\t\t},\n\t\t\"queue-microtask\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ramda\": {\n\t\t\t\"version\": \"0.27.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz\",\n\t\t\t\"integrity\": \"sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"range-parser\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\"\n\t\t},\n\t\t\"raw-body\": {\n\t\t\t\"version\": \"2.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"unpipe\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"read-pkg\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"load-json-file\": \"^4.0.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.3.2\",\n\t\t\t\t\"path-type\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"read-pkg-up\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"read-pkg\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"readable-stream\": {\n\t\t\t\"version\": \"2.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"regexp-tree\": {\n\t\t\t\"version\": \"0.1.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz\",\n\t\t\t\"integrity\": \"sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"regexpp\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"release-zalgo\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"es6-error\": \"^4.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"request\": {\n\t\t\t\"version\": \"2.88.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/request/-/request-2.88.2.tgz\",\n\t\t\t\"integrity\": \"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"aws-sign2\": \"~0.7.0\",\n\t\t\t\t\"aws4\": \"^1.8.0\",\n\t\t\t\t\"caseless\": \"~0.12.0\",\n\t\t\t\t\"combined-stream\": \"~1.0.6\",\n\t\t\t\t\"extend\": \"~3.0.2\",\n\t\t\t\t\"forever-agent\": \"~0.6.1\",\n\t\t\t\t\"form-data\": \"~2.3.2\",\n\t\t\t\t\"har-validator\": \"~5.1.3\",\n\t\t\t\t\"http-signature\": \"~1.2.0\",\n\t\t\t\t\"is-typedarray\": \"~1.0.0\",\n\t\t\t\t\"isstream\": \"~0.1.2\",\n\t\t\t\t\"json-stringify-safe\": \"~5.0.1\",\n\t\t\t\t\"mime-types\": \"~2.1.19\",\n\t\t\t\t\"oauth-sign\": \"~0.9.0\",\n\t\t\t\t\"performance-now\": \"^2.1.0\",\n\t\t\t\t\"qs\": \"~6.5.2\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"tough-cookie\": \"~2.5.0\",\n\t\t\t\t\"tunnel-agent\": \"^0.6.0\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"qs\": {\n\t\t\t\t\t\"version\": \"6.5.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"requestretry\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requestretry/-/requestretry-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ZGdO1ZXUQAeCB9xOS2keSN501y7T1t0zPOD58jTAOwamt6qkcBMaGdRBHEOMQRnDtT5fn7S99F0dwADUqCmYqg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"lodash\": \"^4.17.10\",\n\t\t\t\t\"when\": \"^3.7.7\"\n\t\t\t}\n\t\t},\n\t\t\"require-directory\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-jGStX9MNqxyXbiNE/+f3kqam30I=\"\n\t\t},\n\t\t\"require-main-filename\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\"\n\t\t},\n\t\t\"requireindex\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"resolve\": {\n\t\t\t\"version\": \"1.17.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"path-parse\": \"^1.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"resolve-from\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"reusify\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"rimraf\": {\n\t\t\t\"version\": \"2.4.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz\",\n\t\t\t\"integrity\": \"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"glob\": \"^6.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"run-parallel\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"queue-microtask\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n\t\t},\n\t\t\"safe-json-stringify\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"safe-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"regexp-tree\": \"~0.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n\t\t},\n\t\t\"semaphore\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"semver\": {\n\t\t\t\"version\": \"7.3.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.3.8.tgz\",\n\t\t\t\"integrity\": \"sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"lru-cache\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yallist\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yallist\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"send\": {\n\t\t\t\"version\": \"0.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/send/-/send-0.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"destroy\": \"~1.0.4\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"http-errors\": \"~1.7.2\",\n\t\t\t\t\"mime\": \"1.6.0\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"serve-static\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"send\": \"0.17.1\"\n\t\t\t}\n\t\t},\n\t\t\"service-runner\": {\n\t\t\t\"version\": \"2.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/service-runner/-/service-runner-2.7.8.tgz\",\n\t\t\t\"integrity\": \"sha512-YZBOj9wRzWEiBgIfrvq7OFVf9wr0u/llyeIsZjrd6tyrjJz2ywB9DiGpWb7/+MVswi970bgAw6+OUCq+9luyuw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"bunyan\": \"^1.8.12\",\n\t\t\t\t\"bunyan-syslog-udp\": \"^0.2.0\",\n\t\t\t\t\"dnscache\": \"^1.0.2\",\n\t\t\t\t\"gc-stats\": \"^1.4.0\",\n\t\t\t\t\"gelf-stream\": \"^1.1.1\",\n\t\t\t\t\"heapdump\": \"^0.3.15\",\n\t\t\t\t\"hot-shots\": \"^6.8.7\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"limitation\": \"^0.2.1\",\n\t\t\t\t\"semver\": \"^7.1.2\",\n\t\t\t\t\"yargs\": \"^14.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-BF+XgtARrppoA93TgrJDkrPYkPc=\"\n\t\t},\n\t\t\"setprototypeof\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==\"\n\t\t},\n\t\t\"shebang-command\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"shebang-regex\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"shebang-regex\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"signal-exit\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"source-map\": {\n\t\t\t\"version\": \"0.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n\t\t\t\"integrity\": \"sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"spawn-sync\": {\n\t\t\t\"version\": \"1.0.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz\",\n\t\t\t\"integrity\": \"sha1-sAeZVX63+wyDdsKdROih6mfldHY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"concat-stream\": \"^1.4.7\",\n\t\t\t\t\"os-shim\": \"^0.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"spawn-wrap\": {\n\t\t\t\"version\": \"1.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"os-homedir\": \"^1.0.1\",\n\t\t\t\t\"rimraf\": \"^2.6.2\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"which\": \"^1.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"spdx-correct\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"spdx-exceptions\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"spdx-expression-parse\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-exceptions\": \"^2.1.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"spdx-license-ids\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"sprintf-js\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=\"\n\t\t},\n\t\t\"sshpk\": {\n\t\t\t\"version\": \"1.16.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asn1\": \"~0.2.3\",\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"bcrypt-pbkdf\": \"^1.0.0\",\n\t\t\t\t\"dashdash\": \"^1.12.0\",\n\t\t\t\t\"ecc-jsbn\": \"~0.1.1\",\n\t\t\t\t\"getpass\": \"^0.1.1\",\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.0.2\",\n\t\t\t\t\"tweetnacl\": \"~0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"statuses\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=\"\n\t\t},\n\t\t\"string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"string-width\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"emoji-regex\": \"^7.0.1\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"string.prototype.trimend\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t}\n\t\t},\n\t\t\"string.prototype.trimstart\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t}\n\t\t},\n\t\t\"strip-ansi\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-regex\": \"^4.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"strip-bom\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"strip-indent\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"min-indent\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"strip-json-comments\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"striptags\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-yMPn/db7S7OjKjt1LltePjgJPr0=\"\n\t\t},\n\t\t\"supports-color\": {\n\t\t\t\"version\": \"5.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"swagger-router\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-router/-/swagger-router-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-HdKJ4DenOXcaChWKST7oFHvd+kclike9rsFfPt3W9JWVvznofcOWGSivyWJECky3tOlw52jqvCKSQrz1l+1D9w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.5.2\",\n\t\t\t\t\"js-yaml\": \"^3.12.0\",\n\t\t\t\t\"tassembly\": \"^0.2.3\",\n\t\t\t\t\"template-expression-compiler\": \"^0.1.10\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t}\n\t\t},\n\t\t\"swagger-ui-dist\": {\n\t\t\t\"version\": \"3.34.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.34.0.tgz\",\n\t\t\t\"integrity\": \"sha512-xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==\"\n\t\t},\n\t\t\"tassembly\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tassembly/-/tassembly-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-WKq7bznvTPKgSz3mEmFzLnDBTvc=\"\n\t\t},\n\t\t\"template-expression-compiler\": {\n\t\t\t\"version\": \"0.1.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/template-expression-compiler/-/template-expression-compiler-0.1.10.tgz\",\n\t\t\t\"integrity\": \"sha1-ul3/IG8fmzEpaZDdxLwzlBKCqqM=\"\n\t\t},\n\t\t\"test-exclude\": {\n\t\t\t\"version\": \"5.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"read-pkg-up\": \"^4.0.0\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"text-table\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"to-fast-properties\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"toidentifier\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==\"\n\t\t},\n\t\t\"tough-cookie\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"psl\": \"^1.1.28\",\n\t\t\t\t\"punycode\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"tunnel-agent\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"tweetnacl\": {\n\t\t\t\"version\": \"0.14.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",\n\t\t\t\"integrity\": \"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=\"\n\t\t},\n\t\t\"type-check\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"type-fest\": {\n\t\t\t\"version\": \"0.20.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"type-is\": {\n\t\t\t\"version\": \"1.6.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n\t\t\t\"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"media-typer\": \"0.3.0\",\n\t\t\t\t\"mime-types\": \"~2.1.24\"\n\t\t\t}\n\t\t},\n\t\t\"typedarray\": {\n\t\t\t\"version\": \"0.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"unix-dgram\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7tpK6x7ls7J7pDrrAU63h93R0dVhRbPwiRRCawR10cl+2e1VOvF3bHlVJc6WI1dl/8qk5He673QU+Ogv7bPNaw==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"bindings\": \"^1.3.0\",\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t}\n\t\t},\n\t\t\"unpipe\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=\"\n\t\t},\n\t\t\"upath\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/upath/-/upath-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"update-browserslist-db\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"escalade\": \"^3.1.1\",\n\t\t\t\t\"picocolors\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"uri-js\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"punycode\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=\"\n\t\t},\n\t\t\"utils-merge\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=\"\n\t\t},\n\t\t\"uuid\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==\"\n\t\t},\n\t\t\"validate-npm-package-license\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-correct\": \"^3.0.0\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"vary\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=\"\n\t\t},\n\t\t\"verror\": {\n\t\t\t\"version\": \"1.10.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",\n\t\t\t\"integrity\": \"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"core-util-is\": \"1.0.2\",\n\t\t\t\t\"extsprintf\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"vue-eslint-parser\": {\n\t\t\t\"version\": \"8.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"eslint-scope\": \"^7.0.0\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.1.0\",\n\t\t\t\t\"espree\": \"^9.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"semver\": \"^7.3.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"when\": {\n\t\t\t\"version\": \"3.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/when/-/when-3.7.8.tgz\",\n\t\t\t\"integrity\": \"sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=\"\n\t\t},\n\t\t\"which\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"which-module\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=\"\n\t\t},\n\t\t\"wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"string-width\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\t\t\"strip-ansi\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-qEeQIusaw2iocTibY1JixQXuNo8=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"word-wrap\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"wrap-ansi\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"write-file-atomic\": {\n\t\t\t\"version\": \"2.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.11\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"y18n\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==\"\n\t\t},\n\t\t\"yallist\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"yaml\": {\n\t\t\t\"version\": \"1.10.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n\t\t\t\"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"yaml-eslint-parser\": {\n\t\t\t\"version\": \"0.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.0.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"yaml\": \"^1.10.2\"\n\t\t\t}\n\t\t},\n\t\t\"yargs\": {\n\t\t\t\"version\": \"14.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^15.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"yargs-parser\": {\n\t\t\t\"version\": \"15.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"yargs-unparser\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flat\": \"^4.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.15\",\n\t\t\t\t\"yargs\": \"^13.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"yocto-queue\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n\t\t\t\"dev\": true\n\t\t}\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":70,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"name\": \"@wikimedia/wikifeeds\",\n\t\"version\": \"1.0.0\",\n\t\"description\": \"A node webservice supporting featured wiki content feeds\",\n\t\"main\": \"./app.js\",\n\t\"scripts\": {\n\t\t\"start\": \"service-runner\",\n\t\t\"test\": \"npm run lint && PREQ_CONNECT_TIMEOUT=15 mocha\",\n\t\t\"test:unit\": \"mocha test/lib\",\n\t\t\"test:diff\": \"mocha --exit test/diff\",\n\t\t\"test:spec\": \"mocha test/features/app/spec.js\",\n\t\t\"lint\": \"eslint --ext .js --ext .json .\",\n\t\t\"lint:fix\": \"eslint --fix .\",\n\t\t\"docker-start\": \"service-runner docker-start\",\n\t\t\"docker-test\": \"service-runner docker-test\",\n\t\t\"test-build\": \"service-runner docker-test && service-runner build --deploy-repo --force\",\n\t\t\"coverage\": \"PREQ_CONNECT_TIMEOUT=15 nyc --reporter=lcov _mocha\"\n\t},\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/services/wikifeeds\"\n\t},\n\t\"keywords\": [\n\t\t\"REST\",\n\t\t\"API\",\n\t\t\"node service\",\n\t\t\"mobile apps\",\n\t\t\"MediaWiki\",\n\t\t\"Wikipedia\"\n\t],\n\t\"author\": \"Wikimedia Product Infrastructure team <https://www.mediawiki.org/wiki/Wikimedia_Product/Wikimedia_Product_Infrastructure_team>\",\n\t\"contributors\": [],\n\t\"license\": \"Apache-2.0\",\n\t\"bugs\": {\n\t\t\"url\": \"https://phabricator.wikimedia.org/tag/wikifeeds\"\n\t},\n\t\"homepage\": \"https://phabricator.wikimedia.org/tag/wikifeeds\",\n\t\"dependencies\": {\n\t\t\"bluebird\": \"^3.7.2\",\n\t\t\"body-parser\": \"^1.19.0\",\n\t\t\"bunyan\": \"^1.8.14\",\n\t\t\"cassandra-uuid\": \"^0.1.0\",\n\t\t\"compression\": \"^1.7.4\",\n\t\t\"domino\": \"^2.1.6\",\n\t\t\"escape-string-regexp\": \"^2.0.0\",\n\t\t\"express\": \"^4.17.1\",\n\t\t\"http-shutdown\": \"^1.2.2\",\n\t\t\"js-yaml\": \"^3.14.0\",\n\t\t\"lodash\": \"^4.17.20\",\n\t\t\"mediawiki-title\": \"^0.7.4\",\n\t\t\"preq\": \"^0.5.14\",\n\t\t\"service-runner\": \"^2.7.8\",\n\t\t\"striptags\": \"^3.1.1\",\n\t\t\"swagger-router\": \"^0.7.4\",\n\t\t\"swagger-ui-dist\": \"^3.34.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"ajv\": \"^6.12.5\",\n\t\t\"csv-parse\": \"^4.12.0\",\n\t\t\"eslint-config-wikimedia\": \"0.24.0\",\n\t\t\"extend\": \"^3.0.2\",\n\t\t\"mocha\": \"^6.2.3\",\n\t\t\"mocha-lcov-reporter\": \"^1.3.0\",\n\t\t\"mocha.parallel\": \"^0.15.6\",\n\t\t\"nock\": \"^13.1.3\",\n\t\t\"nyc\": \"^14.1.1\",\n\t\t\"pre-commit\": \"^1.2.2\"\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/announcements.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/availability.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/featured-image.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 7 column 7.","line":28,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":28,"endColumn":14}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Picture of the day\n */\n\n'use strict';\n\nconst si = require('../lib/siteinfo');\nconst util = require('../lib/util');\nconst featured = require('../lib/featured-image');\n\n/**\n * The main router object\n */\nconst router = util.router();\n\n/**\n * The main application object reported when this module is require()d\n */\nlet app;\n\n/**\n * GET {domain}/v1/media/image/featured/{year}/{month}/{day}\n * Gets the title and other metadata for the picture of the day of a given date.\n * ETag is set to the pageid and the revision.\n */\nrouter.get('/image/featured/:yyyy/:mm/:dd', (req, res) => {\n    return si.getSiteInfo(req)\n    .then((si) => featured.promise(app, req, si)\n    .then((response) => {\n        if (response.payload) {\n            util.setETag(res, response.meta && response.meta.tid);\n            util.setContentType(res, util.CONTENT_TYPES.unpublished);\n            res.status(200).json(response.payload);\n        } else {\n            res.status(204).end();\n        }\n    }));\n});\n\nmodule.exports = function (appObj) {\n    app = appObj;\n    return {\n        path: '/media',\n        api_version: 1,\n        router\n    };\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/featured.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/info.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/most-read.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/news.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/on-this-day.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/random.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/root.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/scripts/check-featured-feed.js","messages":[{"ruleId":"es-x/no-hashbang","severity":2,"message":"ES2023 Hashbang comments are forbidden.","line":1,"column":1,"nodeType":"Shebang","messageId":"forbidden","endLine":1,"endColumn":20},{"ruleId":"node/no-missing-require","severity":1,"message":"\"rss-parser\" is not found.","line":8,"column":49,"nodeType":"Literal","endLine":8,"endColumn":61},{"ruleId":"node/no-missing-require","severity":1,"message":"\"underscore\" is not found.","line":9,"column":28,"nodeType":"Literal","endLine":9,"endColumn":40},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":51,"column":35,"nodeType":"Identifier","messageId":"noShadow","endLine":51,"endColumn":42},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":84,"column":44,"nodeType":"Identifier","messageId":"noShadow","endLine":84,"endColumn":51},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":109,"column":34,"nodeType":"Identifier","messageId":"noShadow","endLine":109,"endColumn":41},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":152,"column":30,"nodeType":"Identifier","messageId":"noShadow","endLine":152,"endColumn":37},{"ruleId":"no-process-exit","severity":1,"message":"Don't use process.exit(); throw an error instead.","line":219,"column":5,"nodeType":"CallExpression","messageId":"noProcessExit","endLine":219,"endColumn":21}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"#!/usr/bin/env node\n\n'use strict';\n\nconst BBPromise = require('bluebird');\nconst domino = require('domino');\nconst preq = require('preq');\nconst parseRssUrl = BBPromise.promisify(require('rss-parser').parseURL);\nconst underscore = require('underscore');\nconst path = require('path');\n\n//\n// LANGUAGES SECTION start\n//\nconst wikiquoteLanguages = require(path.join(__dirname, '../private/wikiquotes.json'));\nconst wiktionaryLanguages = require(path.join(__dirname, '../private/wiktionaries.json'));\nconst wikipediaLanguagesRawList = require(path.join(__dirname, '../private/languages_list.json'));\n\nconst prepareWikipediaLanguageCodes = () => {\n    delete wikipediaLanguagesRawList['Simplified Chinese']; // skip lang variants\n    delete wikipediaLanguagesRawList['Traditional Chinese'];\n    return underscore.values(wikipediaLanguagesRawList).sort();\n};\nconst wikipediaLanguages = prepareWikipediaLanguageCodes();\n//\n// LANGUAGES SECTION end\n//\n\nconst ModeEnum = Object.freeze({ wikitext: 0, expandTemplates: 1, rssFeed: 2 });\nconst mode = ModeEnum.rssFeed;\n\nconst candidates = [];\nconst errNotConfigured = [];\nconst errElse = [];\nconst errHttp = [];\n\nconst cleanUpHtml = (html) => html.replace(/<!--[\\s\\S]*?-->/mg, '').replace(/\\n/mg, '');\n\nconst lookForBoldAnchor = (document, projectLang, html) => {\n    const boldAnchor = document.querySelector('b > a, a > b');\n    if (boldAnchor) {\n        const tfaTitle = boldAnchor.getAttribute('title');\n        console.log(`${projectLang}: ${tfaTitle}`);\n        candidates.push(projectLang);\n    } else {\n        console.log(`${projectLang}: ERROR: bold anchor not found: else: ${html}`);\n        errElse.push(projectLang);\n    }\n};\n\nconst getWikitext = (projectLang, feature) => {\n    const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n    const queryParams1 = 'action=query&format=json&prop=revisions&rvprop=content';\n    const queryParams2 = `&rvslots=main&titles=MediaWiki%3A${feature.title}`;\n    const uri = `${baseUri}/w/api.php?${queryParams1}${queryParams2}`;\n\n    return preq.get({ uri })\n        .then((rsp) => {\n            const pages = rsp.body.query && rsp.body.query.pages;\n            if (!pages) {\n                errNotConfigured.push(projectLang);\n                return;\n            }\n            const firstPageKey = Object.keys(pages)[0];\n            if (Object.prototype.hasOwnProperty.call(pages[firstPageKey], 'missing')) {\n                errNotConfigured.push(projectLang);\n                return;\n            }\n\n            const wikiText = pages[firstPageKey].revisions[0].slots.main['*'];\n            if (wikiText) {\n                console.log(`${projectLang}: ${wikiText}`);\n                candidates.push(projectLang);\n            } else {\n                errNotConfigured.push(projectLang);\n            }\n        })\n        .catch((err) => {\n            console.log(`${projectLang} ERROR: ${err}`);\n            errHttp.push(projectLang);\n        });\n};\n\nconst doubleExpandTemplate = (projectLang, feature) => {\n    const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n    const wikiText = encodeURIComponent(\n        `{{#ifexist:{{int:${feature.title}}}|{{ {{int:${feature.title}}} }} }}`);\n    const queryParams = `action=parse&format=json&prop=text&contentmodel=wikitext&text=${wikiText}`;\n    const uri = `${baseUri}/w/api.php?${queryParams}`;\n\n    return preq.get({ uri })\n        .then((rsp) => {\n            const html = cleanUpHtml(rsp.body.parse.text['*']);\n            if (html === '') {\n                errNotConfigured.push(projectLang);\n            } else if (feature.shouldLookForBoldAnchor) {\n                lookForBoldAnchor(domino.createDocument(html), projectLang, html);\n            } else {\n                console.log(`${projectLang}: ${html}`);\n                candidates.push(projectLang);\n            }\n        })\n        .catch((err) => {\n            console.log(`${projectLang} ERROR: ${err}`);\n            errHttp.push(projectLang);\n        });\n};\n\nconst getRssFeed = (projectLang, feature) => {\n    const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n    const queryParams = `action=featuredfeed&feed=${feature.feedName}&feedformat=rss`;\n    const uri = `${baseUri}/w/api.php?${queryParams}`;\n    const contentPool = [];\n    const indices = [];\n\n    return parseRssUrl(uri)\n        .then((response) => {\n            let languageCode;\n            // console.log(`${projectLang}: ${response.feed.title}`);\n            response.feed.entries.forEach((entry) => {\n                const index = underscore.indexOf(contentPool, entry.content);\n                // console.log(`${entry.title}: ${index}: ${entry.link}`);\n                if (index >= 0) {\n                    indices.push(index);\n                } else {\n                    contentPool.push(entry.content);\n                    indices.push(contentPool.length - 1);\n                }\n                languageCode = entry.link.slice(entry.link.lastIndexOf('/') + 1);\n            });\n            // in a few instances the languageCode differs from the projectLang (Example: no/nb)\n            console.log(`${projectLang}/${languageCode}: ${indices}: ${uri}`);\n            candidates.push(projectLang);\n        })\n        .catch((err) => {\n            if (err.message === 'RSS 1.0 parsing not yet implemented.') {\n                errNotConfigured.push(projectLang);\n            } else {\n                console.log(`${projectLang}: ERROR: ${uri}: ${err}`);\n                errHttp.push(projectLang);\n            }\n        });\n};\n\nconst printResultSummary = () => {\n    console.log(`candidates: ${candidates.length}: ${JSON.stringify(candidates.sort())}`);\n    console.log(`errNotConfigured: ${errNotConfigured.length}: ${errNotConfigured.sort()}`);\n    console.log(`errElse: ${errElse.length}: ${errElse.sort()}`);\n    console.log(`retryQueue: ${errHttp.length}: ${errHttp.sort()}`);\n};\n\nconst processAllLanguages = (feature) => {\n    BBPromise.map(feature.projectLangs, (projectLang) => {\n        if (mode === ModeEnum.expandTemplates) {\n            return doubleExpandTemplate(projectLang, feature);\n        } else if (mode === ModeEnum.wikitext) {\n            return getWikitext(projectLang, feature);\n        } else {\n            return getRssFeed(projectLang, feature);\n        }\n    }, { concurrency: 1 })\n        .then(() => {\n            printResultSummary();\n        });\n};\n\n// MAIN\nconst featureMap = {\n    tfa: {\n        projectFamily: 'wikipedia',\n        projectLangs: wikipediaLanguages,\n        feedName: 'featured',\n        title: 'Ffeed-featured-page',\n        shouldLookForBoldAnchor: true\n    },\n    dyk: {\n        projectFamily: 'wikipedia',\n        projectLangs: wikipediaLanguages,\n        feedName: 'dyk',\n        title: 'Ffeed-dyk-page'\n    },\n    potd: {\n        projectFamily: 'wikipedia',\n        projectLangs: wikipediaLanguages,\n        feedName: 'potd',\n        title: 'Ffeed-potd-page'\n    },\n    motd: {\n        projectFamily: 'wikipedia',\n        projectLangs: wikipediaLanguages,\n        feedName: 'motd',\n        title: 'Ffeed-motd-page'\n    },\n    qotd: {\n        projectFamily: 'wikiquote',\n        projectLangs: wikiquoteLanguages,\n        feedName: 'qotd',\n        title: 'Ffeed-qotd-page'\n    },\n    wotd: {\n        projectFamily: 'wiktionary',\n        projectLangs: wiktionaryLanguages,\n        feedName: 'wotd',\n        title: 'Ffeed-wotd-page'\n    },\n    fwotd: {\n        projectFamily: 'wiktionary',\n        projectLangs: wiktionaryLanguages,\n        feedName: 'fwotd',\n        title: 'Ffeed-fwotd-page'\n    }\n};\n\nconst feature = featureMap[process.argv[2]];\nif (feature) {\n    processAllLanguages(feature);\n} else {\n    console.error(`Error: need to specify one of ${Object.keys(featureMap)}!`);\n    process.exit(-1);\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/server.js","messages":[{"ruleId":"es-x/no-hashbang","severity":2,"message":"ES2023 Hashbang comments are forbidden.","line":1,"column":1,"nodeType":"Shebang","messageId":"forbidden","endLine":1,"endColumn":20}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"#!/usr/bin/env node\n\n'use strict';\n\n// Service entry point. Try node server --help for commandline options.\n\n// Start the service by running service-runner, which in turn loads the config\n// (config.yaml by default, specify other path with -c). It requires the\n// module(s) specified in the config 'services' section (app.js in this\n// example).\nconst ServiceRunner = require('service-runner');\nnew ServiceRunner().start();\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/spec.yaml","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 154. Maximum allowed is 100.","line":228,"column":1,"nodeType":"Program","messageId":"max","endLine":228,"endColumn":155},{"ruleId":"max-len","severity":1,"message":"This line has a length of 141. Maximum allowed is 100.","line":232,"column":1,"nodeType":"Program","messageId":"max","endLine":232,"endColumn":142},{"ruleId":"max-len","severity":1,"message":"This line has a length of 117. Maximum allowed is 100.","line":866,"column":1,"nodeType":"Program","messageId":"max","endLine":866,"endColumn":118},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":871,"column":1,"nodeType":"Program","messageId":"max","endLine":871,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":876,"column":1,"nodeType":"Program","messageId":"max","endLine":876,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":881,"column":1,"nodeType":"Program","messageId":"max","endLine":881,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":886,"column":1,"nodeType":"Program","messageId":"max","endLine":886,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":938,"column":1,"nodeType":"Program","messageId":"max","endLine":938,"endColumn":109},{"ruleId":"max-len","severity":1,"message":"This line has a length of 126. Maximum allowed is 100.","line":955,"column":1,"nodeType":"Program","messageId":"max","endLine":955,"endColumn":127},{"ruleId":"max-len","severity":1,"message":"This line has a length of 107. Maximum allowed is 100.","line":956,"column":1,"nodeType":"Program","messageId":"max","endLine":956,"endColumn":108},{"ruleId":"max-len","severity":1,"message":"This line has a length of 132. Maximum allowed is 100.","line":962,"column":1,"nodeType":"Program","messageId":"max","endLine":962,"endColumn":133},{"ruleId":"max-len","severity":1,"message":"This line has a length of 127. Maximum allowed is 100.","line":969,"column":1,"nodeType":"Program","messageId":"max","endLine":969,"endColumn":128},{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":971,"column":1,"nodeType":"Program","messageId":"max","endLine":971,"endColumn":109},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":972,"column":1,"nodeType":"Program","messageId":"max","endLine":972,"endColumn":114},{"ruleId":"max-len","severity":1,"message":"This line has a length of 121. Maximum allowed is 100.","line":973,"column":1,"nodeType":"Program","messageId":"max","endLine":973,"endColumn":122},{"ruleId":"max-len","severity":1,"message":"This line has a length of 121. Maximum allowed is 100.","line":977,"column":1,"nodeType":"Program","messageId":"max","endLine":977,"endColumn":122},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":981,"column":1,"nodeType":"Program","messageId":"max","endLine":981,"endColumn":114},{"ruleId":"max-len","severity":1,"message":"This line has a length of 111. Maximum allowed is 100.","line":985,"column":1,"nodeType":"Program","messageId":"max","endLine":985,"endColumn":112},{"ruleId":"max-len","severity":1,"message":"This line has a length of 124. Maximum allowed is 100.","line":991,"column":1,"nodeType":"Program","messageId":"max","endLine":991,"endColumn":125},{"ruleId":"max-len","severity":1,"message":"This line has a length of 281. Maximum allowed is 100.","line":995,"column":1,"nodeType":"Program","messageId":"max","endLine":995,"endColumn":282},{"ruleId":"max-len","severity":1,"message":"This line has a length of 144. Maximum allowed is 100.","line":1081,"column":1,"nodeType":"Program","messageId":"max","endLine":1081,"endColumn":145}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":21,"fixableErrorCount":0,"fixableWarningCount":0,"source":"swagger: \"2.0\"\n\ninfo:\n  version: 1.0.0\n  title: wikifeeds\n  description: A node webservice supporting featured wiki content feeds\n  termsOfService: https://wikimediafoundation.org/wiki/Terms_of_Use\n  contact:\n    name: Wikimedia Product Infrastructure Team\n    url: https://www.mediawiki.org/wiki/Wikimedia_Product/Wikimedia_Product_Infrastructure_team\n  license:\n    name: Apache2\n    url: http://www.apache.org/licenses/LICENSE-2.0\n\nx-default-params:\n  domain: en.wikipedia.org\n\nparameters:\n  domain:\n    in: path\n    name: domain\n    required: true\n    type: string\n    description: |\n      Project domain for the requested data.\n  title:\n    in: path\n    name: title\n    required: true\n    type: string\n    description: |\n      Page title. Use underscores instead of spaces. Example: `Main_Page`\n  revision:\n    in: path\n    name: revision\n    required: false\n    type: integer\n    description: Revision ID\n  tid:\n    in: path\n    name: tid\n    required: false\n    type: integer\n    description: Time UUID of the rendering (used for rerenders when non-revision content changes)\n  year:\n    in: path\n    name: year\n    required: true\n    type: integer\n    description: Four digit year (2016 and later)\n    minimum: 2016\n    maximum: 2999\n  month:\n    in: path\n    name: month\n    required: true\n    type: integer\n    description: Two digit month, 0-padded if necessary (01 - 12)\n    minimum: 01\n    maximum: 31\n  day:\n    in: path\n    name: day\n    required: true\n    type: integer\n    description: Two digit day of the month, 0-padded if necessary (01 - 31)\n    minimum: 01\n    maximum: 31\n\npaths:\n  # from routes/root.js\n  /robots.txt:\n    get:\n      tags:\n        - Root\n      description: Gets robots.txt\n      responses:\n        200:\n          description: Success\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-monitor: false\n\n  /:\n    get:\n      tags:\n        - Root\n      description: The root service end-point\n      produces:\n        - application/json\n        - application/problem+json\n      responses:\n        200:\n          description: Success\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: spec from root\n          request:\n            query:\n              spec: true\n          response:\n            status: 200\n\n  # from routes/info.js\n  /_info:\n    get:\n      tags:\n        - Root\n      description: Gets information about the service.\n      produces:\n        - application/json\n        - application/problem+json\n      responses:\n        200:\n          description: Success\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve service info\n          request: {}\n          response:\n            status: 200\n            headers:\n              content-type: application/json\n            body:\n              name: /.+/\n              description: /.+/\n              version: /.+/\n              home: /.+/\n\n  # from routes/feed/availability.js\n  /{domain}/v1/feed/availability:\n    get:\n      tags:\n        - Feed\n      summary: Get availability of featured feed content by wiki domain.\n      produces:\n        - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Availability/1.0.1\"\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n      responses:\n        200:\n          description: Availability of the feed content by wiki domain\n          schema:\n            $ref: \"#/definitions/availability\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: Retrieve feed content availability from \\'wikipedia.org\\'\n          request:\n            params:\n              domain: wikimedia.org\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Availability/1.0.1\"\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              todays_featured_article: [ /.+/ ]\n              most_read: [ \"*\" ]\n              picture_of_the_day: [ \"*\" ]\n              in_the_news: [ /.+/ ]\n              on_this_day: [ /.+/ ]\n\n  # from routes/feed/announcements.js\n  /{domain}/v1/feed/announcements:\n    get:\n      tags:\n        - Feed\n      summary: Get announcements for the Explore feed in the mobile apps.\n      description: |\n        Gets announcements for display in the official Wikipedia iOS and Android apps.\n        This is usually used to show announcements for surveys or fundraising.\n      produces:\n        - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Announcements/0.3.0\"\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n      responses:\n        200:\n          description: Announcements for the given Wiki\n          schema:\n            $ref: \"#/definitions/announcements\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: Retrieve announcements\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Announcements/0.3.0\"\n              cache-control: public, max-age=86400, s-maxage=900\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n\n  # from routes/feed/on-this-day.js\n  /{domain}/v1/feed/onthisday/{type}/{month}/{day}:\n    get:\n      tags:\n        - Feed\n      summary: Get events on this day in history for the Explore feed.\n      description: |\n        Provides events that historically happened on the provided day and month.\n        Supported types of events are:\n         - Selected: a list of a few selected anniversaries which happen on the provided day and month; often the entries are curated for the current year\n         - Births: a list of birthdays which happened on the provided day and month\n         - Deaths: a list of deaths which happened on the provided day and month\n         - Holidays: a list of fixed holidays celebrated on the provided day and month\n         - Events: a list of significant events which happened on the provided day and month and which are not covered by the other types yet\n         - All: all of the above\n      produces:\n        - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/OnThisDay/0.3.3\"\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n        - name: type\n          in: path\n          description: Type of events\n          type: string\n          required: true\n          enum:\n            - selected\n            - births\n            - deaths\n            - holidays\n            - events\n            - all\n        - $ref: \"#/parameters/month\"\n        - $ref: \"#/parameters/day\"\n\n      responses:\n        200:\n          description: Annual events listed on this wiki for the requested month and day\n          schema:\n            $ref: \"#/definitions/onthisdayResponse\"\n        404:\n          description: No data found for the requested date\n          schema:\n            $ref: \"#/definitions/problem\"\n        501:\n          description: Unsupported language\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve selected events on January 15\n          request:\n            params:\n              type: selected\n              month: 01\n              day: 15\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/OnThisDay/0.3.3\"\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              selected:\n                - text: /.+/\n                  year: /.+/\n                  pages:\n                    - title: /.+/\n\n  # from routes/feed/featured.js\n  /{domain}/v1/page/featured/{year}/{month}/{day}:\n    get:\n      tags:\n        - Feed\n      summary: Get featured article of the day for the Explore feed.\n      description: |\n        Page title of \"Today's featured article\" (only works on select wikis for now).\n      produces:\n        - application/json\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n        - $ref: \"#/parameters/year\"\n        - $ref: \"#/parameters/month\"\n        - $ref: \"#/parameters/day\"\n      responses:\n        200:\n          description: The title of a Wikipedia's Featured Article of the Day\n          schema:\n            $ref: \"#/definitions/summary\"\n        204:\n          description: Empty response (for feed content aggregation requests from RESTBase)\n          schema:\n            $ref: \"#/definitions/empty\"\n        404:\n          description: Not found\n          schema:\n            $ref: \"#/definitions/problem\"\n        500:\n          description: API Error\n          schema:\n            $ref: \"#/definitions/problem\"\n        501:\n          description: Unsupported language\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve title of the featured article for April 29, 2016\n          request:\n            params:\n              year: 2016\n              month: \"04\"\n              day: 29\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              title: /.+/\n              extract: /.+/\n        - title: retrieve featured article info for unsupported site (with aggregated=true)\n          request:\n            params:\n              domain: is.wikipedia.org\n              year: 2016\n              month: \"04\"\n              day: 29\n            query:\n              aggregated: true\n          response:\n            status: 204\n            body: \"\"\n\n  # from routes/feed/featured-image.js\n  /{domain}/v1/media/image/featured/{year}/{month}/{day}:\n    get:\n      tags:\n        - Feed\n      summary: Get the Picture of the Day from Wikimedia Commons for the Explore feed.\n      description: |\n        Featured image for a given date (aka Picture of the day).\n        Provides thumbnail and full res image URLs and a localized description based\n        on the domain used.\n      produces:\n        - application/json\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n        - $ref: \"#/parameters/year\"\n        - $ref: \"#/parameters/month\"\n        - $ref: \"#/parameters/day\"\n      responses:\n        200:\n          description: Info on the Commons Featured Image of the Day for the requested date\n          schema:\n            $ref: \"#/definitions/image\"\n        204:\n          description: Empty response (for feed content aggregation requests from RESTBase)\n          schema:\n            $ref: \"#/definitions/empty\"\n        404:\n          description: Not found (no featured image for the requested date)\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve featured image data for April 29, 2016\n          request:\n            params:\n              year: 2016\n              month: \"04\"\n              day: 29\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              title: /.+/\n              description:\n                html: /.+/\n                text: /.+/\n                lang: /.+/\n              image:\n                source: /.+/\n                width: /.+/\n                height: /.+/\n              credit:\n                html: /.+/\n                text: /.+/\n              license:\n                type: /.+/\n                code: /.+/\n                url: /.+/\n              artist:\n                html: /.+/\n                text: /.+/\n              file_page: /.+/\n              wb_entity_id: /.+/\n              structured:\n                captions: /.+/\n              thumbnail:\n                source: /.+/\n                width: /.+/\n                height: /.+/\n\n  # from routes/feed/most-read.js\n  /{domain}/v1/page/most-read/{year}/{month}/{day}:\n    get:\n      tags:\n        - Feed\n      summary: Get most viewed pages for a date.\n      description: |\n        Gets the most read articles for the date provided.\n        The date is in UTC, as other endpoints, too.\n        Only days prior to today's date are accepted.\n      produces:\n        - application/json\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n        - $ref: \"#/parameters/year\"\n        - $ref: \"#/parameters/month\"\n        - $ref: \"#/parameters/day\"\n      responses:\n        200:\n          description: Most read article titles for this wiki for the requested date\n          schema:\n            $ref: \"#/definitions/mostread\"\n        204:\n          description: Empty response (for feed content aggregation requests from RESTBase)\n          schema:\n            $ref: \"#/definitions/empty\"\n        404:\n          description: No data found for the requested date\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve the most read articles for January 1, 2016\n          request:\n            params:\n              year: 2016\n              month: \"01\"\n              day: \"01\"\n          response:\n            status: 200\n            headers:\n              content-type: application/json\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              date: 2016-01-01Z\n              articles:\n                - views: /.+/\n                  rank: /.+/\n                  title: /.+/\n                  extract: /.+/\n        - title: retrieve the most-read articles for January 1, 2016 (with aggregated=true)\n          request:\n            params:\n              year: 2016\n              month: \"01\"\n              day: \"01\"\n            query:\n              aggregated: true\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              date: 2015-12-31Z\n              articles:\n                - views: /.+/\n                  rank: /.+/\n                  title: /.+/\n                  extract: /.+/\n        - title: retrieve most-read articles for date with no data (with aggregated=true)\n          request:\n            params:\n              year: 2015\n              month: \"01\"\n              day: \"01\"\n            query:\n              aggregated: true\n          response:\n            status: 204\n            body: \"\"\n\n  # from routes/feed/news.js\n  /{domain}/v1/page/news:\n    get:\n      tags:\n        - Feed\n      summary: Get current news headlines.\n      description: |\n        Gets content related to the current \"In the News\" template\n        (for some wikis for now).\n      produces:\n        - application/json\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n      responses:\n        200:\n          description: News content from the a Wikipedia main page\n          schema:\n            $ref: \"#/definitions/news\"\n        204:\n          description: Empty response (for feed content aggregation requests from RESTBase)\n          schema:\n            $ref: \"#/definitions/empty\"\n        501:\n          description: Unsupported language\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          description: Error\n          schema:\n            $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: get 'In the News' content\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8\n              vary: /.+/\n              etag: /^\"[^/\"]+/[^/\"]+\"$/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              - story: /.+/\n                links:\n                  - title: /.+/\n                    extract: /.+/\n        - title: get \"In the News\" content for unsupported language (with aggregated=true)\n          request:\n            params:\n              domain: is.wikipedia.org\n            query:\n              aggregated: true\n          response:\n            status: 204\n            body: \"\"\n\n  # from routes/page/random.js\n  /{domain}/v1/page/random/title:\n    get:\n      tags:\n        - Feed\n      summary: Get a random article title.\n      description: |\n        Gets the title of a randomly picked article from main namespace.\n        Preference is given to articles with a thumbnail and an associated Wikidata description.\n      produces:\n        - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Random/0.7.0\"\n        - application/problem+json\n      parameters:\n        - $ref: \"#/parameters/domain\"\n      responses:\n        200:\n          description: A random (good) article title\n          schema:\n            $ref: \"#/definitions/random\"\n        400:\n          description: Bad request\n          schema:\n            $ref: \"#/definitions/problem\"\n        default:\n          $ref: \"#/definitions/problem\"\n      x-amples:\n        - title: retrieve a random article title\n          response:\n            status: 200\n            headers:\n              content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Random/0.7.0\"\n              vary: /.+/\n              access-control-allow-origin: \"*\"\n              access-control-allow-headers: accept, x-requested-with, content-type\n              content-security-policy: default-src\n              x-content-security-policy: default-src\n              x-frame-options: SAMEORIGIN\n            body:\n              items:\n                - title: /.+/\n\ndefinitions:\n  # A https://tools.ietf.org/html/draft-nottingham-http-problem\n  problem:\n    required:\n      - type\n    properties:\n      status:\n        type: integer\n      type:\n        type: string\n      title:\n        type: string\n      detail:\n        type: string\n      method:\n        type: string\n      uri:\n        type: string\n\n  empty:\n    type: object\n    properties:\n      type:\n        type: string\n        description: description of original content type (buffer)\n      data:\n        type: array\n        description: Buffer contents\n        items:\n          type: string\n    additionalProperties: false\n\n  dated_pageview:\n    type: object\n    properties:\n      date:\n        type: string\n        description: ISO 8601 timestamp of pageviews recorded\n      views:\n        type: integer\n        description: Number of views on date\n    required:\n      - date\n      - views\n    additionalProperties: false\n\n  mostread_article:\n    allOf:\n      - $ref: \"#/definitions/summary\"\n      - type: object\n        properties:\n          views:\n            type: integer\n            description: Number of views on the requested day\n          view_history:\n            type: array\n            items:\n              $ref: \"#/definitions/dated_pageview\"\n          rank:\n            type: integer\n            description: Position in the list of most viewed articles\n        required:\n          - views\n          - rank\n\n  mostread:\n    type: object\n    properties:\n      date:\n        type: string\n        description: The date which the data correspond to\n      articles:\n        type: array\n        description: Array of most popular articles\n        items:\n          $ref: \"#/definitions/mostread_article\"\n    required:\n      - date\n      - articles\n\n  onthisdayList:\n    type: array\n    items:\n      type: object\n      properties:\n        text:\n          type: string\n          description: Short description of the event\n        year:\n          type: integer\n          description: The year this event occurred\n        pages:\n          type: array\n          description: List of pages related to the event\n          items:\n            $ref: \"#/definitions/summary\"\n    required:\n      - text\n      - pages\n\n  onthisdayResponse:\n    type: object\n    description: Lists of events which happened on the provided day and month\n    properties:\n      births:\n        $ref: \"#/definitions/onthisdayList\"\n      deaths:\n        $ref: \"#/definitions/onthisdayList\"\n      events:\n        $ref: \"#/definitions/onthisdayList\"\n      holidays:\n        $ref: \"#/definitions/onthisdayList\"\n      selected:\n        $ref: \"#/definitions/onthisdayList\"\n    additionalProperties: false\n\n  news_item:\n    type: object\n    properties:\n      story:\n        type: string\n        description: A cover story for the news item\n      links:\n        type: array\n        description: |\n          A collection of pages mentioned in the headline. The first page is the headline topic.\n        items:\n          $ref: \"#/definitions/summary\"\n    required:\n      - story\n      - links\n\n  news:\n    type: array\n    items:\n      $ref: \"#/definitions/news_item\"\n\n  image:\n    type: object\n    properties:\n      title:\n        type: string\n        description: Image title\n      thumbnail:\n        $ref: \"#/definitions/image_props\"\n      image:\n        $ref: \"#/definitions/image_props\"\n      description:\n        $ref: \"#/definitions/extmetadata_property\"\n      file_page:\n        type: string\n        description: Full URL to the file page for the item on Wikimedia Commons\n      artist:\n        type: object\n        description: structured info about the author of the media item\n        properties:\n          html:\n            type: string\n            description: HTML string describing the artist\n          name:\n            type: string\n            description: the plain text artist name, if available\n          user_page:\n            type: string\n            description: Wikimedia Commons user page for the artist, if available\n        required:\n          - html\n      credit:\n        $ref: \"#/definitions/extmetadata_property\"\n      license:\n        type: object\n        description: license under which the media item is available on Wikimedia Commons\n        properties:\n          type:\n            type: string\n            description: license type\n          url:\n            type: string\n            description: URL describing the terms and conditions of the license, if any\n        required:\n          - type\n      wb_entity_id:\n        type: string\n        description: Commons Wikibase ID, if the file is on Wikimedia Commons\n      structured:\n        type: object\n        description: structured image metadata from Structured Data on Commons (SDC)\n        properties:\n          captions:\n            type: object\n            description: caption (label) values by language\n        required: [ captions ]\n    required:\n      - title\n      - thumbnail\n      - image\n      - license\n      - structured\n\n  announcements:\n    type: object\n    properties:\n      announce:\n        type: array\n        description: list of active announcements for this wiki\n        items:\n          $ref: \"#/definitions/announcement\"\n    required:\n      - announce\n\n  availability:\n    type: object\n    properties:\n      todays_featured_article:\n        type: array\n        description: domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project\n        items:\n          type: string\n      most_read:\n        type: array\n        description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n        items:\n          type: string\n      picture_of_the_day:\n        type: array\n        description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n        items:\n          type: string\n      in_the_news:\n        type: array\n        description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n        items:\n          type: string\n      on_this_day:\n        type: array\n        description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n        items:\n          type: string\n    required: [ todays_featured_article, most_read, picture_of_the_day, in_the_news, on_this_day ]\n    additionalProperties: false\n\n  announcement:\n    type: object\n    properties:\n      id:\n        type: string\n        description: Unique ID of the announcement\n      type:\n        type: string\n        description: The announcement type\n        enum:\n          - survey\n          - fundraising\n          - announcement\n      start_time:\n        type: string\n        description: The ISO 8601 date to begin showing the announcement.\n      end_time:\n        type: string\n        description: The ISO 8601 date to stop showing the announcement.\n      platforms:\n        type: array\n        description: |\n          An array of platforms on which to display the announcement.\n        items:\n          type: string\n          enum:\n            - iOSApp\n            - iOSAppV2\n            - iOSAppV3\n            - iOSAppV4\n            - iOSAppV5\n            - AndroidApp\n            - AndroidAppV2\n      text:\n        type: string\n        description: The text of the announcement\n      image:\n        type: string\n        description: \\[DEPRECATED\\] The URL of the image for the announcement (Android only)\n      image_url:\n        type: string\n        description: The URL of the image for the announcement\n      action:\n        $ref: \"#/definitions/action\"\n      caption_HTML:\n        type: string\n        description: HTML to display below the announcement. Usually a privacy statment and link to a policy\n      countries:\n        type: array\n        description: |\n          An array of country codes in which to display the announcement. Clients should derive\n          the country from 'GeoIP' portion of the Set-Cookie header.\n        items:\n          type: string\n      min_version:\n        type: string\n        description: minimum app version code for which to show the announcement\n      max_version:\n        type: string\n        description: maximum app version code for which to show the announcement\n      beta:\n        type: boolean\n        description: |\n          (AndroidAppV2 only) Optional boolean flag controlling the release builds for which the announcement should be shown.\n          Set to true if the announcement should be shown only in pre-production builds (beta, alpha, dev).\n          Set to false if the announcement should be shown only in release builds.\n          If not defined, the announcement will be shown for all builds.\n      logged_in:\n        type: boolean\n        description: |\n          (AndroidAppV2 only) Optional boolean flag controlling whether announcements should be shown based on the user login state.\n          Set to true if the announcement should be shown only if the user is logged in.\n          Set to false if the announcement should be shown only if the user is NOT logged in.\n          If not defined, the announcement will be shown regardless of the user's login state.\n      reading_list_sync_enabled:\n        type: boolean\n        description: |\n          (AndroidAppV2 only) Optional boolean flag controlling whether announcements should be shown based on whether the user\n          has enabled reading list syncing.\n          Set to true if the announcement should be shown only if the user has enabled reading list syncing.\n          Set to false if the announcement should be shown only if the user has NOT enabled reading list syncing.\n          If not defined, the announcement will be shown regardless of whether the user has enabled reading list syncing.\n      negative_text:\n        type: string\n        description: |\n          (AndroidAppV2 only) text to show on a \"negative\" button on the announcement. If absent, the button is not shown\n      image_height:\n        type: integer\n        description: |\n          (AndroidAppV2 only) height, in device-independent pixels, of the image portion of the announcement card\n      articleTitles:\n        type: array\n        description: |\n          (iOSAppV3+ only, survey type only) Array of article titles that will display the survey announcement.\n        items:\n          type: string\n      displayDelay:\n        type: integer\n        description: |\n          (iOSAppV3+ only, survey type only) Number in seconds to wait for survey announcement to appear after content load.\n      percent_receiving_experiment:\n        type: integer\n        description: |\n          (iOSAppV4+ only, survey type only) Integer between 0 and 100 representing the percentage of users that will fall into the iOS Article as a Living Document experiment. This percentage will see the feature, the others will not. Both groups will see the survey announcement.\n    required:\n      - id\n      - type\n      - start_time\n      - end_time\n      - platforms\n      - text\n      - action\n\n  article_title:\n    type: object\n    properties:\n      title:\n        type: string\n        description: An article title\n    required:\n      - title\n\n  image_props:\n    type: object\n    properties:\n      source:\n        type: string\n        description: URI\n      width:\n        type: integer\n        minimum: 0\n        description: width (px)\n      height:\n        type: integer\n        minimum: 0\n        description: height (px)\n      mime:\n        type: string\n        description: MIME type\n    required:\n      - source\n      - width\n      - height\n    additionalProperties: false\n\n  extmetadata_property:\n    properties:\n      html:\n        type: string\n        description: HTML of the description\n      text:\n        type: string\n        description: Plain text of the description\n      lang:\n        type: string\n        description: Language code of the description (if available)\n    required:\n      - html\n      - text\n\n  action:\n    type: object\n    properties:\n      title:\n        type: string\n        description: The title to display on the button that performs the action\n      url:\n        type: string\n        description: The URL to navigate to when the button is pressed\n    required:\n      - title\n      - url\n\n  random:\n    type: object\n    properties:\n      items:\n        type: array\n        items:\n          $ref: \"#/definitions/article_title\"\n    required:\n      - items\n\n  titles_set:\n    type: object\n    description: a good example of the differences can be seen in https://en.wikipedia.org/api/rest_v1/page/summary/IOS_13\n    properties:\n      canonical:\n        type: string\n        description: the DB key (non-prefixed), e.g. may have _ instead of spaces, best for making request URIs, still requires Percent-encoding\n      normalized:\n        type: string\n        description: the normalized title (https://www.mediawiki.org/wiki/API:Query#Example_2:_Title_normalization), e.g. may have spaces instead of _\n      display:\n        type: string\n        description: the title as it should be displayed to the user\n    required:\n      - canonical\n      - normalized\n      - display\n\n  content_urls:\n    type: object\n    properties:\n      page:\n        type: string\n        description: the canonical page URL\n      revisions:\n        type: string\n        description: the revision history page URL\n      edit:\n        type: string\n        description: the (desktop) URL for editing the page\n      talk:\n        type: string\n        description: the talk page URL, if applicable\n    required:\n      - page\n      - revisions\n      - edit\n    additionalProperties: false\n\n  summary:\n    type: object\n    properties:\n      type:\n        type: string\n        description: Type of page summary\n        enum:\n          - standard\n          - disambiguation\n          - no-extract\n          - mainpage\n      titles:\n        $ref: \"#/definitions/titles_set\"\n      title:\n        deprecated: true\n        type: string\n        description: |\n          The page title.\n          Deprecated: Use `titles.normalized` instead.\n      displaytitle:\n        deprecated: true\n        type: string\n        description: |\n          The page title how it should be shown to the user.\n          Deprecated: Use `titles.display` instead.\n      namespace:\n        type: object\n        properties:\n          id:\n            type: integer\n            description: the numeric ID for the page's namespace (https://www.mediawiki.org/wiki/Manual:Namespace)\n          text:\n            type: string\n            description: localized text name for the MediaWiki namespace\n        required: [ id, text ]\n        additionalProperties: false\n      wikibase_item:\n        type: string\n        description: the Wikibase item ID for the associated Wikidata entity (if any)\n      pageid:\n        type: integer\n        description: The page ID\n      revision:\n        type: string\n        description: The revision of the page when the summary was produced\n      tid:\n        type: string\n        description: The timeuuid associated with the underlying HTML content\n      extract:\n        type: string\n        description: First several sentences of an article in plain text\n      extract_html:\n        type: string\n        description: First several sentences of an article in simple HTML format\n      thumbnail:\n        $ref: \"#/definitions/image_props\"\n      originalimage:\n        $ref: \"#/definitions/image_props\"\n      lang:\n        type: string\n        description: The page language code\n        example: en\n      dir:\n        type: string\n        description: The page language direction code\n        enum:\n          - ltr\n          - rtl\n      timestamp:\n        type: string\n        format: date-time\n        description: The time when the page was last edited in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format\n        example: \"1970-01-01T00:00:00.000Z\"\n      description:\n        type: string\n        description: short description for the page\n        example: American poet\n      content_urls:\n        type: object\n        properties:\n          desktop:\n            $ref: \"#/definitions/content_urls\"\n          mobile:\n            $ref: \"#/definitions/content_urls\"\n      coordinates:\n        type: object\n        description: The coordinates of the item\n        properties:\n          lat:\n            type: number\n            description: The latitude\n          lon:\n            type: number\n            description: The longitude\n        required: [ lat, lon ]\n    required:\n      - type\n      - titles\n      - title\n      - displaytitle\n      - pageid\n      - lang\n      - dir\n      - revision\n      - timestamp\n      - content_urls\n      - extract\n      - extract_html\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/targets.yaml","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]}]

--- end ---
$ /usr/bin/npm ci --legacy-peer-deps
--- stderr ---
npm ERR! code EUSAGE
npm ERR! 
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
npm ERR! 
npm ERR! Missing: merge@1.2.1 from lock file
npm ERR! 
npm ERR! Clean install a project
npm ERR! 
npm ERR! Usage:
npm ERR! npm ci
npm ERR! 
npm ERR! Options:
npm ERR! [--no-audit] [--foreground-scripts] [--ignore-scripts]
npm ERR! [--script-shell <script-shell>]
npm ERR! 
npm ERR! aliases: clean-install, ic, install-clean, isntall-clean
npm ERR! 
npm ERR! Run "npm help ci" for more info

npm ERR! A complete log of this run can be found in:
npm ERR!     /cache/_logs/2023-03-24T22_15_09_965Z-debug-0.log
--- stdout ---

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1400, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1338, in run
    self.npm_upgrade(plan)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1049, in npm_upgrade
    self.npm_test()
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 286, in npm_test
    self.check_call(['npm', 'ci', '--legacy-peer-deps'])
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/shell2.py", line 54, in check_call
    res.check_returncode()
  File "/usr/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'ci', '--legacy-peer-deps']' returned non-zero exit status 1.
Source code is licensed under the AGPL.