{
  "language": "@/js",
  "languageOptions": {
    "ecmaVersion": 2024,
    "globals": {
      "AggregateError": false,
      "Array": false,
      "ArrayBuffer": false,
      "Atomics": false,
      "BigInt": false,
      "BigInt64Array": false,
      "BigUint64Array": false,
      "Boolean": false,
      "DataView": false,
      "Date": false,
      "Error": false,
      "EvalError": false,
      "FinalizationRegistry": false,
      "Float32Array": false,
      "Float64Array": false,
      "Function": false,
      "Infinity": false,
      "Int16Array": false,
      "Int32Array": false,
      "Int8Array": false,
      "Intl": false,
      "JSON": false,
      "Map": false,
      "Math": false,
      "NaN": false,
      "Number": false,
      "Object": false,
      "Promise": false,
      "Proxy": false,
      "RangeError": false,
      "ReferenceError": false,
      "Reflect": false,
      "RegExp": false,
      "Set": false,
      "SharedArrayBuffer": false,
      "String": false,
      "Symbol": false,
      "SyntaxError": false,
      "TypeError": false,
      "URIError": false,
      "Uint16Array": false,
      "Uint32Array": false,
      "Uint8Array": false,
      "Uint8ClampedArray": false,
      "WeakMap": false,
      "WeakRef": false,
      "WeakSet": false,
      "decodeURI": false,
      "decodeURIComponent": false,
      "encodeURI": false,
      "encodeURIComponent": false,
      "escape": false,
      "eval": false,
      "globalThis": false,
      "isFinite": false,
      "isNaN": false,
      "parseFloat": false,
      "parseInt": false,
      "undefined": false,
      "unescape": false,
    },
    "parser": "typescript-eslint/parser@8.60.1",
    "parserOptions": {
      "requireConfigFile": false,
    },
    "sourceType": "module",
  },
  "linterOptions": {
    "reportUnusedDisableDirectives": 2,
  },
  "plugins": [
    "@",
    "@stylistic:@stylistic/eslint-plugin@5.10.0",
    "barrel-files:eslint-plugin-barrel-files@3.0.1",
    "filenames",
    "import-x:eslint-plugin-import-x@4.16.2",
    "js:@eslint/js@10.0.1",
    "prettier:eslint-plugin-prettier@5.5.6",
    "promise",
  ],
  "rules": {
    "@stylistic/array-bracket-newline": [
      0,
    ],
    "@stylistic/array-bracket-spacing": [
      0,
      "never",
    ],
    "@stylistic/array-element-newline": [
      0,
    ],
    "@stylistic/arrow-parens": [
      0,
      "always",
    ],
    "@stylistic/arrow-spacing": [
      0,
      {
        "after": true,
        "before": true,
      },
    ],
    "@stylistic/block-spacing": [
      0,
      "always",
    ],
    "@stylistic/brace-style": [
      0,
      "1tbs",
      {
        "allowSingleLine": false,
      },
    ],
    "@stylistic/comma-dangle": [
      0,
      "never",
    ],
    "@stylistic/comma-spacing": [
      0,
      {
        "after": true,
        "before": false,
      },
    ],
    "@stylistic/comma-style": [
      0,
      "last",
    ],
    "@stylistic/computed-property-spacing": [
      0,
      "never",
      {
        "enforceForClassMembers": true,
      },
    ],
    "@stylistic/curly-newline": [
      0,
    ],
    "@stylistic/dot-location": [
      0,
      "object",
    ],
    "@stylistic/eol-last": [
      0,
      "always",
    ],
    "@stylistic/exp-list-style": [
      0,
      {
        "multiLine": {
          "minItems": 0,
        },
        "overrides": {
          "{}": {
            "singleLine": {
              "spacing": "always",
            },
          },
        },
        "singleLine": {
          "maxItems": null,
          "spacing": "never",
        },
      },
    ],
    "@stylistic/function-call-argument-newline": [
      0,
      "always",
    ],
    "@stylistic/function-call-spacing": [
      0,
      "never",
    ],
    "@stylistic/function-paren-newline": [
      0,
      "multiline",
    ],
    "@stylistic/generator-star-spacing": [
      0,
      {
        "after": false,
        "before": true,
      },
    ],
    "@stylistic/implicit-arrow-linebreak": [
      0,
      "beside",
    ],
    "@stylistic/indent": [
      0,
      4,
      {
        "SwitchCase": 1,
        "flatTernaryExpressions": false,
        "ignoredNodes": [],
      },
    ],
    "@stylistic/indent-binary-ops": [
      0,
      2,
    ],
    "@stylistic/jsx-child-element-spacing": [
      0,
    ],
    "@stylistic/jsx-closing-bracket-location": [
      0,
      "tag-aligned",
    ],
    "@stylistic/jsx-closing-tag-location": [
      0,
      "tag-aligned",
    ],
    "@stylistic/jsx-curly-brace-presence": [
      0,
      {
        "children": "never",
        "propElementValues": "ignore",
        "props": "never",
      },
    ],
    "@stylistic/jsx-curly-newline": [
      0,
      "consistent",
    ],
    "@stylistic/jsx-curly-spacing": [
      0,
      {
        "allowMultiline": true,
        "when": "never",
      },
    ],
    "@stylistic/jsx-equals-spacing": [
      0,
      "never",
    ],
    "@stylistic/jsx-first-prop-new-line": [
      0,
      "multiline-multiprop",
    ],
    "@stylistic/jsx-function-call-newline": [
      0,
      "multiline",
    ],
    "@stylistic/jsx-indent-props": [
      0,
      4,
    ],
    "@stylistic/jsx-max-props-per-line": [
      0,
      {
        "maximum": 1,
      },
    ],
    "@stylistic/jsx-newline": [
      0,
      {
        "allowMultilines": false,
        "prevent": false,
      },
    ],
    "@stylistic/jsx-one-expression-per-line": [
      0,
      {
        "allow": "none",
      },
    ],
    "@stylistic/jsx-pascal-case": [
      0,
      {
        "allowAllCaps": false,
        "allowLeadingUnderscore": false,
        "allowNamespace": false,
      },
    ],
    "@stylistic/jsx-quotes": [
      0,
      "prefer-double",
    ],
    "@stylistic/jsx-self-closing-comp": [
      0,
      {
        "component": true,
        "html": true,
      },
    ],
    "@stylistic/jsx-sort-props": [
      0,
      {
        "callbacksLast": false,
        "ignoreCase": false,
        "locale": "auto",
        "multiline": "ignore",
        "noSortAlphabetically": false,
        "reservedFirst": false,
        "reservedLast": [],
        "shorthandFirst": false,
        "shorthandLast": false,
      },
    ],
    "@stylistic/jsx-tag-spacing": [
      0,
      {
        "afterOpening": "never",
        "beforeClosing": "allow",
        "beforeSelfClosing": "always",
        "closingSlash": "never",
      },
    ],
    "@stylistic/jsx-wrap-multilines": [
      0,
      {
        "arrow": "parens",
        "assignment": "parens",
        "condition": "ignore",
        "declaration": "parens",
        "logical": "ignore",
        "prop": "ignore",
        "propertyValue": "ignore",
        "return": "parens",
      },
    ],
    "@stylistic/key-spacing": [
      0,
      {},
    ],
    "@stylistic/keyword-spacing": [
      0,
      {
        "after": true,
        "before": true,
        "overrides": {},
      },
    ],
    "@stylistic/line-comment-position": [
      0,
      "above",
    ],
    "@stylistic/linebreak-style": [
      0,
      "unix",
    ],
    "@stylistic/lines-around-comment": [
      0,
      {
        "beforeBlockComment": true,
      },
    ],
    "@stylistic/lines-between-class-members": [
      0,
      "always",
      {
        "exceptAfterOverload": true,
        "exceptAfterSingleLine": false,
      },
    ],
    "@stylistic/max-len": [
      0,
      {
        "code": 80,
        "tabWidth": 4,
      },
    ],
    "@stylistic/max-statements-per-line": [
      0,
      {
        "max": 1,
      },
    ],
    "@stylistic/member-delimiter-style": [
      0,
      {
        "multiline": {
          "delimiter": "semi",
          "requireLast": true,
        },
        "multilineDetection": "brackets",
        "singleline": {
          "delimiter": "semi",
          "requireLast": false,
        },
      },
    ],
    "@stylistic/multiline-comment-style": [
      0,
      "starred-block",
    ],
    "@stylistic/multiline-ternary": [
      0,
      "always",
    ],
    "@stylistic/new-parens": [
      0,
      "always",
    ],
    "@stylistic/newline-per-chained-call": [
      0,
      {
        "ignoreChainWithDepth": 2,
      },
    ],
    "@stylistic/no-confusing-arrow": [
      0,
      {
        "allowParens": true,
        "onlyOneSimpleParam": false,
      },
    ],
    "@stylistic/no-extra-parens": [
      0,
      "all",
    ],
    "@stylistic/no-extra-semi": [
      0,
    ],
    "@stylistic/no-floating-decimal": [
      0,
    ],
    "@stylistic/no-mixed-operators": [
      0,
      {
        "allowSamePrecedence": true,
        "groups": [
          [
            "+",
            "-",
            "*",
            "/",
            "%",
            "**",
          ],
          [
            "&",
            "|",
            "^",
            "~",
            "<<",
            ">>",
            ">>>",
          ],
          [
            "==",
            "!=",
            "===",
            "!==",
            ">",
            ">=",
            "<",
            "<=",
          ],
          [
            "&&",
            "||",
          ],
          [
            "in",
            "instanceof",
          ],
        ],
      },
    ],
    "@stylistic/no-mixed-spaces-and-tabs": [
      0,
      false,
    ],
    "@stylistic/no-multi-spaces": [
      0,
      {
        "exceptions": {
          "ImportAttribute": true,
          "Property": true,
        },
        "ignoreEOLComments": false,
        "includeTabs": true,
      },
    ],
    "@stylistic/no-multiple-empty-lines": [
      0,
      {
        "max": 2,
      },
    ],
    "@stylistic/no-tabs": [
      0,
      {
        "allowIndentationTabs": false,
      },
    ],
    "@stylistic/no-trailing-spaces": [
      0,
      {
        "ignoreComments": false,
        "skipBlankLines": false,
      },
    ],
    "@stylistic/no-whitespace-before-property": [
      0,
    ],
    "@stylistic/nonblock-statement-body-position": [
      0,
      "beside",
    ],
    "@stylistic/object-curly-newline": [
      0,
    ],
    "@stylistic/object-curly-spacing": [
      0,
      "never",
    ],
    "@stylistic/object-property-newline": [
      0,
      {
        "allowAllPropertiesOnSameLine": false,
      },
    ],
    "@stylistic/one-var-declaration-per-line": [
      0,
      "initializations",
    ],
    "@stylistic/operator-linebreak": [
      0,
    ],
    "@stylistic/padded-blocks": [
      0,
      "always",
      {
        "allowSingleLineBlocks": false,
      },
    ],
    "@stylistic/padding-line-between-statements": [
      0,
    ],
    "@stylistic/quote-props": [
      0,
      "always",
    ],
    "@stylistic/quotes": [
      0,
      "double",
      {
        "allowTemplateLiterals": "never",
        "avoidEscape": false,
        "ignoreStringLiterals": false,
      },
    ],
    "@stylistic/rest-spread-spacing": [
      0,
      "never",
    ],
    "@stylistic/semi": [
      0,
      "always",
    ],
    "@stylistic/semi-spacing": [
      0,
      {
        "after": true,
        "before": false,
      },
    ],
    "@stylistic/semi-style": [
      0,
      "last",
    ],
    "@stylistic/space-before-blocks": [
      0,
      "always",
    ],
    "@stylistic/space-before-function-paren": [
      0,
      "always",
    ],
    "@stylistic/space-in-parens": [
      0,
      "never",
    ],
    "@stylistic/space-infix-ops": [
      0,
      {
        "ignoreTypes": false,
        "int32Hint": false,
      },
    ],
    "@stylistic/space-unary-ops": [
      0,
      {
        "nonwords": false,
        "words": true,
      },
    ],
    "@stylistic/spaced-comment": [
      2,
      "always",
      {
        "block": {
          "balanced": true,
          "exceptions": [
            "-",
            "+",
          ],
          "markers": [
            "=",
            "!",
            ":",
            "::",
          ],
        },
        "line": {
          "exceptions": [
            "-",
            "+",
          ],
          "markers": [
            "=",
            "!",
            "/",
          ],
        },
      },
    ],
    "@stylistic/switch-colon-spacing": [
      0,
      {
        "after": true,
        "before": false,
      },
    ],
    "@stylistic/template-curly-spacing": [
      0,
      "never",
    ],
    "@stylistic/template-tag-spacing": [
      0,
      "never",
    ],
    "@stylistic/type-annotation-spacing": [
      0,
      {},
    ],
    "@stylistic/type-generic-spacing": [
      0,
    ],
    "@stylistic/type-named-tuple-spacing": [
      0,
    ],
    "@stylistic/wrap-iife": [
      0,
      "outside",
      {
        "functionPrototypeMethods": false,
      },
    ],
    "@stylistic/wrap-regex": [
      0,
    ],
    "@stylistic/yield-star-spacing": [
      0,
      "after",
    ],
    "accessor-pairs": [
      2,
      {
        "enforceForClassMembers": true,
        "enforceForTSTypes": false,
        "getWithoutSet": false,
        "setWithoutGet": true,
      },
    ],
    "array-callback-return": [
      2,
      {
        "allowImplicit": true,
        "allowVoid": false,
        "checkForEach": false,
      },
    ],
    "arrow-body-style": [
      0,
      "as-needed",
    ],
    "barrel-files/avoid-barrel-files": [
      0,
    ],
    "barrel-files/avoid-importing-barrel-files": [
      0,
    ],
    "barrel-files/avoid-namespace-import": [
      0,
    ],
    "barrel-files/avoid-re-export-all": [
      2,
    ],
    "block-scoped-var": [
      2,
    ],
    "camelcase": [
      0,
      {
        "allow": [],
        "ignoreDestructuring": false,
        "ignoreGlobals": false,
        "ignoreImports": false,
        "properties": "always",
      },
    ],
    "capitalized-comments": [
      0,
      "always",
    ],
    "class-methods-use-this": [
      2,
      {
        "enforceForClassFields": true,
        "exceptMethods": [],
        "ignoreOverrideMethods": false,
      },
    ],
    "complexity": [
      0,
      20,
    ],
    "consistent-return": [
      2,
      {
        "treatUndefinedAsUnspecified": false,
      },
    ],
    "consistent-this": [
      0,
      "that",
    ],
    "constructor-super": [
      2,
    ],
    "curly": [
      2,
      "all",
    ],
    "default-case": [
      2,
      {
        "commentPattern": "^no default$",
      },
    ],
    "default-case-last": [
      2,
    ],
    "default-param-last": [
      2,
    ],
    "dot-notation": [
      2,
      {
        "allowKeywords": true,
        "allowPattern": "",
      },
    ],
    "eqeqeq": [
      2,
      "always",
      {
        "null": "ignore",
      },
    ],
    "filenames/match-exported": [
      2,
    ],
    "filenames/match-regex": [
      0,
    ],
    "filenames/no-index": [
      0,
    ],
    "for-direction": [
      2,
    ],
    "func-name-matching": [
      0,
      "always",
    ],
    "func-names": [
      2,
      "as-needed",
      {},
    ],
    "func-style": [
      2,
      "expression",
      {
        "allowArrowFunctions": false,
        "allowTypeAnnotation": false,
        "overrides": {},
      },
    ],
    "getter-return": [
      2,
      {
        "allowImplicit": true,
      },
    ],
    "grouped-accessor-pairs": [
      2,
      "anyOrder",
      {
        "enforceForTSTypes": false,
      },
    ],
    "guard-for-in": [
      2,
    ],
    "id-denylist": [
      0,
    ],
    "id-length": [
      2,
      {
        "exceptionPatterns": [],
        "exceptions": [
          "_",
          "i",
          "j",
          "x",
          "y",
        ],
        "min": 2,
        "properties": "always",
      },
    ],
    "id-match": [
      0,
      "^.+$",
      {
        "classFields": false,
        "ignoreDestructuring": false,
        "onlyDeclarations": false,
        "properties": false,
      },
    ],
    "import-x/consistent-type-specifier-style": [
      0,
    ],
    "import-x/default": [
      2,
    ],
    "import-x/dynamic-import-chunkname": [
      0,
      {
        "importFunctions": [],
        "webpackChunknameFormat": "[0-9a-zA-Z-_/.]+",
      },
    ],
    "import-x/export": [
      2,
    ],
    "import-x/exports-last": [
      0,
    ],
    "import-x/extensions": [
      2,
      "ignorePackages",
      {
        "js": "never",
        "jsx": "never",
        "mjs": "never",
        "ts": "never",
        "tsx": "never",
      },
    ],
    "import-x/first": [
      2,
    ],
    "import-x/group-exports": [
      0,
    ],
    "import-x/max-dependencies": [
      0,
      {
        "max": 10,
      },
    ],
    "import-x/named": [
      2,
    ],
    "import-x/namespace": [
      2,
    ],
    "import-x/newline-after-import": [
      2,
    ],
    "import-x/no-absolute-path": [
      2,
    ],
    "import-x/no-amd": [
      2,
    ],
    "import-x/no-anonymous-default-export": [
      2,
      {
        "allowAnonymousClass": false,
        "allowAnonymousFunction": false,
        "allowArray": false,
        "allowArrowFunction": false,
        "allowCallExpression": true,
        "allowLiteral": false,
        "allowObject": false,
      },
    ],
    "import-x/no-commonjs": [
      2,
    ],
    "import-x/no-cycle": [
      2,
      {
        "allowUnsafeDynamicCyclicDependency": false,
        "ignoreExternal": false,
        "maxDepth": 2,
      },
    ],
    "import-x/no-default-export": [
      2,
    ],
    "import-x/no-deprecated": [
      0,
    ],
    "import-x/no-duplicates": [
      2,
    ],
    "import-x/no-dynamic-require": [
      2,
    ],
    "import-x/no-empty-named-blocks": [
      2,
    ],
    "import-x/no-extraneous-dependencies": [
      0,
    ],
    "import-x/no-import-module-exports": [
      2,
      {
        "exceptions": [],
      },
    ],
    "import-x/no-internal-modules": [
      0,
      {
        "allow": [],
      },
    ],
    "import-x/no-mutable-exports": [
      2,
    ],
    "import-x/no-named-as-default": [
      2,
    ],
    "import-x/no-named-as-default-member": [
      2,
    ],
    "import-x/no-named-default": [
      2,
    ],
    "import-x/no-named-export": [
      0,
    ],
    "import-x/no-namespace": [
      0,
    ],
    "import-x/no-nodejs-modules": [
      0,
    ],
    "import-x/no-relative-packages": [
      2,
    ],
    "import-x/no-relative-parent-imports": [
      0,
    ],
    "import-x/no-rename-default": [
      2,
    ],
    "import-x/no-restricted-paths": [
      0,
    ],
    "import-x/no-self-import": [
      2,
    ],
    "import-x/no-unassigned-import": [
      0,
    ],
    "import-x/no-unresolved": [
      2,
      {
        "caseSensitive": true,
      },
    ],
    "import-x/no-unused-modules": [
      0,
    ],
    "import-x/no-useless-path-segments": [
      2,
      {
        "commonjs": true,
      },
    ],
    "import-x/no-webpack-loader-syntax": [
      2,
    ],
    "import-x/order": [
      2,
      {
        "distinctGroup": true,
        "groups": [
          [
            "builtin",
            "external",
            "internal",
          ],
          "index",
          [
            "parent",
            "sibling",
          ],
        ],
        "named": false,
        "newlines-between": "never",
        "sortTypesGroup": false,
        "warnOnUnassignedImports": false,
      },
    ],
    "import-x/prefer-default-export": [
      0,
    ],
    "import-x/prefer-namespace-import": [
      0,
    ],
    "import-x/unambiguous": [
      0,
    ],
    "init-declarations": [
      0,
      "always",
    ],
    "logical-assignment-operators": [
      2,
      "always",
    ],
    "max-classes-per-file": [
      2,
      1,
    ],
    "max-depth": [
      0,
      4,
    ],
    "max-lines": [
      0,
      {
        "max": 300,
        "skipBlankLines": true,
        "skipComments": true,
      },
    ],
    "max-lines-per-function": [
      0,
      50,
    ],
    "max-nested-callbacks": [
      0,
      10,
    ],
    "max-params": [
      0,
      3,
    ],
    "max-statements": [
      0,
      10,
    ],
    "new-cap": [
      2,
      {
        "capIsNew": false,
        "capIsNewExceptions": [
          "Immutable.Map",
          "Immutable.Set",
          "Immutable.List",
        ],
        "newIsCap": true,
        "newIsCapExceptions": [],
        "properties": true,
      },
    ],
    "no-alert": [
      2,
    ],
    "no-array-constructor": [
      2,
    ],
    "no-async-promise-executor": [
      2,
    ],
    "no-await-in-loop": [
      2,
    ],
    "no-bitwise": [
      2,
      {
        "allow": [],
        "int32Hint": false,
      },
    ],
    "no-caller": [
      2,
    ],
    "no-case-declarations": [
      2,
    ],
    "no-class-assign": [
      2,
    ],
    "no-compare-neg-zero": [
      2,
    ],
    "no-cond-assign": [
      2,
      "always",
    ],
    "no-console": [
      2,
      {
        "allow": [
          "log",
          "warn",
          "error",
        ],
      },
    ],
    "no-const-assign": [
      2,
    ],
    "no-constant-binary-expression": [
      2,
    ],
    "no-constant-condition": [
      2,
      {
        "checkLoops": "allExceptWhileTrue",
      },
    ],
    "no-constructor-return": [
      2,
    ],
    "no-continue": [
      2,
    ],
    "no-control-regex": [
      2,
    ],
    "no-debugger": [
      2,
    ],
    "no-delete-var": [
      2,
    ],
    "no-div-regex": [
      0,
    ],
    "no-dupe-args": [
      0,
    ],
    "no-dupe-class-members": [
      2,
    ],
    "no-dupe-else-if": [
      2,
    ],
    "no-dupe-keys": [
      2,
    ],
    "no-duplicate-case": [
      2,
    ],
    "no-duplicate-imports": [
      0,
      {
        "allowSeparateTypeImports": false,
        "includeExports": false,
      },
    ],
    "no-else-return": [
      2,
      {
        "allowElseIf": false,
      },
    ],
    "no-empty": [
      2,
      {
        "allowEmptyCatch": false,
      },
    ],
    "no-empty-character-class": [
      2,
    ],
    "no-empty-function": [
      2,
      {
        "allow": [
          "arrowFunctions",
          "functions",
          "methods",
        ],
      },
    ],
    "no-empty-pattern": [
      2,
      {
        "allowObjectPatternsAsParameters": false,
      },
    ],
    "no-empty-static-block": [
      2,
    ],
    "no-eq-null": [
      0,
    ],
    "no-eval": [
      2,
      {
        "allowIndirect": false,
      },
    ],
    "no-ex-assign": [
      2,
    ],
    "no-extend-native": [
      2,
      {
        "exceptions": [],
      },
    ],
    "no-extra-bind": [
      2,
    ],
    "no-extra-boolean-cast": [
      2,
      {},
    ],
    "no-extra-label": [
      2,
    ],
    "no-fallthrough": [
      2,
      {
        "allowEmptyCase": false,
        "reportUnusedFallthroughComment": false,
      },
    ],
    "no-func-assign": [
      2,
    ],
    "no-global-assign": [
      2,
      {
        "exceptions": [],
      },
    ],
    "no-implicit-coercion": [
      2,
      {
        "allow": [],
        "boolean": true,
        "disallowTemplateShorthand": false,
        "number": true,
        "string": true,
      },
    ],
    "no-implicit-globals": [
      2,
      {
        "lexicalBindings": false,
      },
    ],
    "no-implied-eval": [
      2,
    ],
    "no-import-assign": [
      2,
    ],
    "no-inline-comments": [
      0,
      {},
    ],
    "no-inner-declarations": [
      2,
      "functions",
      {
        "blockScopedFunctions": "allow",
      },
    ],
    "no-invalid-regexp": [
      2,
      {},
    ],
    "no-invalid-this": [
      2,
      {
        "capIsConstructor": true,
      },
    ],
    "no-irregular-whitespace": [
      2,
      {
        "skipComments": false,
        "skipJSXText": false,
        "skipRegExps": false,
        "skipStrings": true,
        "skipTemplates": false,
      },
    ],
    "no-iterator": [
      2,
    ],
    "no-label-var": [
      2,
    ],
    "no-labels": [
      2,
      {
        "allowLoop": false,
        "allowSwitch": false,
      },
    ],
    "no-lone-blocks": [
      2,
    ],
    "no-lonely-if": [
      2,
    ],
    "no-loop-func": [
      2,
    ],
    "no-loss-of-precision": [
      2,
    ],
    "no-magic-numbers": [
      0,
      {
        "detectObjects": false,
        "enforceConst": false,
        "ignore": [],
        "ignoreArrayIndexes": false,
        "ignoreClassFieldInitialValues": false,
        "ignoreDefaultValues": false,
        "ignoreEnums": false,
        "ignoreNumericLiteralTypes": false,
        "ignoreReadonlyClassProperties": false,
        "ignoreTypeIndexes": false,
      },
    ],
    "no-misleading-character-class": [
      2,
      {
        "allowEscape": false,
      },
    ],
    "no-multi-assign": [
      2,
      {
        "ignoreNonDeclaration": false,
      },
    ],
    "no-multi-str": [
      2,
    ],
    "no-negated-condition": [
      0,
    ],
    "no-nested-ternary": [
      2,
    ],
    "no-new": [
      2,
    ],
    "no-new-func": [
      2,
    ],
    "no-new-native-nonconstructor": [
      2,
    ],
    "no-new-wrappers": [
      2,
    ],
    "no-nonoctal-decimal-escape": [
      2,
    ],
    "no-obj-calls": [
      2,
    ],
    "no-object-constructor": [
      2,
    ],
    "no-octal": [
      0,
    ],
    "no-octal-escape": [
      0,
    ],
    "no-param-reassign": [
      2,
      {
        "ignorePropertyModificationsFor": [
          "acc",
          "accumulator",
          "e",
          "ctx",
          "context",
          "req",
          "request",
          "res",
          "response",
          "staticContext",
        ],
        "props": true,
      },
    ],
    "no-plusplus": [
      2,
      {
        "allowForLoopAfterthoughts": true,
      },
    ],
    "no-promise-executor-return": [
      2,
      {
        "allowVoid": false,
      },
    ],
    "no-proto": [
      2,
    ],
    "no-prototype-builtins": [
      2,
    ],
    "no-redeclare": [
      2,
      {
        "builtinGlobals": true,
      },
    ],
    "no-regex-spaces": [
      2,
    ],
    "no-restricted-exports": [
      2,
      {
        "restrictedNamedExports": [
          "default",
          "then",
        ],
      },
    ],
    "no-restricted-globals": [
      2,
      {
        "message": "'addEventListener' should be written as 'window.addEventListener' or 'document.addEventListener' instead.",
        "name": "addEventListener",
      },
      {
        "message": "'blur' should be written as 'window.blur' or 'document.blur' instead.",
        "name": "blur",
      },
      {
        "message": "'close' should be written as 'window.close' or 'document.close' instead.",
        "name": "close",
      },
      {
        "message": "'closed' should be written as 'window.closed' or 'document.closed' instead.",
        "name": "closed",
      },
      {
        "message": "'confirm' should be written as 'window.confirm' or 'document.confirm' instead.",
        "name": "confirm",
      },
      {
        "message": "'defaultStatus' should be written as 'window.defaultStatus' or 'document.defaultStatus' instead.",
        "name": "defaultStatus",
      },
      {
        "message": "'defaultstatus' should be written as 'window.defaultstatus' or 'document.defaultstatus' instead.",
        "name": "defaultstatus",
      },
      {
        "message": "'event' should be written as 'window.event' or 'document.event' instead.",
        "name": "event",
      },
      {
        "message": "'external' should be written as 'window.external' or 'document.external' instead.",
        "name": "external",
      },
      {
        "message": "'find' should be written as 'window.find' or 'document.find' instead.",
        "name": "find",
      },
      {
        "message": "'focus' should be written as 'window.focus' or 'document.focus' instead.",
        "name": "focus",
      },
      {
        "message": "'frameElement' should be written as 'window.frameElement' or 'document.frameElement' instead.",
        "name": "frameElement",
      },
      {
        "message": "'frames' should be written as 'window.frames' or 'document.frames' instead.",
        "name": "frames",
      },
      {
        "message": "'history' should be written as 'window.history' or 'document.history' instead.",
        "name": "history",
      },
      {
        "message": "'innerHeight' should be written as 'window.innerHeight' or 'document.innerHeight' instead.",
        "name": "innerHeight",
      },
      {
        "message": "'innerWidth' should be written as 'window.innerWidth' or 'document.innerWidth' instead.",
        "name": "innerWidth",
      },
      {
        "message": "'length' should be written as 'window.length' or 'document.length' instead.",
        "name": "length",
      },
      {
        "message": "'location' should be written as 'window.location' or 'document.location' instead.",
        "name": "location",
      },
      {
        "message": "'locationbar' should be written as 'window.locationbar' or 'document.locationbar' instead.",
        "name": "locationbar",
      },
      {
        "message": "'menubar' should be written as 'window.menubar' or 'document.menubar' instead.",
        "name": "menubar",
      },
      {
        "message": "'moveBy' should be written as 'window.moveBy' or 'document.moveBy' instead.",
        "name": "moveBy",
      },
      {
        "message": "'moveTo' should be written as 'window.moveTo' or 'document.moveTo' instead.",
        "name": "moveTo",
      },
      {
        "message": "'name' should be written as 'window.name' or 'document.name' instead.",
        "name": "name",
      },
      {
        "message": "'onblur' should be written as 'window.onblur' or 'document.onblur' instead.",
        "name": "onblur",
      },
      {
        "message": "'onerror' should be written as 'window.onerror' or 'document.onerror' instead.",
        "name": "onerror",
      },
      {
        "message": "'onfocus' should be written as 'window.onfocus' or 'document.onfocus' instead.",
        "name": "onfocus",
      },
      {
        "message": "'onload' should be written as 'window.onload' or 'document.onload' instead.",
        "name": "onload",
      },
      {
        "message": "'onresize' should be written as 'window.onresize' or 'document.onresize' instead.",
        "name": "onresize",
      },
      {
        "message": "'onunload' should be written as 'window.onunload' or 'document.onunload' instead.",
        "name": "onunload",
      },
      {
        "message": "'open' should be written as 'window.open' or 'document.open' instead.",
        "name": "open",
      },
      {
        "message": "'opener' should be written as 'window.opener' or 'document.opener' instead.",
        "name": "opener",
      },
      {
        "message": "'opera' should be written as 'window.opera' or 'document.opera' instead.",
        "name": "opera",
      },
      {
        "message": "'outerHeight' should be written as 'window.outerHeight' or 'document.outerHeight' instead.",
        "name": "outerHeight",
      },
      {
        "message": "'outerWidth' should be written as 'window.outerWidth' or 'document.outerWidth' instead.",
        "name": "outerWidth",
      },
      {
        "message": "'pageXOffset' should be written as 'window.pageXOffset' or 'document.pageXOffset' instead.",
        "name": "pageXOffset",
      },
      {
        "message": "'pageYOffset' should be written as 'window.pageYOffset' or 'document.pageYOffset' instead.",
        "name": "pageYOffset",
      },
      {
        "message": "'parent' should be written as 'window.parent' or 'document.parent' instead.",
        "name": "parent",
      },
      {
        "message": "'print' should be written as 'window.print' or 'document.print' instead.",
        "name": "print",
      },
      {
        "message": "'removeEventListener' should be written as 'window.removeEventListener' or 'document.removeEventListener' instead.",
        "name": "removeEventListener",
      },
      {
        "message": "'resizeBy' should be written as 'window.resizeBy' or 'document.resizeBy' instead.",
        "name": "resizeBy",
      },
      {
        "message": "'resizeTo' should be written as 'window.resizeTo' or 'document.resizeTo' instead.",
        "name": "resizeTo",
      },
      {
        "message": "'screen' should be written as 'window.screen' or 'document.screen' instead.",
        "name": "screen",
      },
      {
        "message": "'screenLeft' should be written as 'window.screenLeft' or 'document.screenLeft' instead.",
        "name": "screenLeft",
      },
      {
        "message": "'screenTop' should be written as 'window.screenTop' or 'document.screenTop' instead.",
        "name": "screenTop",
      },
      {
        "message": "'screenX' should be written as 'window.screenX' or 'document.screenX' instead.",
        "name": "screenX",
      },
      {
        "message": "'screenY' should be written as 'window.screenY' or 'document.screenY' instead.",
        "name": "screenY",
      },
      {
        "message": "'scroll' should be written as 'window.scroll' or 'document.scroll' instead.",
        "name": "scroll",
      },
      {
        "message": "'scrollbars' should be written as 'window.scrollbars' or 'document.scrollbars' instead.",
        "name": "scrollbars",
      },
      {
        "message": "'scrollBy' should be written as 'window.scrollBy' or 'document.scrollBy' instead.",
        "name": "scrollBy",
      },
      {
        "message": "'scrollTo' should be written as 'window.scrollTo' or 'document.scrollTo' instead.",
        "name": "scrollTo",
      },
      {
        "message": "'scrollX' should be written as 'window.scrollX' or 'document.scrollX' instead.",
        "name": "scrollX",
      },
      {
        "message": "'scrollY' should be written as 'window.scrollY' or 'document.scrollY' instead.",
        "name": "scrollY",
      },
      {
        "message": "'self' should be written as 'window.self' or 'document.self' instead.",
        "name": "self",
      },
      {
        "message": "'status' should be written as 'window.status' or 'document.status' instead.",
        "name": "status",
      },
      {
        "message": "'statusbar' should be written as 'window.statusbar' or 'document.statusbar' instead.",
        "name": "statusbar",
      },
      {
        "message": "'stop' should be written as 'window.stop' or 'document.stop' instead.",
        "name": "stop",
      },
      {
        "message": "'toolbar' should be written as 'window.toolbar' or 'document.toolbar' instead.",
        "name": "toolbar",
      },
      {
        "message": "'top' should be written as 'window.top' or 'document.top' instead.",
        "name": "top",
      },
      {
        "message": "Use Number.isFinite instead...",
        "name": "isFinite",
      },
      {
        "message": "Use Number.isNaN instead...",
        "name": "isNaN",
      },
    ],
    "no-restricted-imports": [
      0,
    ],
    "no-restricted-properties": [
      2,
      {
        "message": "arguments.callee is deprecated",
        "object": "arguments",
        "property": "callee",
      },
      {
        "message": "Please use Number.isFinite instead",
        "object": "global",
        "property": "isFinite",
      },
      {
        "message": "Please use Number.isFinite instead",
        "object": "self",
        "property": "isFinite",
      },
      {
        "message": "Please use Number.isFinite instead",
        "object": "window",
        "property": "isFinite",
      },
      {
        "message": "Please use Number.isNaN instead",
        "object": "global",
        "property": "isNaN",
      },
      {
        "message": "Please use Number.isNaN instead",
        "object": "self",
        "property": "isNaN",
      },
      {
        "message": "Please use Number.isNaN instead",
        "object": "window",
        "property": "isNaN",
      },
      {
        "message": "Please use Object.defineProperty instead.",
        "property": "__defineGetter__",
      },
      {
        "message": "Please use Object.defineProperty instead.",
        "property": "__defineSetter__",
      },
      {
        "message": "Use the exponentiation operator (**) instead.",
        "object": "Math",
        "property": "pow",
      },
    ],
    "no-restricted-syntax": [
      2,
      {
        "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
        "selector": "ForInStatement",
      },
      {
        "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.",
        "selector": "LabeledStatement",
      },
      {
        "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize.",
        "selector": "WithStatement",
      },
    ],
    "no-return-assign": [
      2,
      "always",
    ],
    "no-script-url": [
      2,
    ],
    "no-self-assign": [
      2,
      {
        "props": true,
      },
    ],
    "no-self-compare": [
      2,
    ],
    "no-sequences": [
      2,
      {
        "allowInParentheses": true,
      },
    ],
    "no-setter-return": [
      2,
    ],
    "no-shadow": [
      2,
      {
        "allow": [],
        "builtinGlobals": false,
        "hoist": "functions",
        "ignoreFunctionTypeParameterNameValueShadow": true,
        "ignoreOnInitialization": false,
        "ignoreTypeValueShadow": true,
      },
    ],
    "no-shadow-restricted-names": [
      2,
      {
        "reportGlobalThis": true,
      },
    ],
    "no-sparse-arrays": [
      2,
    ],
    "no-template-curly-in-string": [
      2,
    ],
    "no-ternary": [
      0,
    ],
    "no-this-before-super": [
      2,
    ],
    "no-throw-literal": [
      2,
    ],
    "no-unassigned-vars": [
      2,
    ],
    "no-undef": [
      2,
      {
        "typeof": false,
      },
    ],
    "no-undef-init": [
      2,
    ],
    "no-undefined": [
      0,
    ],
    "no-underscore-dangle": [
      2,
      {
        "allow": [],
        "allowAfterSuper": false,
        "allowAfterThis": false,
        "allowAfterThisConstructor": false,
        "allowFunctionParams": true,
        "allowInArrayDestructuring": true,
        "allowInObjectDestructuring": true,
        "enforceInClassFields": false,
        "enforceInMethodNames": true,
      },
    ],
    "no-unexpected-multiline": [
      0,
    ],
    "no-unmodified-loop-condition": [
      2,
    ],
    "no-unneeded-ternary": [
      2,
      {
        "defaultAssignment": false,
      },
    ],
    "no-unreachable": [
      2,
    ],
    "no-unreachable-loop": [
      2,
      {
        "ignore": [],
      },
    ],
    "no-unsafe-finally": [
      2,
    ],
    "no-unsafe-negation": [
      2,
      {
        "enforceForOrderingRelations": false,
      },
    ],
    "no-unsafe-optional-chaining": [
      2,
      {
        "disallowArithmeticOperators": true,
      },
    ],
    "no-unused-expressions": [
      2,
      {
        "allowShortCircuit": false,
        "allowTaggedTemplates": false,
        "allowTernary": false,
        "enforceForJSX": false,
        "ignoreDirectives": false,
      },
    ],
    "no-unused-labels": [
      2,
    ],
    "no-unused-private-class-members": [
      2,
    ],
    "no-unused-vars": [
      2,
      {
        "args": "after-used",
        "argsIgnorePattern": "^_",
        "caughtErrors": "all",
        "caughtErrorsIgnorePattern": "^_",
        "destructuredArrayIgnorePattern": "^_",
        "ignoreClassWithStaticInitBlock": false,
        "ignoreRestSiblings": true,
        "ignoreUsingDeclarations": false,
        "reportUsedIgnorePattern": false,
        "vars": "all",
        "varsIgnorePattern": "^_",
      },
    ],
    "no-use-before-define": [
      2,
      {
        "allowNamedExports": false,
        "classes": true,
        "enums": true,
        "functions": true,
        "ignoreTypeReferences": true,
        "typedefs": true,
        "variables": true,
      },
    ],
    "no-useless-assignment": [
      2,
    ],
    "no-useless-backreference": [
      2,
    ],
    "no-useless-call": [
      0,
    ],
    "no-useless-catch": [
      2,
    ],
    "no-useless-computed-key": [
      2,
      {
        "enforceForClassMembers": true,
      },
    ],
    "no-useless-concat": [
      2,
    ],
    "no-useless-constructor": [
      2,
    ],
    "no-useless-escape": [
      2,
      {
        "allowRegexCharacters": [],
      },
    ],
    "no-useless-rename": [
      2,
      {
        "ignoreDestructuring": false,
        "ignoreExport": false,
        "ignoreImport": false,
      },
    ],
    "no-useless-return": [
      2,
    ],
    "no-var": [
      2,
    ],
    "no-void": [
      2,
      {
        "allowAsStatement": false,
      },
    ],
    "no-warning-comments": [
      0,
      {
        "location": "start",
        "terms": [
          "todo",
          "fixme",
        ],
      },
    ],
    "no-with": [
      2,
    ],
    "object-shorthand": [
      2,
      "always",
      {
        "avoidQuotes": true,
        "ignoreConstructors": false,
      },
    ],
    "one-var": [
      2,
      "never",
    ],
    "operator-assignment": [
      2,
      "always",
    ],
    "prefer-arrow-callback": [
      2,
      {
        "allowNamedFunctions": false,
        "allowUnboundThis": true,
      },
    ],
    "prefer-const": [
      2,
      {
        "destructuring": "any",
        "ignoreReadBeforeAssign": true,
      },
    ],
    "prefer-destructuring": [
      2,
      {
        "AssignmentExpression": {
          "array": true,
          "object": false,
        },
        "VariableDeclarator": {
          "array": false,
          "object": true,
        },
      },
      {
        "enforceForRenamedProperties": false,
      },
    ],
    "prefer-exponentiation-operator": [
      2,
    ],
    "prefer-named-capture-group": [
      0,
    ],
    "prefer-numeric-literals": [
      2,
    ],
    "prefer-object-has-own": [
      2,
    ],
    "prefer-object-spread": [
      2,
    ],
    "prefer-promise-reject-errors": [
      2,
      {
        "allowEmptyReject": true,
      },
    ],
    "prefer-regex-literals": [
      2,
      {
        "disallowRedundantWrapping": true,
      },
    ],
    "prefer-rest-params": [
      2,
    ],
    "prefer-spread": [
      2,
    ],
    "prefer-template": [
      2,
    ],
    "preserve-caught-error": [
      2,
      {
        "requireCatchParameter": false,
      },
    ],
    "prettier/prettier": [
      2,
    ],
    "promise/always-return": [
      2,
    ],
    "promise/avoid-new": [
      2,
    ],
    "promise/catch-or-return": [
      2,
    ],
    "promise/no-callback-in-promise": [
      2,
    ],
    "promise/no-multiple-resolved": [
      2,
    ],
    "promise/no-native": [
      0,
    ],
    "promise/no-nesting": [
      2,
    ],
    "promise/no-new-statics": [
      2,
    ],
    "promise/no-promise-in-callback": [
      2,
    ],
    "promise/no-return-in-finally": [
      2,
    ],
    "promise/no-return-wrap": [
      2,
    ],
    "promise/param-names": [
      2,
    ],
    "promise/prefer-await-to-callbacks": [
      0,
    ],
    "promise/prefer-await-to-then": [
      0,
    ],
    "promise/prefer-catch": [
      2,
    ],
    "promise/spec-only": [
      2,
    ],
    "promise/valid-params": [
      2,
    ],
    "radix": [
      2,
    ],
    "require-atomic-updates": [
      0,
      {
        "allowProperties": false,
      },
    ],
    "require-await": [
      2,
    ],
    "require-unicode-regexp": [
      0,
      {},
    ],
    "require-yield": [
      2,
    ],
    "sort-imports": [
      0,
      {
        "allowSeparatedGroups": false,
        "ignoreCase": false,
        "ignoreDeclarationSort": false,
        "ignoreMemberSort": false,
        "memberSyntaxSortOrder": [
          "none",
          "all",
          "multiple",
          "single",
        ],
      },
    ],
    "sort-keys": [
      0,
      "asc",
      {
        "allowLineSeparatedGroups": false,
        "caseSensitive": false,
        "ignoreComputedKeys": false,
        "minKeys": 2,
        "natural": true,
      },
    ],
    "sort-vars": [
      0,
      {
        "ignoreCase": false,
      },
    ],
    "strict": [
      2,
      "never",
    ],
    "symbol-description": [
      2,
    ],
    "unicode-bom": [
      2,
      "never",
    ],
    "use-isnan": [
      2,
      {
        "enforceForIndexOf": false,
        "enforceForSwitchCase": true,
      },
    ],
    "valid-typeof": [
      2,
      {
        "requireStringLiterals": true,
      },
    ],
    "vars-on-top": [
      2,
    ],
    "yoda": [
      2,
      "never",
      {
        "exceptRange": false,
        "onlyEquality": false,
      },
    ],
  },
  "settings": {
    "import-x/extensions": [
      ".js",
      ".jsx",
      ".mjs",
      ".cjs",
    ],
  },
}