From d900549f9ec0e9b31a0ab3907edcc33bdfbb123e Mon Sep 17 00:00:00 2001 From: ahmedeldessouki Date: Sun, 14 Feb 2021 18:56:41 +0300 Subject: [PATCH 01/13] another Kata --- index.js | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/index.js b/index.js index 4ea6312..9f80ffd 100644 --- a/index.js +++ b/index.js @@ -1,22 +1,19 @@ -function moveZeros(arr = '') { - function twistIt(str = '') { - return str.split('').map((a, i, arr) => arr[arr.length - i - 1]).join('') - } - return arr.split(' ').map(item => twistIt(item)).join(' ') -} - -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") - -function manhattanDistance(arr0, arr1) { - function fn(params) { - return Math.abs(params) +function manhattanDistance(nFloors) { + const arr = [] + if (nFloors < 0) return arr + for (let i = 0; i < nFloors; i++) { + let str = '*' + str = str.padStart(nFloors - i, ' ') + for (let x = 0; x < i; x++) { + str += '**' + } + str = str.padEnd(nFloors * 2 - 1, ' ') + arr.push(str) } - return (fn(arr0[0] - arr1[0]) + fn(arr0[1] - arr1[1])) + return arr } -console.log(manhattanDistance([1, 1], [1, 1]), '=> returns 0') -console.log(manhattanDistance([5, 4], [3, 2]), '=> returns 4') -console.log(manhattanDistance([1, 1], [0, 3]), '=> returns 3') +console.log(manhattanDistance(1 + 1)) +console.log(manhattanDistance(4 + 2)) +console.log(manhattanDistance(1 + 3)) From e9fb413f811921e2b55430e37863080176f646a2 Mon Sep 17 00:00:00 2001 From: ahmedeldessouki Date: Sun, 14 Feb 2021 20:11:04 +0300 Subject: [PATCH 02/13] kata --- indexTs.js | 7 +++++ indexTs.ts | 9 +++++++ tsconfig.json | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 indexTs.js create mode 100644 indexTs.ts create mode 100644 tsconfig.json diff --git a/indexTs.js b/indexTs.js new file mode 100644 index 0000000..b662df3 --- /dev/null +++ b/indexTs.js @@ -0,0 +1,7 @@ +"use strict"; +function manhattanDistance(nFloors) { + return parseInt(nFloors.toString().split('').sort(function (a, b) { return parseInt(a) - parseInt(b); }).reverse().join('')); +} +console.log(manhattanDistance(42145)); +console.log(manhattanDistance(145263)); +console.log(manhattanDistance(123456789)); diff --git a/indexTs.ts b/indexTs.ts new file mode 100644 index 0000000..99c16f6 --- /dev/null +++ b/indexTs.ts @@ -0,0 +1,9 @@ + +function manhattanDistance(nFloors: number): number { + return parseInt(nFloors.toString().split('').sort((a,b)=> parseInt(a)-parseInt(b)).reverse().join('')) + +} + +console.log(manhattanDistance(42145 )) +console.log(manhattanDistance(145263 )) +console.log(manhattanDistance(123456789 )) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4c96f69 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,73 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + "lib": [ + "ESNext", + "DOM" + ] /* Specify library files to be included in the compilation. */, + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true /* Skip type checking of declaration files. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} From 4e73aaf21a96c64750dd3f88c7687a05c89985eb Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Wed, 11 Aug 2021 18:47:14 +0300 Subject: [PATCH 03/13] another kata --- index.js | 35 ++++++++++++++++++----------------- index.ts | 24 ++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 index.ts diff --git a/index.js b/index.js index 9f80ffd..0756ca6 100644 --- a/index.js +++ b/index.js @@ -1,19 +1,20 @@ - -function manhattanDistance(nFloors) { - const arr = [] - if (nFloors < 0) return arr - for (let i = 0; i < nFloors; i++) { - let str = '*' - str = str.padStart(nFloors - i, ' ') - for (let x = 0; x < i; x++) { - str += '**' +function foldArray(array, runs) { + var result = array; + for (var i = 0; i < runs; i++) { + var foldingPoint = result.length / 2; + var firstLoop = []; + for (var x = 0; x < Math.round(foldingPoint); x++) { + firstLoop.push(result.length % 2 + ? result.length - x > Math.round(foldingPoint) + ? result[x] + result[result.length - x - 1] + : result[x] + : result[x] + result[result.length - x - 1]); + } + result = firstLoop; } - str = str.padEnd(nFloors * 2 - 1, ' ') - arr.push(str) - } - return arr + return result; } - -console.log(manhattanDistance(1 + 1)) -console.log(manhattanDistance(4 + 2)) -console.log(manhattanDistance(1 + 3)) +var input = [1, 2, 3, 4, 5]; +console.log(foldArray(input, 1), "[ 6, 6, 3 ]"); +console.log(foldArray(input, 2), "[ 9, 6 ]"); +console.log(foldArray(input, 3), "[ 15 ]"); diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..cc19295 --- /dev/null +++ b/index.ts @@ -0,0 +1,24 @@ +function foldArray(array: number[], runs: number): number[] { + let result: number[] = array; + for (let i = 0; i < runs; i++) { + const foldingPoint = result.length / 2; + let firstLoop = []; + for (let x = 0; x < Math.round(foldingPoint); x++) { + firstLoop.push( + result.length % 2 + ? result.length - x > Math.round(foldingPoint) + ? result[x] + result[result.length - x - 1] + : result[x] + : result[x] + result[result.length - x - 1] + ); + } + result = firstLoop; + } + return result; +} + +const input = [1, 2, 3, 4, 5]; + +console.log(foldArray(input, 1), "[ 6, 6, 3 ]"); +console.log(foldArray(input, 2), "[ 9, 6 ]"); +console.log(foldArray(input, 3), "[ 15 ]"); From 4423567a9d70de1ebda930fe2a2a05666758ddd2 Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Fri, 13 Aug 2021 03:35:50 +0300 Subject: [PATCH 04/13] some stuff --- index.js | 31 ++++++++++++------------------- index.ts | 30 ++++++++++-------------------- tsconfig.json | 5 ++++- 3 files changed, 26 insertions(+), 40 deletions(-) diff --git a/index.js b/index.js index 0756ca6..a3643a3 100644 --- a/index.js +++ b/index.js @@ -1,20 +1,13 @@ -function foldArray(array, runs) { - var result = array; - for (var i = 0; i < runs; i++) { - var foldingPoint = result.length / 2; - var firstLoop = []; - for (var x = 0; x < Math.round(foldingPoint); x++) { - firstLoop.push(result.length % 2 - ? result.length - x > Math.round(foldingPoint) - ? result[x] + result[result.length - x - 1] - : result[x] - : result[x] + result[result.length - x - 1]); - } - result = firstLoop; - } - return result; +function miniMaxSum(arr = []) { + // Write your code here + const res = arr.map((num, index, array) => { + console.log( + array.reduce((acc, numb, i) => (index !== i ? (acc += numb) : acc), 0) + ); + return array.reduce((acc, numb) => (acc += numb), 0); + }); + console.log(res); + console.log(Math.min(...res)); + console.log(Math.max(...res)); } -var input = [1, 2, 3, 4, 5]; -console.log(foldArray(input, 1), "[ 6, 6, 3 ]"); -console.log(foldArray(input, 2), "[ 9, 6 ]"); -console.log(foldArray(input, 3), "[ 15 ]"); +console.log(miniMaxSum([1, 2, 3, 4, 5])); diff --git a/index.ts b/index.ts index cc19295..36268c7 100644 --- a/index.ts +++ b/index.ts @@ -1,24 +1,14 @@ -function foldArray(array: number[], runs: number): number[] { - let result: number[] = array; - for (let i = 0; i < runs; i++) { - const foldingPoint = result.length / 2; - let firstLoop = []; - for (let x = 0; x < Math.round(foldingPoint); x++) { - firstLoop.push( - result.length % 2 - ? result.length - x > Math.round(foldingPoint) - ? result[x] + result[result.length - x - 1] - : result[x] - : result[x] + result[result.length - x - 1] - ); +function foldArray(start: number, end: number): number { + const arr = []; + for (let i = start; i <= end; i++) { + let item = `${i}`; + if (!item.match(/[5]/)) { + arr.push(`${i}`); } - result = firstLoop; } - return result; + return arr.length; } -const input = [1, 2, 3, 4, 5]; - -console.log(foldArray(input, 1), "[ 6, 6, 3 ]"); -console.log(foldArray(input, 2), "[ 9, 6 ]"); -console.log(foldArray(input, 3), "[ 15 ]"); +console.log(foldArray(4, 17), "12"); +console.log(foldArray(-47, 48), "86"); +console.log(foldArray(-10, 55), "[ 15 ]"); diff --git a/tsconfig.json b/tsconfig.json index 4c96f69..663a943 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,10 @@ "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "lib": [ "ESNext", - "DOM" + "DOM", + "es2015", + "ES7", + "ES6" ] /* Specify library files to be included in the compilation. */, // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ From 0805e8191a7453b04c08e9953ad166d5a013ca6f Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Mon, 23 Aug 2021 19:53:02 +0300 Subject: [PATCH 05/13] arrays --- index.js | 49 ++++++++++++++++++++++-------- index.ts | 14 --------- indexTs.js | 7 ----- indexTs.ts | 9 ------ package-lock.json | 14 +++++++++ package.json | 1 + tsconfig.json | 76 ----------------------------------------------- 7 files changed, 52 insertions(+), 118 deletions(-) delete mode 100644 index.ts delete mode 100644 indexTs.js delete mode 100644 indexTs.ts delete mode 100644 tsconfig.json diff --git a/index.js b/index.js index a3643a3..0bbf4aa 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,38 @@ -function miniMaxSum(arr = []) { - // Write your code here - const res = arr.map((num, index, array) => { - console.log( - array.reduce((acc, numb, i) => (index !== i ? (acc += numb) : acc), 0) - ); - return array.reduce((acc, numb) => (acc += numb), 0); - }); - console.log(res); - console.log(Math.min(...res)); - console.log(Math.max(...res)); +function fet(arr) { + function cal(r, c, memo) { + if (r >= arr.length) return Math.max(...Object.values(memo)); + if (c >= arr.length) return cal(r + 1, 2, memo); + if (!memo) { + memo = {}; + } + memo[r + "," + c] = + arr[r - 2][c - 2] + + arr[r - 2][c - 1] + + arr[r - 2][c] + + arr[r - 1][c - 1] + + arr[r][c - 2] + + arr[r][c - 1] + + arr[r][c]; + + return cal(r, c + 1, memo); + } + return cal(2, 2); } -console.log(miniMaxSum([1, 2, 3, 4, 5])); +var input = [ + [1, 1, 1, 0, 0, 0], + [0, 1, 0, 0, 0, 0], + [1, 1, 1, 0, 0, 0], + [0, 0, 2, 4, 4, 0], + [0, 0, 0, 2, 0, 0], + [0, 0, 1, 2, 4, 0], +]; +const inp2 = [ + [7, 6, 8, 2, 4, 3], + [7, 3, 3, 0, 6, 1], + [3, 8, 7, 7, 2, 2], + [0, 8, 6, 8, 6, 1], + [7, 1, 6, 0, 2, 4], + [2, 7, 8, 1, 7, 4], +]; +console.log(fet(input)); +console.log(fet(inp2)); diff --git a/index.ts b/index.ts deleted file mode 100644 index 36268c7..0000000 --- a/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -function foldArray(start: number, end: number): number { - const arr = []; - for (let i = start; i <= end; i++) { - let item = `${i}`; - if (!item.match(/[5]/)) { - arr.push(`${i}`); - } - } - return arr.length; -} - -console.log(foldArray(4, 17), "12"); -console.log(foldArray(-47, 48), "86"); -console.log(foldArray(-10, 55), "[ 15 ]"); diff --git a/indexTs.js b/indexTs.js deleted file mode 100644 index b662df3..0000000 --- a/indexTs.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -function manhattanDistance(nFloors) { - return parseInt(nFloors.toString().split('').sort(function (a, b) { return parseInt(a) - parseInt(b); }).reverse().join('')); -} -console.log(manhattanDistance(42145)); -console.log(manhattanDistance(145263)); -console.log(manhattanDistance(123456789)); diff --git a/indexTs.ts b/indexTs.ts deleted file mode 100644 index 99c16f6..0000000 --- a/indexTs.ts +++ /dev/null @@ -1,9 +0,0 @@ - -function manhattanDistance(nFloors: number): number { - return parseInt(nFloors.toString().split('').sort((a,b)=> parseInt(a)-parseInt(b)).reverse().join('')) - -} - -console.log(manhattanDistance(42145 )) -console.log(manhattanDistance(145263 )) -console.log(manhattanDistance(123456789 )) diff --git a/package-lock.json b/package-lock.json index 503e88f..eef5eb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "packages": { "": { "dependencies": { + "node-fetch": "^2.6.1", "prettier": "^2.2.1" }, "devDependencies": { @@ -1716,6 +1717,14 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3751,6 +3760,11 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", diff --git a/package.json b/package.json index ef2c5db..43b1d5d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "dependencies": { + "node-fetch": "^2.6.1", "prettier": "^2.2.1" }, "devDependencies": { diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 663a943..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": [ - "ESNext", - "DOM", - "es2015", - "ES7", - "ES6" - ] /* Specify library files to be included in the compilation. */, - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - // "outDir": "./", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -} From 870022c661c6152a3f655d923e347e6c6874cd88 Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Mon, 23 Aug 2021 19:57:10 +0300 Subject: [PATCH 06/13] conflict --- package-lock.json | 34 ++++++++++------------------------ package.json | 7 ++----- 2 files changed, 12 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef5eb1..78c54b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,10 +4,6 @@ "requires": true, "packages": { "": { - "dependencies": { - "node-fetch": "^2.6.1", - "prettier": "^2.2.1" - }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", @@ -15,7 +11,8 @@ "eslint-config-standard": "^16.0.2", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" + "eslint-plugin-promise": "^4.2.1", + "prettier": "^2.3.2" } }, "node_modules/@babel/code-frame": { @@ -1717,14 +1714,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -1968,9 +1957,10 @@ } }, "node_modules/prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, "bin": { "prettier": "bin-prettier.js" }, @@ -3760,11 +3750,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3944,9 +3929,10 @@ "dev": true }, "prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true }, "progress": { "version": "2.0.3", diff --git a/package.json b/package.json index 43b1d5d..ffaf2ab 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,4 @@ { - "dependencies": { - "node-fetch": "^2.6.1", - "prettier": "^2.2.1" - }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", @@ -10,6 +6,7 @@ "eslint-config-standard": "^16.0.2", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" + "eslint-plugin-promise": "^4.2.1", + "prettier": "^2.3.2" } } From 0cee362ff266e033f0b854bda8e3239a059853aa Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Mon, 23 Aug 2021 19:57:54 +0300 Subject: [PATCH 07/13] conflict --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78c54b5..c016363 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", - "prettier": "^2.3.2" + "prettier": "^2.2.1" } }, "node_modules/@babel/code-frame": { @@ -1957,9 +1957,9 @@ } }, "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -3929,9 +3929,9 @@ "dev": true }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "progress": { diff --git a/package.json b/package.json index ffaf2ab..0551e5a 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,6 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", - "prettier": "^2.3.2" + "prettier": "^2.2.1" } } From 5e85667d9991125b8ed70175d6d4f1535130de5b Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Mon, 23 Aug 2021 20:01:07 +0300 Subject: [PATCH 08/13] conflict --- package-lock.json | 4319 --------------------------------------------- yarn.lock | 1572 +++++++++++++++++ 2 files changed, 1572 insertions(+), 4319 deletions(-) delete mode 100644 package-lock.json create mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index c016363..0000000 --- a/package-lock.json +++ /dev/null @@ -1,4319 +0,0 @@ -{ - "name": "javascript-practice", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^4.14.1", - "@typescript-eslint/parser": "^4.14.1", - "eslint": "^7.19.0", - "eslint-config-standard": "^16.0.2", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "prettier": "^2.2.1" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.1.tgz", - "integrity": "sha512-5JriGbYhtqMS1kRcZTQxndz1lKMwwEXKbwZbkUZNnp6MJX0+OVXnG0kOlBZP4LUAxEyzu3cs+EXd/97MJXsGfw==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.14.1", - "@typescript-eslint/scope-manager": "4.14.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.1.tgz", - "integrity": "sha512-2CuHWOJwvpw0LofbyG5gvYjEyoJeSvVH2PnfUQSn0KQr4v8Dql2pr43ohmx4fdPQ/eVoTSFjTi/bsGEXl/zUUQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.1.tgz", - "integrity": "sha512-mL3+gU18g9JPsHZuKMZ8Z0Ss9YP1S5xYZ7n68Z98GnPq02pYNQuRXL85b9GYhl6jpdvUc45Km7hAl71vybjUmw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.1.tgz", - "integrity": "sha512-F4bjJcSqXqHnC9JGUlnqSa3fC2YH5zTtmACS1Hk+WX/nFB0guuynVK5ev35D4XZbdKjulXBAQMyRr216kmxghw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.1.tgz", - "integrity": "sha512-SkhzHdI/AllAgQSxXM89XwS1Tkic7csPdndUuTKabEwRcEfR8uQ/iPA3Dgio1rqsV3jtqZhY0QQni8rLswJM2w==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.1.tgz", - "integrity": "sha512-M8+7MbzKC1PvJIA8kR2sSBnex8bsR5auatLCnVlNTJczmJgqRn8M+sAlQfkEq7M4IY3WmaNJ+LJjPVRrREVSHQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.1.tgz", - "integrity": "sha512-TAblbDXOI7bd0C/9PE1G+AFo7R5uc+ty1ArDoxmrC1ah61Hn6shURKy7gLdRb1qKJmjHkqu5Oq+e4Kt0jwf1IA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.1", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^7.12.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastq": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", - "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/get-intrinsic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", - "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", - "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.1.tgz", - "integrity": "sha512-5JriGbYhtqMS1kRcZTQxndz1lKMwwEXKbwZbkUZNnp6MJX0+OVXnG0kOlBZP4LUAxEyzu3cs+EXd/97MJXsGfw==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.14.1", - "@typescript-eslint/scope-manager": "4.14.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.1.tgz", - "integrity": "sha512-2CuHWOJwvpw0LofbyG5gvYjEyoJeSvVH2PnfUQSn0KQr4v8Dql2pr43ohmx4fdPQ/eVoTSFjTi/bsGEXl/zUUQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.1.tgz", - "integrity": "sha512-mL3+gU18g9JPsHZuKMZ8Z0Ss9YP1S5xYZ7n68Z98GnPq02pYNQuRXL85b9GYhl6jpdvUc45Km7hAl71vybjUmw==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", - "debug": "^4.1.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.1.tgz", - "integrity": "sha512-F4bjJcSqXqHnC9JGUlnqSa3fC2YH5zTtmACS1Hk+WX/nFB0guuynVK5ev35D4XZbdKjulXBAQMyRr216kmxghw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1" - } - }, - "@typescript-eslint/types": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.1.tgz", - "integrity": "sha512-SkhzHdI/AllAgQSxXM89XwS1Tkic7csPdndUuTKabEwRcEfR8uQ/iPA3Dgio1rqsV3jtqZhY0QQni8rLswJM2w==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.1.tgz", - "integrity": "sha512-M8+7MbzKC1PvJIA8kR2sSBnex8bsR5auatLCnVlNTJczmJgqRn8M+sAlQfkEq7M4IY3WmaNJ+LJjPVRrREVSHQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.1.tgz", - "integrity": "sha512-TAblbDXOI7bd0C/9PE1G+AFo7R5uc+ty1ArDoxmrC1ah61Hn6shURKy7gLdRb1qKJmjHkqu5Oq+e4Kt0jwf1IA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.14.1", - "eslint-visitor-keys": "^2.0.0" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - } - }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", - "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", - "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", - "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true, - "peer": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..58c763f --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1572 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.14.5": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== + +"@babel/highlight@^7.10.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/json-schema@^7.0.7": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@typescript-eslint/eslint-plugin@^4.14.1": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.2.tgz#f54dc0a32b8f61c6024ab8755da05363b733838d" + integrity sha512-x4EMgn4BTfVd9+Z+r+6rmWxoAzBaapt4QFqE+d8L8sUtYZYLDTK6VG/y/SMMWA5t1/BVU5Kf+20rX4PtWzUYZg== + dependencies: + "@typescript-eslint/experimental-utils" "4.29.2" + "@typescript-eslint/scope-manager" "4.29.2" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.29.2": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.2.tgz#5f67fb5c5757ef2cb3be64817468ba35c9d4e3b7" + integrity sha512-P6mn4pqObhftBBPAv4GQtEK7Yos1fz/MlpT7+YjH9fTxZcALbiiPKuSIfYP/j13CeOjfq8/fr9Thr2glM9ub7A== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.29.2" + "@typescript-eslint/types" "4.29.2" + "@typescript-eslint/typescript-estree" "4.29.2" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.14.1": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.29.2.tgz#1c7744f4c27aeb74610c955d3dce9250e95c370a" + integrity sha512-WQ6BPf+lNuwteUuyk1jD/aHKqMQ9jrdCn7Gxt9vvBnzbpj7aWEf+aZsJ1zvTjx5zFxGCt000lsbD9tQPEL8u6g== + dependencies: + "@typescript-eslint/scope-manager" "4.29.2" + "@typescript-eslint/types" "4.29.2" + "@typescript-eslint/typescript-estree" "4.29.2" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.29.2": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.29.2.tgz#442b0f029d981fa402942715b1718ac7fcd5aa1b" + integrity sha512-mfHmvlQxmfkU8D55CkZO2sQOueTxLqGvzV+mG6S/6fIunDiD2ouwsAoiYCZYDDK73QCibYjIZmGhpvKwAB5BOA== + dependencies: + "@typescript-eslint/types" "4.29.2" + "@typescript-eslint/visitor-keys" "4.29.2" + +"@typescript-eslint/types@4.29.2": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.29.2.tgz#fc0489c6b89773f99109fb0aa0aaddff21f52fcd" + integrity sha512-K6ApnEXId+WTGxqnda8z4LhNMa/pZmbTFkDxEBLQAbhLZL50DjeY0VIDCml/0Y3FlcbqXZrABqrcKxq+n0LwzQ== + +"@typescript-eslint/typescript-estree@4.29.2": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.2.tgz#a0ea8b98b274adbb2577100ba545ddf8bf7dc219" + integrity sha512-TJ0/hEnYxapYn9SGn3dCnETO0r+MjaxtlWZ2xU+EvytF0g4CqTpZL48SqSNn2hXsPolnewF30pdzR9a5Lj3DNg== + dependencies: + "@typescript-eslint/types" "4.29.2" + "@typescript-eslint/visitor-keys" "4.29.2" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.29.2": + version "4.29.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.2.tgz#d2da7341f3519486f50655159f4e5ecdcb2cd1df" + integrity sha512-bDgJLQ86oWHJoZ1ai4TZdgXzJxsea3Ee9u9wsTAvjChdj2WLcVsgWYAPeY7RQMn16tKrlQaBnpKv7KBfs4EQag== + dependencies: + "@typescript-eslint/types" "4.29.2" + eslint-visitor-keys "^2.0.0" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" + integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" + integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-standard@^16.0.2: + version "16.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" + integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.24.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.1.tgz#64aba8b567a1ba9921d5465586e86c491b8e2135" + integrity sha512-KSFWhNxPH8OGJwpRJJs+Z7I0a13E2iFQZJIvSnCu6KUs4qmgAm3xN9GYBCSoiGWmwA7gERZPXqYQjcoCROnYhQ== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.10.1" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.19.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz#ed7b6ab5d62393fb2cc591c853652a5c318bf794" + integrity sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.2: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-core-module@^2.2.0, is-core-module@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-regex@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json5@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.2.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" + integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.1.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tsconfig-paths@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz#79ae67a68c15289fdf5c51cb74f397522d795ed7" + integrity sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q== + dependencies: + json5 "^2.2.0" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== From adaa6011c41bf270a274c5752955ee5145b6459d Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Mon, 23 Aug 2021 20:14:05 +0300 Subject: [PATCH 09/13] arrays --- index.js | 42 ++++++------------------------------------ 1 file changed, 6 insertions(+), 36 deletions(-) diff --git a/index.js b/index.js index 0bbf4aa..38f4cec 100644 --- a/index.js +++ b/index.js @@ -1,38 +1,8 @@ -function fet(arr) { - function cal(r, c, memo) { - if (r >= arr.length) return Math.max(...Object.values(memo)); - if (c >= arr.length) return cal(r + 1, 2, memo); - if (!memo) { - memo = {}; - } - memo[r + "," + c] = - arr[r - 2][c - 2] + - arr[r - 2][c - 1] + - arr[r - 2][c] + - arr[r - 1][c - 1] + - arr[r][c - 2] + - arr[r][c - 1] + - arr[r][c]; - - return cal(r, c + 1, memo); +function fet(a, d) { + for (let index = 0; index < d; index++) { + a.push(a.shift()); } - return cal(2, 2); + return a; } -var input = [ - [1, 1, 1, 0, 0, 0], - [0, 1, 0, 0, 0, 0], - [1, 1, 1, 0, 0, 0], - [0, 0, 2, 4, 4, 0], - [0, 0, 0, 2, 0, 0], - [0, 0, 1, 2, 4, 0], -]; -const inp2 = [ - [7, 6, 8, 2, 4, 3], - [7, 3, 3, 0, 6, 1], - [3, 8, 7, 7, 2, 2], - [0, 8, 6, 8, 6, 1], - [7, 1, 6, 0, 2, 4], - [2, 7, 8, 1, 7, 4], -]; -console.log(fet(input)); -console.log(fet(inp2)); +var input = [1, 2, 3, 4, 5]; +console.log(fet(input, 5), "5 1 2 3 4"); From 3c33cbc13871b7bb5a7d31c2467814cb3905533e Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Tue, 24 Aug 2021 14:18:12 +0300 Subject: [PATCH 10/13] arrays--not done yet --- index.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 38f4cec..a134d78 100644 --- a/index.js +++ b/index.js @@ -1,8 +1,52 @@ -function fet(a, d) { - for (let index = 0; index < d; index++) { - a.push(a.shift()); +function fet(q = []) { + const found = {}; + let total = 0; + let callback = 0; + const sorted = q.sort((a, b) => a - b); + for (let i = 0; i < q.length; i++) { + const a = q[i]; + const b = q[i + 1]; + if (b < a) { + if (a in found) { + if (found[a].find((item) => item === b)) { + } else { + found[a].push(b); + } + } else { + found[a] = [b]; + } + q.splice(i, 2, ...[b, a]); + i = 0; + } + if (q[i] !== i + 1 && callback !== i && q[i - 1] !== i) { + callback = i; + } } - return a; + if ( + Object.values(found).reduce((acc, arr) => { + total += arr.length; + if (arr.length > 2) { + acc = true; + } + return acc; + }, false) + ) { + console.log(`Too chaotic`); + return; + } + console.log(total); } -var input = [1, 2, 3, 4, 5]; -console.log(fet(input, 5), "5 1 2 3 4"); + +var input = [2, 1, 5, 3, 4]; +var input6 = [2, 5, 1, 3, 4]; +var input2 = [1, 2, 3, 4, 5]; +var input3 = [1, 2, 5, 3, 4]; +var input4 = [1, 2, 5, 3, 4, 7, 8, 6]; +var input5 = [1, 2, 5, 3, 7, 8, 6, 4]; +console.log("input", fet(input)); +console.log("input6", fet(input6)); +console.log("input2", fet(input2)); +console.log("input3", fet(input3)); +console.log("input4", fet(input4)); +console.log("input5", fet(input5)); +[1, 2, 3, 4, 5, 6, 7, 8]; From 9cdc416dbf7aa3a720d2de69325b8d86ee921436 Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Thu, 26 Aug 2021 01:57:44 +0300 Subject: [PATCH 11/13] all the tests are passing expect for 3 tests that fails because of 1 --- index.js | 183 +++++++++++++++++++++++++++++++++++++--------- package-lock.json | 12 +-- 2 files changed, 153 insertions(+), 42 deletions(-) diff --git a/index.js b/index.js index a134d78..0710d8d 100644 --- a/index.js +++ b/index.js @@ -1,39 +1,32 @@ -function fet(q = []) { - const found = {}; +function minimumBribes(q = [], memo = {}) { + if (q.length === 0) { + console.log(0); + return; + } let total = 0; - let callback = 0; - const sorted = q.sort((a, b) => a - b); + let savedI = 0; for (let i = 0; i < q.length; i++) { - const a = q[i]; - const b = q[i + 1]; - if (b < a) { - if (a in found) { - if (found[a].find((item) => item === b)) { - } else { - found[a].push(b); + const element = q[i]; + if (element - q[i + 1] > 0) { + total++; + if (element in memo) { + memo[element] += 1; + if (memo[element] >= 3) { + console.log(`Too chaotic`); + return; } } else { - found[a] = [b]; + memo[element] = 1; } - q.splice(i, 2, ...[b, a]); - i = 0; - } - if (q[i] !== i + 1 && callback !== i && q[i - 1] !== i) { - callback = i; + // console.log(q, element, memo[element]); + q.splice(i, 2, ...[q[i + 1], element]); + i = savedI; } + if (i + 1 === q[i]) savedI = i; } - if ( - Object.values(found).reduce((acc, arr) => { - total += arr.length; - if (arr.length > 2) { - acc = true; - } - return acc; - }, false) - ) { - console.log(`Too chaotic`); - return; - } + + // console.log(memo); + console.log(q === q.sort((a, b) => a - b)); console.log(total); } @@ -43,10 +36,128 @@ var input2 = [1, 2, 3, 4, 5]; var input3 = [1, 2, 5, 3, 4]; var input4 = [1, 2, 5, 3, 4, 7, 8, 6]; var input5 = [1, 2, 5, 3, 7, 8, 6, 4]; -console.log("input", fet(input)); -console.log("input6", fet(input6)); -console.log("input2", fet(input2)); -console.log("input3", fet(input3)); -console.log("input4", fet(input4)); -console.log("input5", fet(input5)); -[1, 2, 3, 4, 5, 6, 7, 8]; +// console.log("3", minimumBribes(input)); +// console.log("Too chaotic", minimumBribes(input6)); +// console.log("0", minimumBribes(input2)); +// console.log("2", minimumBribes(input3)); +// console.log("4", minimumBribes(input4)); +// console.log("7", minimumBribes(input5)); + +const stringfy = (str) => str.split(" "); + +// const testCase3a = +// stringfy(`1 3 2 6 4 8 9 7 5 10 13 12 11 15 14 18 16 20 19 17 22 23 21 25 24 28 27 26 30 29 31 32 34 33 35 37 39 38 36 41 40 42 43 46 44 47 45 50 51 49 52 48 54 53 55 56 57 58 61 59 63 60 62 66 64 65 69 70 67 68 73 72 71 75 77 74 76 79 78 80 82 83 84 81 86 88 87 85 90 89 93 91 95 92 96 94 97 98 99 102 100 101 104 106 103 105 107 110 111 109 113 108 112 115 114 117 116 120 118 119 121 123 125 122 126 124 128 127 130 129 133 131 132 134 137 136 135 139 141 138 143 140 144 142 147 146 145 148 149 150 152 151 155 153 157 156 154 160 158 159 163 161 162 164 165 168 166 167 170 169 171 172 175 174 173 177 176 178 180 181 179 182 184 183 185 187 188 186 189 191 192 190 194 195 193 196 197 199 198 200 203 201 202 205 207 204 209 208 206 212 210 213 211 214 217 216 215 219 221 218 223 220 225 222 226 227 224 229 228 231 230 234 232 235 233 238 236 240 237 241 239 242 244 243 246 245 249 248 247 251 250 253 255 252 254 258 256 259 261 260 257 262 265 263 264 268 266 270 267 269 272 271 273 275 276 274 277 279 281 278 283 280 284 282 285 287 286 290 288 289 291 293 292 294 297 295 296 300 301 299 298 304 302 303 307 308 305 306 309 311 310 314 313 312 315 318 316 319 317 321 320 324 322 325 327 323 326 330 329 332 328 331 333 336 335 334 338 337 340 341 339 343 345 342 346 348 344 347 349 352 351 350 353 355 354 358 357 356 360 359 361 362 365 364 363 367 366 369 368 371 370 374 372 376 373 375 378 377 381 379 380 382 384 383 386 385 388 387 389 392 390 391 395 394 393 398 397 396 399 402 400 401 404 403 407 405 406 410 408 412 409 411 413 416 415 414 418 417 420 421 419 422 423 425 427 424 429 426 431 428 432 430 435 433 436 434 438 437 439 440 442 444 441 443 445 447 446 449 448 451 453 452 450 454 457 455 459 456 461 458 463 462 460 465 467 464 468 466 470 471 469 472 473 476 475 477 478 474 480 481 479 484 483 485 482 487 486 490 488 492 489 491 494 493 496 498 495 500 497 501 499 503 502 505 506 504 507 508 511 512 510 509 513 516 514 515 517 518 520 522 519 523 525 521 524 526 529 527 531 530 533 528 532 536 537 535 538 534 540 539 542 541 543 545 544 546 549 548 551 547 550 552 554 553 556 555 558 560 557 561 563 559 565 562 564 567 566 569 568 571 573 570 572 575 574 576 579 578 577 581 582 583 580 585 584 588 589 586 587 591 590 592 595 593 594 596 598 597 600 599 603 602 604 601 607 605 609 606 608 611 610 612 615 613 614 617 616 619 618 620 622 624 621 623 625 627 626 630 629 628 632 631 634 633 636 635 637 639 638 640 642 641 645 644 643 648 646 649 647 652 651 650 654 653 656 657 659 655 660 661 663 658 664 662 667 666 669 668 665 671 672 670 673 675 677 674 676 678 681 680 679 684 682 685 686 687 688 683 690 691 693 689 692 695 694 697 696 700 699 698 701 703 702 705 704 707 706 708 710 709 713 711 712 715 714 717 716 719 720 718 722 721 724 726 725 727 729 723 731 732 728 734 730 733 737 735 738 740 741 736 739 744 743 746 747 742 745 748 751 750 752 749 753 754 756 755 759 760 761 757 758 763 762 766 765 764 769 768 770 767 773 772 771 776 777 774 778 775 780 779 781 783 782 785 784 788 786 787 789 791 790 793 794 795 792 798 796 799 797 802 801 800 804 803 806 805 809 808 807 812 813 811 815 814 810 818 816 819 817 820 821 822 825 823 824 828 827 826 829 831 830 834 832 833 836 838 839 837 835 840 842 841 843 845 846 844 849 848 847 851 850 854 852 856 855 853 858 857 859 862 860 864 865 861 866 863 867 870 868 871 872 869 873 875 874 878 876 879 880 877 883 881 885 882 884 887 886 890 888 892 891 889 893 894 895 896 897 900 899 898 901 902 903 904 906 905 909 907 911 910 908 913 912 916 915 914 918 917 920 919 922 921 925 924 923 927 926 930 928 929 932 933 931 934 935 936 937 940 938 939 942 941 945 943 947 944 949 946 948 952 951 954 950 955 953 956 958 957 961 959 960 963 962 966 965 964 969 968 971 967 973 972 970 974 975 976 979 978 981 977 980 984 983 982 985 987 986 989 988 992 993 990 994 991 995 996 997`) +// const testCase3b = +// stringfy(`1 2 6 4 3 7 5 10 9 12 8 11 14 17 15 19 13 18 16 20 22 21 23 25 26 24 28 27 31 32 30 29 34 33 36 37 38 40 35 42 43 39 41 45 44 47 46 49 50 48 51 55 53 52 54 59 57 60 56 62 63 61 58 65 64 69 67 66 68 72 70 71 73 75 77 76 74 78 79 81 82 88 80 86 83 87 85 84 91 89 92 94 90 93 97 96 95 99 98 101 100 102 106 103 107 104 105 110 109 108 112 111 114 118 115 113 117 119 116 121 123 122 125 120 124 128 126 130 127 134 129 136 135 131 132 138 137 140 133 139 142 141 144 143 146 145 148 147 150 149 153 154 151 158 152 156 155 159 157 162 160 161 164 165 167 163 166 168 170 169 171 172 173 174 175 177 176 180 178 179 182 181 184 183 185 187 189 186 191 190 194 188 192 193 195 197 196 199 200 198 202 201 203 206 204 208 205 207 210 209 211 212 217 213 215 214 216 219 218 221 223 222 220 224 227 226 229 225 228 231 233 230 232 235 234 237 236 238 241 242 240 239 243 244 247 245 248 246 250 249 251 252 254 255 253 259 258 257 256 262 260 263 261 267 265 264 268 266 272 270 273 269 271 275 274 279 277 276 281 280 278 282 284 286 287 283 285 291 288 290 289 293 295 292 294 298 296 299 297 301 300 306 302 305 303 307 304 310 309 308 311 314 313 312 317 316 315 319 318 320 322 323 324 321 328 327 325 330 329 326 332 331 337 334 333 339 336 335 338 341 340 343 342 344 346 345 348 347 350 351 352 349 356 355 353 357 354 360 358 359 362 361 365 367 364 363 370 366 368 369 373 371 374 372 375 378 377 380 376 379 381 383 382 387 386 385 384 388 389 390 393 392 391 395 399 398 396 394 400 397 407 403 402 401 404 408 406 405 409 411 410 412 415 413 414 417 419 416 420 418 423 422 421 429 426 424 425 427 432 428 431 430 433 436 435 434 438 440 437 445 439 441 443 444 442 446 449 447 451 448 452 453 450 454 456 455 458 460 457 459 462 461 463 467 466 464 465 470 468 469 474 473 471 472 475 476 478 477 482 479 481 480 483 484 487 486 485 490 489 488 493 494 491 497 492 496 498 495 500 499 503 502 501 504 505 507 506 508 511 509 512 513 510 515 517 518 514 516 521 520 522 519 524 525 523 528 527 530 529 526 533 532 531 535 534 538 537 536 539 541 544 540 542 543 546 545 547 549 548 550 551 553 552 554 555 556 558 563 561 557 559 562 560 569 565 566 564 572 568 567 570 571 574 573 578 576 575 577 581 579 582 583 580 585 584 586 587 588 591 589 590 593 592 595 594 597 596 598 600 599 602 604 601 606 607 603 611 610 605 612 609 613 608 615 616 614 618 617 621 619 622 620 623 627 624 625 629 626 628 633 630 634 631 632 636 637 639 635 640 638 641 643 642 644 645 646 648 647 650 649 653 651 652 654 656 660 655 657 661 658 664 659 663 662 665 667 668 669 666 671 670 672 674 677 673 675 679 678 681 676 682 680 685 684 683 688 689 687 686 691 690 694 693 695 692 696 698 703 697 700 701 699 706 702 704 705 708 710 709 707 712 713 711 714 717 715 719 721 718 720 722 716 724 723 727 725 726 729 730 728 733 731 732 736 734 740 735 737 739 738 742 744 743 741 745 746 748 747 751 750 749 753 754 755 752 757 756 759 758 760 761 762 764 763 765 771 767 769 766 768 772 770 773 774 776 775 778 779 777 781 780 782 783 786 785 784 787 788 789 793 790 792 791 795 796 794 799 797 801 798 800 803 802 805 804 806 807 809 808 812 811 816 814 810 817 815 818 821 813 819 823 824 820 822 827 825 830 826 828 829 833 831 832 834 837 836 835 839 838 840 844 843 842 841 845 846 848 847 849 850 852 853 851 854 855 858 857 856 861 860 859 862 868 866 864 865 863 870 869 867 872 871 874 873 877 875 876 878 880 879 881 884 882 885 883 887 886 888 889 891 890 892 893 894 896 897 895 898 899 901 902 900 904 905 903 907 906 909 910 913 911 908 915 912 916 914 917 918 920 919 921 923 924 922 926 928 925 929 931 927 930 934 932 935 933 936 937 939 940 938 941 943 942 945 944 947 946 948 951 949 950 952 954 956 953 957 955 959 958 961 962 960 964 965 963 966 968 967 970 969 971 973 972 975 977 978 976 974 979 981 980 982 984 983 986 985 988 987 989 991 992 990 996 994 993 995 997`) +// const testCase3c = +// stringfy(`2 4 5 1 3 8 9 10 6 7 13 12 14 11 16 18 15 17 19 22 20 21 23 26 25 28 24 27 30 32 29 34 31 35 33 37 36 39 41 38 42 43 40 45 44 48 46 47 51 50 49 53 54 52 55 57 56 60 59 58 61 64 63 62 67 66 65 70 69 68 71 74 73 72 77 76 79 78 75 80 82 81 85 83 84 87 86 89 90 88 91 94 92 93 95 98 97 100 96 102 101 99 103 105 104 107 106 110 108 112 109 111 113 116 114 115 118 117 119 121 123 120 122 124 127 125 126 130 128 132 133 129 131 135 134 137 136 139 138 140 143 141 145 142 144 146 147 148 150 149 153 151 152 156 155 154 159 157 160 158 162 164 161 165 167 163 166 169 168 172 170 171 173 174 176 177 175 180 178 182 181 183 179 184 186 185 189 188 187 190 191 194 192 195 193 197 196 200 199 198 202 203 201 204 206 208 205 210 207 209 211 213 215 212 217 216 214 219 220 221 218 222 224 226 227 223 225 230 229 228 231 233 232 235 234 238 237 236 240 239 243 242 244 241 245 246 249 248 247 250 253 251 252 254 255 257 256 258 261 259 260 263 265 262 266 264 268 269 267 272 270 274 273 271 275 276 277 278 279 282 280 283 281 284 285 287 286 288 290 289 293 294 295 291 292 297 299 296 298 302 301 300 305 304 303 308 306 310 309 307 313 311 315 312 314 317 316 319 320 318 321 322 324 323 325 327 326 330 329 328 331 333 332 334 337 336 335 339 340 338 342 341 345 344 343 348 349 347 346 351 353 350 354 355 352 357 356 359 358 362 360 361 363 364 365 366 367 370 369 368 371 374 372 373 376 378 375 379 377 381 383 382 385 380 386 387 384 390 389 388 393 391 395 394 392 397 396 399 400 401 403 398 402 406 407 405 409 408 411 404 413 410 415 414 412 418 417 416 419 422 420 424 423 425 421 428 429 430 431 426 427 432 435 434 433 438 436 440 437 439 443 442 441 445 444 447 446 449 448 450 452 451 455 453 454 456 459 458 457 461 462 460 464 463 466 465 467 469 468 470 472 471 475 473 474 476 477 479 478 482 480 481 484 485 486 483 488 487 491 490 489 494 492 496 493 495 497 499 500 501 498 503 502 506 504 507 505 510 508 509 512 511 513 514 516 515 517 518 519 520 521 524 523 522 525 526 527 530 528 529 531 533 532 536 534 537 535 538 539 540 542 543 545 544 541 547 546 549 548 551 550 553 552 556 555 558 554 557 559 561 562 560 564 563 565 568 567 566 570 572 569 573 571 575 574 577 579 576 581 578 580 584 583 585 582 587 586 588 589 591 590 594 593 592 596 597 595 600 599 598 603 602 601 604 606 608 605 609 610 607 612 613 615 611 614 618 616 617 619 621 623 622 620 624 626 625 627 629 628 630 632 631 635 633 634 637 638 636 641 639 640 643 642 645 644 648 647 646 650 649 653 651 652 654 655 656 657 660 659 658 661 664 663 666 667 662 665 670 668 672 673 669 671 676 674 675 677 678 681 679 682 683 685 684 680 688 686 689 691 687 690 692 693 695 696 694 697 699 701 698 700 703 705 706 702 704 708 707 710 709 711 713 712 715 714 716 717 720 718 721 722 719 723 724 725 726 727 730 729 731 728 733 735 736 734 732 738 737 739 740 743 742 741 744 747 745 746 750 748 752 749 751 753 755 754 757 756 759 760 758 762 761 764 763 766 765 767 770 769 768 773 771 772 774 777 776 779 775 780 782 781 778 784 786 783 788 785 787 789 791 790 794 792 796 793 798 799 797 795 802 803 801 800 804 806 808 805 807 809 811 812 810 815 813 814 818 816 817 819 822 820 823 821 826 825 824 827 828 829 830 831 833 832 834 837 835 836 838 840 839 843 841 844 842 847 845 848 846 850 849 853 851 854 852 857 856 855 860 858 862 859 864 861 863 866 865 869 867 871 868 870 874 872 875 877 873 879 880 876 878 883 881 884 885 882 888 887 890 886 889 893 891 895 892 896 894 897 899 898 901 900 903 902 905 906 907 904 910 908 911 909 913 912 916 915 914 918 917 920 921 919 924 923 922 926 925 928 927 930 929 932 931 935 933 934 937 936 938 939 942 941 940 943 944 947 945 948 949 946 952 950 951 955 954 953 957 956 960 958 962 959 964 965 961 963 968 969 966 967 972 970 971 973 974 975 977 976 979 980 978 982 981 983 984 986 985 987 988 991 989 992 990 993 996 994 998 995 997`) +// const testCase3d = +// stringfy(`1 3 5 2 9 7 4 8 6 11 10 13 14 12 18 16 15 20 19 17 21 23 24 22 26 25 28 27 29 32 31 30 34 36 38 33 39 35 37 41 40 42 43 45 44 47 46 48 51 50 52 49 53 54 55 60 56 57 58 62 63 61 66 59 68 64 65 69 67 71 70 72 75 74 73 77 76 79 78 81 80 85 83 82 87 86 84 90 88 89 92 91 94 95 93 98 96 97 99 102 100 103 101 107 105 108 104 109 106 111 113 110 112 116 115 114 117 119 122 118 121 120 123 127 124 126 125 129 128 130 132 131 133 134 136 135 138 140 139 137 141 146 142 143 147 145 144 148 151 150 149 153 155 152 156 154 159 157 160 162 161 158 164 163 165 169 166 168 170 167 172 176 171 173 174 175 179 178 182 177 184 181 180 183 186 185 188 187 191 189 192 193 190 194 197 196 198 195 201 199 200 203 202 204 208 206 209 205 207 212 210 214 213 211 216 215 219 218 217 220 222 223 225 224 221 228 227 229 226 230 232 231 234 236 235 239 233 237 240 238 242 241 243 247 244 249 245 248 246 250 251 254 252 255 253 256 258 257 260 259 264 262 261 269 263 265 266 267 268 270 272 271 274 275 277 278 273 276 282 279 280 284 283 287 281 285 289 288 290 293 286 295 292 291 296 297 294 298 299 301 302 300 303 306 304 305 307 309 308 310 314 311 315 312 313 317 316 321 318 320 324 323 322 319 325 327 326 328 330 332 329 333 331 335 336 338 334 337 339 341 340 342 344 343 346 345 348 350 347 353 349 351 355 354 357 352 356 361 360 358 359 362 363 366 364 365 367 369 368 370 371 374 372 376 373 377 378 375 379 380 382 381 384 385 386 383 389 387 390 388 394 391 392 396 397 393 395 399 398 401 403 400 406 402 405 404 407 410 408 411 413 414 412 409 415 418 417 416 420 419 421 422 425 423 426 424 428 431 429 427 432 430 434 433 435 436 439 437 442 440 438 441 443 445 446 448 444 447 450 451 453 449 454 452 455 457 456 458 460 459 463 462 465 461 464 466 469 468 467 472 471 470 473 475 474 477 476 479 478 483 480 485 481 484 482 487 486 490 488 489 492 494 493 491 497 496 495 500 499 498 501 504 502 506 503 505 508 511 507 510 509 514 513 517 512 515 520 516 518 522 519 521 523 524 525 526 528 527 529 530 531 533 532 535 534 537 536 540 539 538 542 541 543 547 546 544 545 548 549 553 551 550 555 554 557 552 558 556 560 559 562 564 563 561 565 568 566 571 569 567 570 573 572 576 575 574 577 579 583 582 578 581 585 580 586 584 588 590 587 589 593 591 592 594 597 595 598 596 600 599 602 601 604 606 603 605 607 609 611 608 610 614 613 615 612 618 620 616 619 617 622 621 628 623 625 629 624 627 626 630 632 631 633 635 634 637 638 636 640 639 643 642 645 644 641 647 649 648 646 651 650 653 654 652 656 655 659 657 658 661 660 664 662 669 663 665 667 666 668 670 672 673 671 675 674 680 676 683 677 679 681 678 684 682 687 685 689 686 690 688 694 691 692 693 696 695 697 698 702 699 701 700 705 703 707 704 706 710 708 709 712 711 714 713 715 718 716 719 717 720 721 723 727 722 725 730 726 724 731 728 729 734 733 736 732 735 737 740 738 739 742 743 741 745 744 748 746 747 752 751 750 754 749 756 753 755 759 758 761 757 764 762 760 768 763 766 765 767 771 772 770 774 769 773 776 777 780 775 778 779 781 783 785 782 784 788 786 787 791 789 790 793 796 792 794 795 799 797 801 800 798 803 802 807 804 805 806 810 809 808 811 812 813 816 814 815 818 817 819 820 822 821 824 825 823 827 826 829 830 828 832 831 834 839 833 835 837 840 843 836 838 841 842 845 848 844 846 847 851 852 850 849 853 856 855 854 858 857 860 859 861 863 864 862 867 865 866 869 868 871 870 872 874 873 876 878 875 879 877 880 884 886 883 881 882 888 885 887 890 889 891 892 894 896 895 893 900 899 898 902 897 903 906 901 904 909 908 905 910 907 914 911 912 916 913 915 920 917 922 919 918 924 921 923 925 928 927 926 930 929 931 934 932 936 933 935 937 940 938 939 944 941 945 942 947 943 946 948 950 951 949 955 953 952 957 954 956 959 960 958 962 963 961 965 964 967 966 969 972 968 970 973 971 974 976 975 977 978 980 979 983 982 981 984 985 987 991 988 990 986 993 989 995 992 996 994`) +// const testCase3e = +// stringfy(`2 1 3 7 4 9 5 8 6 11 12 10 15 14 13 16 17 18 21 20 22 19 23 24 25 27 26 32 28 31 33 30 29 36 35 37 34 38 41 40 42 39 44 43 45 48 50 46 47 49 52 51 54 53 57 58 55 59 60 56 62 61 64 68 63 69 65 66 70 72 71 67 74 76 73 75 77 80 79 81 78 84 82 88 83 85 87 89 86 90 91 92 95 94 93 100 96 99 98 103 97 101 104 102 106 105 107 109 110 108 113 111 112 115 119 114 116 117 121 118 123 120 122 125 124 127 126 128 130 129 132 133 131 134 136 138 137 135 139 140 141 142 143 146 144 147 145 149 148 150 151 153 154 152 156 157 155 158 160 159 161 162 165 163 166 164 167 170 169 172 168 171 174 173 175 177 176 178 179 180 184 182 187 181 186 188 183 185 191 190 189 193 197 195 192 194 199 198 201 196 200 204 202 205 203 207 206 210 208 212 213 209 211 214 216 219 215 218 223 217 220 221 222 224 225 226 228 230 227 229 232 231 235 233 234 238 236 237 240 241 239 243 244 242 246 247 249 245 248 250 253 251 254 252 258 255 256 257 260 261 259 262 263 266 265 264 267 269 271 268 270 274 276 272 275 278 273 277 279 281 282 280 286 283 285 284 287 288 291 290 289 293 292 294 296 295 298 301 297 299 302 303 300 306 305 304 308 310 307 311 309 312 313 315 316 314 320 317 319 318 321 324 325 323 322 326 331 327 329 330 328 333 332 338 337 335 334 336 340 339 342 341 343 344 345 348 346 349 350 347 351 354 353 352 356 355 359 357 360 358 365 361 367 363 362 364 366 369 371 368 370 373 372 375 374 376 377 379 378 382 381 383 380 386 384 385 387 388 389 393 394 390 392 396 395 391 398 397 400 399 401 404 402 403 405 409 407 406 408 410 412 414 413 411 415 416 417 420 418 419 421 423 422 426 424 427 425 429 432 430 428 433 431 434 436 435 438 437 441 440 439 445 442 444 446 443 449 447 451 448 454 450 452 455 456 457 453 459 458 462 460 461 463 467 464 465 471 466 470 468 472 469 473 475 476 479 474 477 480 478 482 485 481 483 484 486 487 491 490 489 488 497 493 494 492 496 495 499 498 501 500 503 502 506 504 505 507 508 510 509 511 512 513 516 515 519 514 517 518 520 522 521 523 524 525 528 527 526 529 530 531 532 534 533 535 538 536 541 540 537 539 542 543 545 544 547 548 546 551 552 554 549 550 553 557 555 556 560 558 559 561 565 563 567 562 566 569 564 568 573 571 572 570 576 574 575 578 580 579 577 582 581 583 586 585 584 589 588 587 591 590 592 594 593 597 596 595 599 600 601 598 603 602 606 604 605 608 607 610 609 612 613 611 614 617 616 615 619 620 618 621 623 622 624 628 626 625 633 630 627 631 629 632 636 635 634 641 637 638 640 642 639 646 643 649 644 647 645 648 650 652 654 651 656 653 655 659 657 660 658 665 661 664 662 667 670 663 666 668 675 673 671 674 672 669 678 677 676 679 683 680 681 686 682 685 687 684 689 688 693 691 690 696 692 695 697 694 699 698 700 701 702 704 703 706 705 711 707 710 709 708 713 712 716 719 715 714 718 717 721 720 723 722 725 728 724 726 730 727 729 732 731 733 735 734 736 737 739 740 738 741 744 746 743 745 742 747 749 748 751 750 753 756 754 752 758 757 755 760 765 762 759 763 764 761 766 767 770 768 769 771 772 777 773 778 774 779 775 776 780 783 785 781 784 782 788 786 789 787 791 790 792 795 794 793 797 796 799 798 800 801 803 804 806 802 808 807 805 812 809 811 810 814 816 813 815 818 819 817 823 821 820 825 824 822 827 826 828 829 830 832 831 833 834 837 835 836 839 840 838 842 841 843 847 846 844 845 850 848 849 852 851 855 853 854 857 856 860 858 861 859 862 863 864 866 865 869 867 870 871 872 868 876 873 878 875 874 877 881 879 882 883 884 880 887 886 885 889 888 893 890 891 892 896 894 895 898 899 901 903 897 900 902 905 907 904 906 910 908 911 912 909 914 913 916 915 918 917 920 919 922 923 926 921 929 925 927 924 930 928 931 935 934 936 932 933 937 941 938 939 943 942 945 947 940 946 944 950 948 951 952 953 949 954 955 956 960 957 961 959 958 962 964 965 963 966 967 968 969 971 970 973 972 976 974 975 982 979 977 978 980 981 987 986 984 983 985 989 988 991 990 994 993 992 995 997 996`) +// const testCase3f = +// stringfy(`1 2 4 3 6 7 5 11 8 9 12 13 14 10 16 15 18 17 19 21 22 20 24 23 28 27 25 26 30 31 29 33 32 36 35 34 39 37 40 38 42 43 41 44 46 48 47 45 49 51 50 52 56 55 53 54 59 60 57 58 62 64 63 61 65 66 67 72 68 70 71 69 73 74 76 75 77 79 78 80 82 81 84 83 87 85 89 86 90 91 88 93 92 95 94 96 97 99 101 98 102 103 100 106 104 105 108 107 112 110 109 113 111 114 118 115 117 116 119 121 122 127 120 123 126 124 125 128 131 130 129 133 132 136 137 134 135 139 141 138 143 142 140 145 144 147 148 146 149 153 150 152 154 151 156 155 158 157 161 159 162 160 164 163 165 166 170 167 169 168 172 171 174 173 176 175 177 181 180 178 179 184 182 187 185 183 186 189 188 191 190 193 192 196 195 194 198 200 197 199 201 202 204 203 205 208 206 207 210 209 213 212 218 211 215 214 216 222 217 219 221 220 223 225 224 227 229 226 231 228 230 233 232 235 236 237 238 234 239 241 240 243 242 245 247 244 246 249 252 248 251 253 250 255 254 258 256 259 257 262 260 263 264 261 266 267 268 265 269 271 272 270 274 273 275 276 278 277 280 279 281 282 284 283 286 285 289 287 288 293 291 290 294 292 298 296 300 295 297 301 299 306 303 302 304 308 307 305 311 309 312 310 315 314 316 313 317 319 320 318 323 321 322 326 324 327 329 325 328 330 331 332 334 335 337 336 333 339 338 342 340 341 346 344 343 345 348 349 347 350 352 355 351 354 353 358 356 361 357 359 363 360 362 365 367 364 366 368 369 370 371 374 372 373 376 377 375 378 380 382 379 381 384 386 385 383 388 387 390 392 389 391 394 393 396 395 399 398 397 400 402 401 404 405 406 403 407 409 410 411 413 408 414 412 415 417 416 418 419 421 420 422 425 427 423 424 428 429 426 431 432 430 437 433 434 439 435 436 443 438 440 441 445 442 444 446 447 449 448 451 450 454 452 453 457 455 458 456 460 459 462 461 464 465 466 463 467 471 468 470 469 474 473 472 475 478 477 476 479 481 484 480 482 483 485 489 486 487 488 492 490 493 491 494 497 496 498 495 502 500 499 501 503 505 504 508 506 507 509 512 510 511 514 513 515 516 517 518 519 521 520 523 522 526 524 527 525 529 530 528 531 534 535 533 532 538 537 536 541 540 539 544 543 545 542 546 547 549 548 553 554 550 552 555 551 559 557 556 562 558 560 563 561 565 564 567 566 568 573 571 569 570 575 572 574 577 576 579 583 578 580 582 581 585 588 584 587 591 590 586 589 594 592 593 597 596 595 599 601 600 598 604 606 603 602 607 605 609 608 612 610 611 614 615 616 613 619 618 617 620 621 623 622 624 626 625 628 627 629 632 631 636 630 634 633 635 638 637 641 639 640 642 643 647 648 644 645 646 654 649 650 653 651 652 656 658 655 659 660 657 662 661 665 663 664 667 666 669 671 668 674 670 675 676 672 673 678 677 681 679 682 680 686 687 683 684 689 685 690 688 693 691 694 692 696 695 699 698 697 700 703 702 707 701 708 704 705 706 709 714 711 710 712 717 713 715 716 720 718 721 719 724 725 723 722 728 727 726 730 731 729 735 732 736 734 733 738 740 737 739 744 742 741 745 746 743 747 749 748 753 750 752 751 756 755 754 758 757 761 760 759 764 762 763 767 766 765 768 769 771 772 773 770 775 774 779 776 778 777 781 782 780 784 787 783 786 785 789 788 792 791 790 797 794 793 796 798 795 799 801 802 800 803 805 804 807 806 809 810 808 814 811 812 817 813 816 815 821 819 822 818 820 824 823 826 825 829 827 830 832 828 831 834 833 836 835 837 839 838 841 844 840 842 845 843 849 847 846 850 848 852 853 851 856 854 858 857 855 862 859 863 865 860 861 864 866 867 868 870 869 871 874 872 873 875 876 879 880 878 877 882 884 881 885 883 888 886 890 887 889 893 892 894 895 891 897 900 896 903 898 899 902 907 901 904 906 905 908 910 909 911 913 915 914 917 918 912 916 920 919 921 924 927 923 922 925 926 930 928 929 933 932 931 936 938 935 937 934 941 940 942 939 943 945 944 946 948 949 947 951 954 950 952 953 957 955 956 960 959 963 958 962 964 961 967 966 965 969 968 973 970 975 971 974 978 976 972 979 983 980 977 981 984 982 985 986 988 989 987 991 990 995 993 996 994 992 998 999 997 1000`) +const testCase3g = stringfy( + `2 4 1 3 7 6 9 8 5 11 12 10 15 14 17 13 16 18 21 19 20 22 24 23 25 28 26 30 27 29 31 32 34 33 36 35 39 37 38 40 42 41 44 43 46 48 45 47 51 49 52 50 54 56 55 53 58 59 57 60 63 61 64 62 66 68 65 67 71 69 72 74 70 76 73 75 79 80 77 78 83 84 81 82 87 85 89 86 88 92 90 93 91 95 94 98 96 99 101 100 97 103 102 106 105 104 108 107 109 110 112 114 111 115 113 118 117 116 119 120 121 122 123 126 124 125 129 127 128 130 132 134 131 133 136 135 139 137 141 140 138 143 142 145 144 147 148 146 150 149 153 154 151 152 155 157 156 159 161 158 162 164 160 163 166 165 168 169 167 170 173 171 175 176 172 174 178 180 177 181 179 184 182 186 183 187 185 189 190 188 192 193 195 191 194 197 199 196 201 200 202 198 204 206 207 203 208 210 205 209 213 212 214 211 217 215 219 216 218 222 220 221 225 223 227 226 224 228 230 232 231 229 235 234 233 237 236 238 239 241 242 240 244 243 246 245 248 247 251 250 249 252 254 255 253 258 257 256 259 261 260 263 262 266 264 265 267 269 268 272 270 271 275 274 273 276 279 278 280 277 282 281 283 284 286 285 289 287 288 292 290 291 293 294 295 297 296 298 300 299 302 301 304 303 305 306 307 310 309 308 312 311 314 315 313 318 317 320 319 321 323 316 325 324 322 327 329 326 331 328 332 330 335 333 337 334 336 338 340 341 339 344 345 343 342 346 347 349 348 351 350 353 355 352 357 354 358 356 359 361 360 362 363 364 365 367 369 368 366 372 371 374 370 373 376 375 379 380 378 377 381 383 382 384 385 387 386 389 390 388 391 392 393 396 395 394 399 397 401 398 403 400 405 402 407 404 406 409 411 408 413 410 415 412 417 414 416 419 418 421 422 420 423 425 424 428 427 426 429 432 430 433 434 431 437 436 438 440 435 442 439 441 443 444 445 448 446 447 450 449 451 453 452 456 454 457 459 455 461 458 460 462 464 463 465 468 467 466 471 470 469 473 472 475 474 476 478 477 479 480 481 482 483 486 484 488 485 487 491 489 490 493 492 496 494 498 495 497 500 502 499 501 505 503 504 508 506 507 511 509 510 513 512 515 514 518 516 520 519 517 522 521 524 523 525 526 529 528 530 527 531 533 532 535 536 534 538 537 541 539 542 540 544 543 546 548 547 545 550 549 552 553 551 556 557 554 555 560 558 559 563 564 562 561 567 566 568 565 570 571 569 573 575 576 572 574 579 577 581 580 578 583 582 586 585 584 587 588 591 589 592 590 593 595 594 598 597 596 601 599 600 602 603 606 604 605 607 610 608 609 611 613 615 612 616 617 614 618 619 622 621 620 624 625 627 623 628 626 629 630 632 631 635 634 636 633 638 637 639 640 642 641 645 643 644 647 646 650 648 651 653 649 652 655 657 654 656 658 659 660 662 661 664 665 666 663 667 670 668 669 673 671 675 674 672 678 677 676 679 681 680 682 683 686 684 685 687 689 688 690 693 692 695 691 694 696 697 700 698 699 702 701 704 705 703 707 708 706 710 712 711 709 715 713 716 714 718 720 717 719 722 721 724 723 725 727 729 726 731 728 730 733 732 734 736 738 737 735 740 742 741 739 743 746 745 744 748 749 747 752 751 750 753 754 755 758 756 760 759 761 757 762 764 763 767 768 766 765 771 770 773 772 769 774 775 778 776 777 779 781 780 782 783 784 786 785 788 789 787 791 790 794 792 795 793 796 797 800 798 801 803 799 802 805 806 804 807 810 809 808 812 811 815 814 813 817 819 816 818 822 821 823 824 820 825 828 826 830 827 832 829 831 833 836 837 835 834 838 839 840 843 842 841 844 846 847 845 849 850 848 853 851 854 852 855 858 856 860 857 861 859 863 862 864 866 865 868 867 870 871 869 873 874 872 875 876 878 877 880 881 882 879 884 885 883 886 887 890 889 888 893 892 894 891 895 897 899 896 901 898 900 903 904 902 906 905 908 909 907 911 910 912 914 913 915 916 919 918 921 917 920 922 924 926 923 925 929 928 927 931 932 934 930 933 937 936 939 935 940 938 943 941 944 945 942 946 947 950 949 948 951 952 955 953 954 958 956 957 959 962 961 960 963 964 966 967 968 965 969 971 970 974 973 972 977 976 975 978 981 979 983 980 984 982 985 987 986 990 988 991 989 992 993 995 994 996` +); +// const testCase3h = +// stringfy(`1 4 5 3 2 7 6 8 9 11 10 14 13 12 17 15 18 20 19 16 22 21 23 24 26 27 28 25 30 32 29 31 35 34 33 37 38 36 39 42 41 40 44 46 43 48 45 50 49 47 51 52 53 56 55 54 57 59 61 58 62 60 64 66 63 68 65 69 67 71 70 73 72 74 75 78 77 76 79 82 80 84 83 81 87 85 86 88 91 90 92 89 93 96 95 94 98 97 100 99 101 104 102 103 105 106 109 108 110 107 112 111 114 115 117 113 116 119 118 120 122 121 124 123 127 125 126 129 128 130 133 131 132 135 134 136 137 138 139 140 143 141 145 142 146 148 147 149 144 152 153 150 154 151 155 157 159 156 158 162 161 163 165 160 166 164 169 167 168 171 172 173 175 170 176 174 177 179 178 182 183 180 181 184 186 185 188 187 189 190 192 193 191 195 196 194 198 197 199 202 201 203 200 205 206 204 207 209 210 211 213 212 208 216 214 217 215 218 220 222 221 219 223 226 224 228 227 229 231 225 230 232 233 235 236 234 238 237 239 242 241 240 244 246 245 243 247 250 251 248 252 249 253 255 256 254 258 257 260 261 263 259 262 264 267 265 269 270 266 272 268 274 271 273 276 275 279 277 278 280 281 282 285 283 284 288 287 286 291 290 293 289 292 295 294 298 297 296 299 301 303 302 300 306 305 304 308 307 309 312 311 314 310 315 313 316 319 317 318 320 323 321 322 325 324 328 326 330 327 329 332 331 333 334 336 335 339 337 338 342 341 344 340 343 345 347 349 350 346 351 353 348 352 356 355 354 359 357 360 361 358 363 365 362 366 364 368 367 370 371 369 373 372 374 375 378 377 376 380 381 379 384 383 382 387 385 388 386 391 390 389 393 395 392 396 394 397 398 399 402 401 400 404 403 407 406 405 408 409 410 411 413 412 416 415 414 419 417 421 418 420 423 422 424 427 428 425 430 429 426 432 434 435 433 436 431 439 437 438 441 440 444 442 445 443 447 449 446 451 448 450 452 453 456 454 458 455 459 457 462 460 464 461 463 465 466 468 467 470 469 473 471 475 474 472 477 476 479 478 482 480 481 483 486 484 485 488 489 487 490 493 491 495 492 494 496 499 497 501 500 503 498 502 505 504 508 506 507 511 512 510 509 513 515 514 518 516 520 521 519 523 517 525 524 527 522 529 526 531 530 528 534 532 536 533 535 538 539 537 542 540 543 541 546 544 545 548 549 547 551 550 553 555 552 557 554 556 560 559 561 558 562 563 566 564 565 569 567 570 568 571 574 573 572 577 576 575 578 580 579 583 582 584 581 586 587 585 588 591 590 589 592 593 596 595 594 599 597 601 600 598 604 602 605 603 607 606 610 608 612 613 609 611 614 617 616 615 619 618 622 620 623 621 626 625 627 624 630 628 631 633 632 629 636 634 635 638 637 641 642 640 639 643 646 644 645 649 647 651 648 652 650 653 654 656 655 659 657 658 660 661 664 662 665 663 667 666 670 668 669 671 673 672 674 677 675 676 680 678 682 679 683 681 686 684 685 688 687 691 692 689 690 693 695 697 696 694 699 698 702 703 701 700 706 705 704 708 707 711 709 712 710 714 713 716 715 718 717 719 721 722 720 724 723 725 728 727 726 730 729 732 731 734 736 737 733 735 740 739 738 741 744 742 746 745 748 743 750 749 752 747 751 754 753 757 756 758 755 759 760 762 763 761 766 767 764 765 770 768 772 771 774 769 775 773 778 776 777 781 779 782 784 780 785 787 783 789 786 788 792 791 790 795 793 797 794 796 800 798 799 803 802 805 801 804 806 809 808 807 812 810 814 811 813 815 816 818 817 821 820 819 822 823 824 826 825 827 828 830 832 831 829 835 833 834 837 839 836 838 842 840 841 843 845 844 846 847 848 851 849 850 852 854 855 853 856 857 860 858 861 862 864 859 863 865 868 866 867 871 869 870 873 872 874 875 878 876 877 880 879 881 884 882 883 886 885 887 888 891 892 890 889 894 893 895 897 898 900 896 899 903 901 902 904 905 907 906 910 909 908 912 911 914 913 916 915 919 917 920 918 922 921 924 923 927 926 925 930 928 932 929 933 934 931 935 936 939 940 937 942 941 944 938 943 945 947 948 946 949 951 950 954 953 952 956 955 958 957 960 961 959 964 965 963 962 967 969 966 968 972 971 973 970 976 974 975 977 978 980 982 979 983 981 986 987 985 984 990 989 988 993 994 991 996 992 995 998 997`) +// const testCase3i = +// stringfy(`3 1 5 2 4 8 6 7 11 10 13 9 12 15 17 14 18 16 20 19 22 23 21 26 25 24 29 30 27 32 28 31 34 36 33 37 35 39 38 41 40 42 43 44 47 45 48 46 51 50 49 54 52 56 57 53 55 60 58 59 62 61 64 63 66 67 69 68 65 70 72 73 75 71 77 78 79 74 76 81 80 83 82 86 85 84 88 87 90 89 92 91 93 95 94 98 96 97 101 100 99 104 102 105 103 107 106 109 110 108 113 111 112 115 117 114 119 118 116 121 122 120 125 123 127 124 129 128 126 132 131 130 134 133 137 136 135 138 139 141 140 144 142 146 143 145 147 149 148 152 151 150 154 153 156 155 158 159 157 161 163 162 160 166 165 164 167 168 171 169 170 174 173 172 177 176 179 175 181 178 180 183 182 186 185 184 189 187 188 190 191 193 192 196 194 195 197 198 199 200 203 201 205 202 204 207 206 208 209 212 210 214 213 215 211 216 218 219 221 217 223 222 220 225 226 224 227 229 231 230 228 234 233 232 235 237 236 238 239 242 241 240 244 243 246 248 245 249 247 252 250 251 255 256 254 253 259 260 257 258 261 262 263 264 267 265 266 269 270 268 273 272 271 276 275 278 274 277 280 279 281 282 283 286 284 285 288 287 291 290 289 293 295 292 294 296 298 300 297 301 299 304 303 302 306 305 307 308 311 310 309 314 313 312 316 317 315 320 318 321 319 322 324 326 323 325 327 330 328 331 329 334 333 332 335 338 339 336 341 337 340 344 345 342 343 346 348 349 347 350 353 352 351 355 354 358 356 357 360 359 361 362 363 365 364 368 367 370 366 371 373 369 372 374 375 376 377 379 378 381 383 380 382 385 384 388 386 387 391 392 389 390 395 394 393 398 397 400 399 401 396 402 405 404 407 403 406 410 408 409 411 412 415 414 413 418 417 419 416 421 422 420 425 423 427 426 428 424 429 431 430 433 434 432 435 438 437 436 439 441 443 442 445 446 440 448 449 444 447 450 451 453 452 456 454 455 458 457 460 461 459 462 463 466 465 467 464 470 469 468 471 472 475 476 477 473 474 478 480 479 481 483 482 485 484 487 486 490 488 491 493 489 492 494 495 498 496 497 501 499 503 500 505 504 502 507 508 506 509 511 512 514 510 513 515 516 517 518 521 520 519 524 522 526 525 528 523 530 527 531 529 533 535 532 536 534 537 538 541 540 539 543 542 546 545 548 547 544 550 549 551 554 552 556 553 555 559 560 557 562 561 563 558 566 565 564 568 567 570 569 571 573 572 576 574 578 575 580 577 579 582 581 583 585 587 584 588 586 590 589 593 591 594 592 595 597 596 598 600 599 602 601 605 604 603 607 609 608 610 606 611 612 613 615 617 616 614 620 619 621 618 624 625 622 623 627 629 626 630 631 628 634 633 632 635 638 637 636 641 639 643 640 642 644 645 647 646 649 648 650 651 652 653 655 657 654 656 659 658 660 662 663 661 666 664 667 665 668 669 671 673 670 672 675 674 676 678 677 680 679 683 681 682 685 687 684 688 690 686 692 691 689 695 693 696 697 694 698 700 699 702 701 703 706 704 708 707 705 709 711 710 714 713 712 715 718 716 720 717 719 723 722 721 725 726 724 728 727 730 732 729 731 733 735 737 734 738 736 741 739 740 744 743 746 742 747 749 745 751 752 748 754 753 750 757 755 758 759 760 761 763 762 756 766 765 768 767 770 764 772 769 773 771 775 777 778 776 774 780 782 783 779 781 785 784 788 786 789 787 792 791 790 793 794 797 796 795 800 798 801 799 803 804 802 805 808 806 807 809 810 813 812 811 815 814 818 816 819 817 821 820 823 822 824 826 827 828 830 829 831 825 832 835 833 834 838 839 836 837 842 843 840 841 844 845 847 848 846 850 849 852 854 851 856 853 855 857 858 860 859 863 862 861 865 864 868 867 866 871 872 870 869 874 876 877 873 875 878 881 879 880 883 882 884 885 886 889 887 888 892 891 894 890 893 895 897 896 900 898 899 903 901 902 905 904 908 907 909 906 911 910 912 914 913 916 915 919 918 920 922 917 924 921 923 925 927 929 926 930 928 932 931 934 935 933 937 936 940 939 941 938 943 944 942 946 945 948 947 949 952 951 950 953 956 955 958 954 957 960 959 962 961 965 964 963 966 967 968 969 971 970 973 974 972 976 975 977 979 980 982 978 981 983 985 986 984 987 988 991 989 990 994 992 995 993 998 997 996 1000 999`) +// const testCase3j = +// stringfy(`3 1 5 2 7 6 4 9 12 8 11 10 14 13 16 17 15 18 20 23 19 21 27 22 24 25 30 26 28 29 34 31 32 33 36 35 38 37 39 42 41 40 43 44 45 47 46 49 50 48 51 53 56 52 55 54 59 57 58 60 63 62 61 65 64 68 66 67 72 70 71 69 73 77 74 76 78 79 75 80 83 82 81 84 86 85 89 91 87 88 90 93 92 96 95 94 97 99 98 101 100 102 104 105 103 108 106 107 111 112 109 114 110 115 113 117 120 116 118 122 119 121 126 123 124 129 127 130 125 128 135 131 132 133 136 134 138 137 139 141 140 145 142 143 148 146 144 147 150 151 149 152 155 153 154 157 156 159 161 158 160 163 164 162 166 165 167 168 170 169 171 175 174 173 172 176 178 177 179 180 183 181 182 184 189 186 185 190 187 191 195 188 192 193 196 194 198 201 197 200 199 202 203 204 209 207 206 205 208 211 210 212 214 213 215 216 218 217 220 219 222 221 224 223 225 226 230 228 227 231 229 234 233 232 238 235 239 236 241 237 242 240 244 245 243 247 246 249 248 251 250 252 253 254 255 259 256 258 257 261 263 260 262 264 267 266 265 269 268 272 270 273 271 275 276 274 279 277 278 281 283 280 282 288 284 285 287 286 292 290 289 291 293 295 294 296 299 298 297 302 303 300 301 305 307 306 310 304 308 309 313 311 314 312 315 318 317 320 316 319 323 322 326 321 324 325 329 328 327 331 330 333 335 332 336 339 334 338 337 341 340 345 343 342 346 344 348 347 349 350 351 354 353 355 352 357 356 359 362 361 358 366 360 364 365 363 369 368 367 370 371 372 373 374 375 378 377 379 376 380 382 383 381 384 386 385 391 388 387 390 389 392 395 397 396 394 393 398 399 402 401 400 405 404 406 403 407 410 409 408 412 414 411 413 415 418 417 416 419 420 422 421 423 425 424 426 427 428 430 429 434 431 435 432 433 437 436 439 438 441 440 444 442 443 445 449 447 446 448 453 451 452 450 457 455 456 454 461 459 464 460 462 463 458 468 465 466 469 471 470 474 467 472 473 477 475 476 480 483 479 478 482 481 487 486 484 485 489 488 491 490 493 492 496 494 495 498 499 500 497 503 501 504 502 506 507 505 509 508 510 512 513 511 514 516 520 515 519 517 523 522 521 518 525 524 526 527 530 529 528 532 531 533 538 534 535 536 540 537 539 542 541 543 545 544 547 550 548 546 553 551 552 549 554 556 555 557 559 558 562 560 563 561 566 564 565 568 569 567 570 572 574 573 571 576 575 578 577 580 579 584 581 582 583 585 587 589 586 592 591 590 588 594 593 598 595 596 602 597 599 601 603 600 605 604 606 608 607 609 610 613 611 612 614 615 617 619 616 620 618 621 623 622 625 626 628 624 629 633 627 630 635 632 631 634 637 636 641 640 642 638 644 639 646 645 643 651 648 650 647 649 653 654 657 656 655 652 660 659 658 662 661 665 663 666 664 667 669 671 668 670 672 676 673 675 674 678 677 680 683 681 679 684 682 685 686 687 688 690 689 693 691 696 692 695 694 700 697 698 702 701 699 704 703 705 707 706 708 709 711 712 710 714 713 716 715 718 717 720 719 725 722 721 724 723 727 731 726 728 730 729 733 736 734 735 732 738 739 737 741 742 740 743 745 744 749 747 748 746 751 750 753 752 754 756 755 760 758 762 757 761 764 763 759 765 768 766 770 769 767 773 772 774 776 777 771 775 780 778 781 779 783 782 784 790 785 787 789 786 792 788 791 794 796 795 793 797 801 800 799 802 798 804 808 805 803 807 806 809 812 810 811 813 815 814 817 818 820 816 819 823 822 825 821 827 826 824 829 832 828 830 831 835 833 836 834 838 837 839 843 840 841 846 845 842 847 844 849 851 848 854 850 853 855 852 858 856 859 857 860 861 866 862 864 863 865 868 873 867 869 871 870 876 874 872 875 878 877 879 883 880 881 885 882 886 884 887 888 889 892 890 891 893 894 895 897 896 900 902 901 899 898 904 906 905 903 908 911 910 907 909 913 912 916 917 915 914 920 918 919 922 921 923 925 924 926 928 930 927 929 931 932 933 938 939 934 935 936 940 937 942 943 941 945 944 946 949 950 948 947 954 953 951 955 958 952 960 956 957 961 959 964 962 967 963 965 966 968 970 969 972 971 975 974 977 976 973 980 978 979 982 981 983 985 984 991 986 988 987 992 989 993 996 994 990 997 995`) + +// console.log(minimumBribes(testCase3a), `709`); +// console.log(minimumBribes(testCase3b), `Too chaotic`); +// console.log(minimumBribes(testCase3c), `704`); +// console.log(minimumBribes(testCase3d), `Too chaotic`); +// console.log(minimumBribes(testCase3e), `Too chaotic`); +// console.log(minimumBribes(testCase3f), `Too chaotic`); +console.log(minimumBribes(testCase3g), `691`); +// console.log(minimumBribes(testCase3h), `731`); +// console.log(minimumBribes(testCase3i), `733`); +// console.log(minimumBribes(testCase3j), `Too chaotic`); + +// const testCase4a = stringfy( +// `2 1 4 5 3 8 7 10 6 12 11 9 15 13 16 18 14 19 21 17 23 22 20 26 24 27 25 29 28 31 30 34 32 36 35 38 33 40 39 37 43 42 41 46 44 48 47 50 45 51 52 49 55 54 53 58 57 59 56 62 60 64 63 61 67 68 66 65 69 72 70 74 73 71 75 78 79 76 81 80 77 84 83 86 82 88 87 85 91 89 92 94 93 90 97 96 95 99 101 98 100 103 102 106 105 107 104 110 109 108 113 112 115 114 117 111 119 116 121 120 123 122 125 126 118 124 129 130 127 128 133 132 131 136 134 135 137 140 139 141 138 144 143 145 142 148 147 146 151 150 149 153 152 156 154 158 159 157 155 162 160 164 163 161 167 166 169 165 171 168 173 172 170 176 175 178 177 174 179 180 183 184 182 181 187 186 189 185 191 192 190 188 194 193 197 195 196 198 201 199 203 202 200 206 205 204 208 210 207 209 212 211 215 213 216 214 219 218 220 217 223 222 221 224 225 228 226 230 231 229 227 234 233 232 237 236 235 240 239 241 238 244 243 242 247 246 245 250 251 249 248 254 253 252 257 256 255 260 259 258 263 262 261 264 267 266 269 270 268 265 273 274 271 276 275 272 277 280 279 278 282 284 281 286 285 283 287 290 291 288 289 293 292 296 294 297 299 300 295 298 303 302 301 305 307 304 309 308 306 312 310 314 313 311 317 315 319 320 316 322 323 321 318 325 324 328 327 326 331 332 330 334 329 333 335 336 339 337 338 342 341 344 340 343 347 345 349 348 346 352 351 353 350 356 354 355 357 358 361 359 362 364 363 360 365 367 366 368 370 369 373 371 375 372 374 378 377 380 379 382 376 384 385 381 383 388 387 386 390 389 393 392 391 396 395 398 394 397 401 399 403 402 405 404 400 408 406 410 411 407 413 409 415 414 412 417 419 416 418 420 421 424 423 422 425 427 429 430 426 432 431 428 435 436 434 433 438 439 437 441 440 444 445 443 447 442 446 450 448 452 451 449 453 456 454 457 455 460 459 458 463 462 461 466 465 468 464 470 469 472 471 467 475 474 473 478 479 477 480 482 476 481 485 486 483 488 484 487 491 490 489 494 493 492 497 496 498 495 501 502 499 500 504 503 506 505 507 510 511 509 508 513 512 516 517 515 518 514 521 519 523 520 522 526 525 528 524 530 531 529 527 534 533 536 532 537 535 540 539 538 542 544 541 545 543 547 546 550 548 552 551 553 549 556 554 558 559 555 561 557 563 562 560 566 564 568 565 569 570 572 567 573 571 575 576 574 577 580 581 578 579 584 585 586 582 587 583 589 588 592 591 594 590 593 597 595 599 596 598 602 601 600 605 603 604 608 607 606 611 612 609 614 615 610 616 613 619 618 617 622 620 624 625 621 627 623 626 630 629 628 633 631 635 636 634 638 632 639 637 640 642 644 643 641 647 645 649 648 646 652 653 650 651 656 655 654 658 657 661 660 659 664 663 662 665 668 669 667 671 666 673 670 675 674 677 678 676 672 681 679 683 680 685 684 682 687 686 690 691 689 693 688 692 695 694 698 697 696 700 702 701 699 704 706 703 707 705 710 709 711 708 714 712 716 715 713 719 717 720 718 722 724 723 721 727 726 725 729 731 728 730 734 733 732 736 735 739 738 741 737 740 744 745 743 747 742 749 748 750 746 753 751 755 752 757 754 759 756 758 761 762 760 765 763 764 766 768 769 770 767 773 771 772 776 775 778 777 774 781 780 782 779 785 783 787 784 789 786 791 790 792 788 795 796 794 793 799 798 797 802 801 804 800 806 803 808 809 807 805 811 813 812 815 810 817 814 816 818 821 819 823 822 825 824 820 828 826 830 829 827 832 834 831 836 837 835 833 838 841 839 840 844 842 846 845 843 847 850 848 849 853 851 855 856 854 852 859 858 860 857 862 861 864 865 863 868 867 866 871 869 873 870 872 876 877 874 879 880 881 882 875 883 885 878 884 887 886 890 888 892 889 894 893 896 897 891 895 900 898 902 901 904 899 903 906 908 905 907 911 910 913 912 909 914 915 916 919 917 920 918 922 921 923 926 925 924 927 928 930 929 933 932 935 931 936 934 939 938 937 942 941 940 945 944 943 948 947 946 951 952 950 949 955 954 956 953 957 960 959 961 958 962 963 966 964 967 965 969 968 972 970 973 971 975 977 978 974 976 981 979 980 984 982 986 983 988 989 985 991 987 993 992 990 996 994 995` +// ); +// const testCase4b = stringfy( +// `1 4 2 6 3 7 5 8 11 10 13 14 9 16 12 18 17 15 21 20 19 24 23 26 22 25 29 28 27 32 31 30 35 36 34 38 37 33 41 40 39 44 43 42 46 45 49 50 48 52 47 54 53 51 57 58 59 56 55 62 61 60 63 65 67 66 64 70 69 72 71 73 68 76 75 78 77 74 81 82 80 79 85 84 83 87 89 86 91 90 88 94 95 93 92 98 97 96 100 102 99 101 104 103 105 107 106 110 109 111 108 114 113 112 115 118 117 116 120 122 119 121 124 123 127 126 125 129 128 130 131 134 132 133 137 136 139 138 135 140 143 144 142 141 147 146 149 145 148 151 152 154 155 150 153 157 159 160 156 158 163 164 161 162 167 166 165 170 169 168 173 171 172 175 177 178 174 176 181 180 179 184 182 186 185 188 183 190 187 191 189 194 192 193 195 198 199 197 196 201 200 204 202 206 205 203 209 207 210 208 212 214 213 215 211 218 217 220 219 221 216 224 222 223 227 226 225 229 231 228 232 230 233 236 234 237 239 235 238 240 242 243 241 246 244 248 247 245 251 249 253 254 252 250 257 256 259 260 255 262 258 261 265 264 263 268 267 270 266 269 273 272 275 271 276 274 277 280 279 278 282 281 285 283 287 286 284 290 289 291 288 293 295 294 292 297 296 300 299 302 298 304 303 301 307 306 308 305 311 309 313 312 315 314 310 318 319 317 316 321 320 324 323 322 326 325 329 330 327 328 333 331 335 332 334 338 337 340 336 342 339 344 343 345 341 348 347 346 350 352 349 351 355 354 356 353 358 357 361 360 359 364 363 365 362 368 367 370 366 372 369 374 373 371 377 376 379 378 375 380 382 383 381 385 384 387 389 386 391 390 388 393 392 394 396 395 399 398 401 397 400 404 402 403 407 405 406 408 411 409 413 412 410 415 416 414 419 418 417 422 421 420 425 423 427 424 428 426 430 429 433 434 431 432 437 436 438 440 439 435 441 443 442 446 445 448 444 449 447 452 450 451 455 454 456 453 459 457 458 462 461 460 465 464 463 468 467 466 471 470 473 472 475 469 474 476 479 477 478 482 481 483 480 484 486 485 489 487 488 491 490 494 493 492 497 496 499 495 498 502 501 500 504 503 507 506 505 510 511 512 508 509 515 513 514 518 516 519 517 522 520 524 523 526 521 528 529 525 527 530 533 531 532 535 537 536 538 534 541 542 539 544 540 543 547 545 549 546 550 552 551 548 555 554 553 557 556 560 559 562 563 561 558 566 567 564 568 565 570 569 572 571 575 573 577 574 579 580 576 578 581 583 582 584 587 588 585 586 591 589 593 590 594 596 597 592 598 595 601 599 603 604 600 602 606 605 609 608 607 612 613 611 610 615 616 617 614 620 619 618 623 621 625 622 626 624 629 628 627 632 631 633 630 636 637 635 634 640 639 642 643 638 645 641 644 647 646 649 648 651 650 653 655 652 656 658 659 654 657 662 661 660 665 664 667 663 669 668 666 671 670 673 674 672 676 675 679 680 678 677 682 683 684 686 681 685 689 690 687 691 693 688 692 695 694 698 699 700 696 702 697 703 701 705 704 708 709 710 706 711 707 714 715 712 713 717 719 720 716 718 721 723 722 726 725 724 729 727 731 728 730 734 733 736 735 737 732 740 739 741 738 744 743 746 742 747 749 745 750 748 752 753 751 756 754 758 759 755 760 757 762 764 761 765 763 768 767 769 766 772 771 770 773 776 775 774 779 778 777 782 780 784 783 781 786 785 789 788 787 792 791 790 795 794 797 793 799 798 800 796 802 801 805 803 806 804 809 807 808 812 813 811 815 810 816 814 819 820 817 818 823 822 821 824 827 826 825 830 829 832 833 828 831 835 836 838 837 840 839 834 842 841 843 846 844 847 845 850 848 852 851 849 855 853 856 854 857 860 858 859 863 861 865 864 862 868 867 869 866 870 873 871 872 876 877 874 879 878 881 880 875 884 883 885 882 886 889 888 891 892 893 887 895 894 897 890 899 900 896 902 903 898 901 905 907 904 909 908 910 912 906 914 913 911 915 917 919 916 920 918 922 924 921 926 925 928 923 930 931 932 927 929 935 934 933 937 939 940 938 936 942 941 945 943 946 944 949 948 947 952 951 954 950 953 956 958 955 957 960 961 959 964 963 962 967 966 965 970 969 968 972 974 971 976 973 977 975 978 981 980 979 984 983 986 982 988 987 985 990 989 993 994 992 991 997 996 998 995` +// ); +// const testCase4c = stringfy( +// `1 4 2 6 5 3 9 8 7 12 13 11 10 16 15 14 19 18 17 22 21 20 25 24 26 23 29 27 31 30 33 28 35 34 37 36 39 32 38 41 40 44 42 46 43 48 47 49 45 52 50 54 55 51 56 53 58 60 57 59 63 64 65 62 61 68 67 69 66 72 73 70 75 71 77 76 74 80 81 82 79 78 85 86 84 83 89 90 87 88 92 91 93 96 94 95 99 98 97 102 101 100 105 103 104 108 106 110 107 112 109 114 113 111 117 116 115 120 119 118 123 124 121 125 122 127 126 129 131 132 133 128 134 130 136 135 139 137 141 142 140 144 138 146 143 148 145 150 147 151 152 149 155 154 153 158 157 159 161 156 163 160 162 166 167 165 164 170 168 169 173 172 174 171 177 176 175 179 180 182 181 183 184 178 185 188 187 190 186 189 192 191 195 194 193 198 197 200 199 196 203 204 202 201 206 208 205 207 210 209 213 212 211 216 215 217 214 220 219 218 222 221 225 226 224 228 223 229 231 227 230 234 235 232 233 236 237 240 238 242 239 244 243 241 247 248 246 245 251 252 249 250 255 254 256 258 253 260 257 262 261 259 265 263 267 266 264 268 271 270 269 273 272 275 277 274 276 280 278 282 283 279 285 281 284 287 286 289 290 288 293 291 292 296 294 298 295 299 300 297 303 302 301 305 307 304 306 310 311 309 312 308 314 313 317 318 316 315 319 322 321 320 325 326 327 324 329 323 331 330 328 334 333 336 335 332 339 337 340 338 343 342 341 346 347 344 349 348 351 345 353 350 355 354 352 358 357 359 356 360 362 361 363 365 367 366 364 369 371 372 370 368 373 376 374 378 375 379 377 382 381 384 383 380 386 385 387 390 388 392 393 394 389 391 397 395 399 396 401 398 403 400 402 405 404 407 409 408 406 412 413 411 410 415 414 417 416 420 419 418 423 421 425 422 427 424 429 426 428 432 433 430 431 435 437 434 436 440 439 442 438 444 443 441 447 448 445 446 450 449 451 453 454 452 457 456 455 459 461 460 458 462 464 466 463 468 467 465 471 470 469 474 473 472 475 477 479 480 478 476 482 484 481 486 483 485 488 487 491 489 493 490 495 494 492 498 497 496 501 499 503 504 500 502 507 505 506 509 511 510 508 513 512 515 517 514 519 518 521 520 523 516 522 525 524 528 527 526 531 530 529 534 533 536 537 532 535 540 538 541 543 539 545 544 546 542 548 547 551 552 550 549 555 554 553 556 557 560 558 562 559 564 563 561 565 568 569 567 566 570 573 574 571 576 572 578 577 580 579 575 581 584 585 583 582 588 587 589 586 592 590 591 593 595 594 598 597 596 600 602 599 604 601 603 607 606 609 608 605 612 611 614 613 610 617 616 619 618 615 622 620 624 621 623 626 625 629 630 628 627 633 631 635 634 637 632 638 636 641 639 642 640 643 646 647 645 644 649 648 650 653 651 655 656 657 652 659 654 658 661 663 660 664 662 665 668 667 666 671 670 672 669 675 674 677 673 676 680 681 679 678 684 682 685 683 687 686 689 688 691 693 690 692 696 695 698 697 694 699 700 703 702 704 701 707 705 709 710 706 712 713 708 711 714 716 717 715 720 719 722 721 724 718 726 723 728 725 730 731 727 733 734 729 736 735 732 738 737 741 740 739 744 742 746 745 748 743 749 747 752 753 751 750 756 755 754 759 758 760 757 763 761 762 765 764 768 767 766 771 769 773 770 774 776 775 772 779 777 781 780 778 784 783 782 786 785 789 788 787 792 791 794 790 793 797 795 799 798 796 802 801 800 805 803 806 807 804 810 809 812 811 813 808 816 817 815 819 818 820 814 823 824 825 821 822 828 827 826 830 829 833 832 831 836 837 835 834 839 841 840 842 838 845 844 843 848 847 846 851 852 849 850 853 855 854 858 856 860 861 857 859 864 863 865 862 868 867 866 871 870 873 869 872 876 874 877 879 878 875 882 883 880 885 886 881 888 887 890 884 889 893 891 895 894 892 897 899 900 898 896 902 904 903 901 907 906 905 908 909 910 911 914 913 915 917 912 916 920 921 918 919 923 924 922 927 926 925 930 929 932 928 934 931 936 935 933 939 937 941 940 938 944 945 942 946 943 947 950 949 948 953 952 951 955 954 957 959 956 958 960 962 964 961 963 967 966 965 968 971 970 969 974 973 972 976 978 975 980 979 982 977 981 985 983 986 984 989 988 987 992 990 994 993 991 995 997 996 1000 998 999` +// ); +// const testCase4d = stringfy( +// `3 1 2 6 4 5 8 7 11 9 13 12 10 16 17 14 19 15 18 21 20 24 23 22 27 26 29 25 28 31 32 33 30 36 35 34 39 38 37 42 40 43 44 41 46 45 49 47 51 50 53 48 55 52 54 58 57 59 56 62 60 64 65 63 61 66 69 70 67 72 71 68 74 73 77 78 75 80 76 79 83 84 82 81 87 86 89 85 90 88 91 92 94 93 96 95 99 100 98 97 103 102 105 104 106 101 109 110 107 111 108 114 113 112 117 115 118 120 116 119 123 122 124 126 121 125 127 130 128 132 131 129 135 133 134 138 136 139 140 137 143 141 145 146 142 148 144 150 149 147 151 154 153 152 157 155 156 158 160 159 163 162 161 165 164 168 167 166 171 169 173 170 175 172 176 174 179 180 178 177 183 182 185 181 184 188 189 187 186 191 190 194 195 193 197 192 199 198 196 202 203 200 201 206 204 205 209 207 211 208 212 210 215 216 214 218 213 220 217 219 222 221 225 224 227 226 223 230 229 232 231 228 234 233 237 235 238 236 241 242 240 239 244 243 245 248 247 246 251 250 249 254 252 256 255 253 259 260 257 258 263 264 261 262 267 266 268 265 271 270 273 272 275 274 269 278 279 276 277 281 280 284 282 286 285 287 283 290 291 288 289 292 293 295 297 294 298 296 300 299 301 304 303 306 305 302 307 308 310 309 313 314 312 315 317 311 319 316 318 321 323 320 322 324 326 325 329 328 331 327 332 330 335 334 337 333 339 340 338 342 336 343 345 344 341 348 347 346 351 349 353 352 350 356 355 358 357 354 361 360 359 362 365 363 366 364 367 368 369 371 373 370 372 376 374 378 377 375 380 381 379 384 383 382 387 388 386 385 390 392 389 394 395 391 396 393 398 397 399 402 401 404 403 406 400 405 408 407 411 409 413 412 415 410 417 414 419 418 421 416 422 423 425 420 424 427 429 428 426 431 430 434 433 432 437 436 435 440 439 442 438 441 444 443 447 448 445 446 449 450 453 454 451 452 457 455 458 456 461 462 460 459 465 464 467 466 463 470 468 471 469 474 473 472 477 475 478 476 480 481 483 482 479 486 487 485 484 489 488 492 490 494 495 493 491 498 497 496 500 501 503 499 505 504 507 502 506 508 511 510 513 514 509 515 512 517 518 520 519 522 516 524 521 526 525 527 523 528 530 531 529 534 532 536 533 538 537 535 540 539 543 542 541 546 545 544 549 548 547 552 550 554 551 556 553 558 555 560 561 557 563 562 565 564 559 568 567 566 570 569 573 572 571 575 577 578 574 580 579 581 576 584 583 582 585 586 589 588 587 592 591 594 590 596 595 593 599 598 601 602 597 600 605 604 603 608 607 610 609 606 612 611 615 614 617 613 619 616 621 618 620 624 623 626 625 622 628 627 629 632 631 630 635 633 636 634 638 637 641 642 643 640 639 646 644 645 647 649 651 648 652 650 653 656 655 654 659 657 658 662 661 664 663 666 660 668 665 670 669 667 673 672 671 676 675 674 679 678 680 681 677 684 682 686 685 683 689 688 690 687 693 692 691 695 694 698 699 697 696 701 700 704 702 703 707 706 705 709 708 711 710 713 714 712 717 716 719 720 715 721 718 724 722 726 727 725 723 730 731 729 733 734 728 736 732 737 735 740 739 738 743 741 745 744 746 742 749 747 751 752 748 754 753 750 757 756 755 760 761 758 759 763 762 766 767 765 768 764 771 772 773 769 770 776 777 775 774 778 780 779 783 782 781 786 784 787 785 789 791 790 792 788 795 793 797 798 796 794 801 799 803 802 805 804 800 807 806 809 811 812 810 814 808 815 817 813 819 816 821 818 822 823 820 825 824 827 826 829 828 832 830 834 833 831 837 836 838 835 841 840 839 844 843 846 847 848 845 842 850 852 849 854 851 855 853 857 856 860 859 858 861 864 863 866 862 868 865 870 867 869 873 872 875 874 871 877 876 879 878 882 883 881 880 885 884 887 889 886 891 888 893 890 894 892 897 895 899 896 900 901 898 904 902 906 905 903 909 907 908 911 912 910 915 914 917 913 919 916 921 918 923 924 922 920 926 928 925 930 929 927 933 931 932 935 934 936 938 937 940 942 941 939 943 946 945 947 944 949 951 948 950 954 955 952 957 958 959 956 953 962 960 964 961 963 967 965 966 970 971 969 968 974 972 975 973 977 979 978 976 982 981 984 980 986 983 985 989 990 988 987 993 991 994 996 992 995 997 1000 999 998` +// ); +// const testCase4e = stringfy( +// `2 3 1 4 5 10 6 8 12 11 7 15 9 14 13 19 17 18 16 25 20 24 22 23 21 26 28 29 30 27 31 34 32 35 38 33 37 39 36 42 40 45 41 47 44 51 43 48 46 50 49 53 54 55 52 58 59 63 60 57 67 56 62 61 66 64 71 65 69 72 68 70 75 73 78 81 74 83 77 79 76 82 80 88 86 85 84 89 94 92 90 87 93 91 98 96 95 100 97 99 103 108 102 105 101 104 107 109 106 113 111 115 110 117 112 116 114 119 120 123 118 122 125 121 130 126 129 124 128 133 127 131 136 134 137 138 135 132 144 139 141 142 140 147 143 146 151 148 153 149 145 150 154 152 158 156 157 155 161 159 163 160 168 166 164 162 167 165 172 171 170 169 178 173 177 176 175 181 174 179 183 186 180 182 185 184 187 190 193 188 189 192 194 191 195 198 196 200 197 199 205 203 202 201 206 209 204 207 211 210 214 208 216 215 213 212 219 218 222 217 224 221 220 227 223 226 225 228 232 231 233 229 230 238 236 239 237 234 240 235 245 241 243 250 242 246 244 249 248 254 247 252 251 253 257 258 256 259 262 255 260 261 264 267 263 271 265 269 268 275 266 273 270 274 279 276 272 280 277 278 285 283 281 286 282 284 289 288 292 290 287 295 293 297 291 296 299 300 294 302 298 304 308 301 305 309 310 306 303 313 311 307 317 312 315 316 321 314 318 322 319 323 320 327 326 325 333 324 328 332 330 329 334 338 337 331 336 339 335 342 341 343 340 346 344 345 352 349 351 348 350 347 353 356 354 358 355 357 363 365 359 361 364 367 366 370 368 360 375 362 369 371 374 372 373 377 379 378 376 380 383 384 381 392 386 387 389 388 385 395 382 391 390 394 393 397 398 400 399 396 404 402 401 405 410 403 408 407 406 413 409 414 412 418 417 415 411 422 419 416 425 420 423 431 421 427 426 428 424 432 430 433 435 434 437 429 436 440 439 444 438 446 441 442 448 445 443 450 451 447 454 449 458 453 456 455 459 452 457 463 460 462 466 461 470 464 468 471 465 469 474 467 478 473 477 472 481 475 479 476 484 480 482 485 483 486 488 487 491 496 490 489 493 498 492 494 495 500 499 503 497 502 505 504 501 507 509 510 506 508 515 513 512 511 516 514 518 517 520 519 524 522 521 525 527 523 529 528 532 526 530 531 535 537 533 539 541 534 536 542 544 538 540 543 546 548 549 545 551 547 557 552 553 558 550 556 555 559 554 560 564 561 565 566 563 562 573 568 567 571 570 572 569 577 575 579 574 581 576 578 583 582 580 588 586 585 584 590 587 591 589 593 594 592 597 596 595 600 599 601 598 605 606 604 602 608 603 613 611 607 610 609 616 615 614 612 617 620 619 618 624 622 627 621 626 623 625 629 632 630 631 628 635 636 634 638 633 637 642 641 640 639 645 644 643 648 650 646 649 647 654 652 655 656 651 653 658 661 659 664 657 660 662 670 663 667 666 665 671 668 669 672 675 673 677 674 676 679 678 681 686 683 680 684 682 689 685 691 687 688 690 695 693 692 698 694 697 700 699 703 696 701 705 709 708 702 704 706 707 713 711 712 710 717 716 720 715 714 719 718 722 721 724 726 723 727 725 730 731 733 728 729 735 732 738 737 734 736 739 740 742 741 746 744 743 747 748 745 751 749 752 753 750 757 755 760 756 754 759 758 761 763 762 764 767 768 765 766 771 769 772 773 770 776 775 774 777 783 779 780 778 782 786 781 785 784 790 788 793 787 789 794 792 796 798 795 791 801 800 799 802 797 805 804 807 810 806 803 809 808 814 813 812 811 822 816 815 819 818 817 825 820 828 826 823 821 824 827 830 833 829 832 836 831 834 841 835 838 839 837 845 843 846 844 847 840 849 842 851 850 848 853 852 857 855 859 854 856 858 861 862 860 866 864 868 863 867 865 869 871 870 877 873 872 874 878 875 882 876 880 879 881 886 885 884 888 883 887 891 890 889 893 892 896 895 894 899 898 903 897 900 902 904 901 906 911 908 905 907 910 909 914 912 915 913 918 919 921 916 917 922 920 926 924 923 925 933 927 930 929 928 935 934 932 931 937 936 941 940 942 939 946 938 943 945 944 948 947 949 951 950 953 957 952 960 955 954 958 956 962 961 959 964 963 966 965 970 968 969 967 972 973 975 971 974 978 976 981 980 977 979 985 983 987 982 988 986 984 990 989 993 991 994 992 996 998 997 995` +// ); +// const testCase4f = stringfy( +// `2 1 4 6 9 3 5 8 11 7 13 10 16 12 15 17 19 14 21 20 18 22 23 24 26 25 31 29 27 28 34 32 30 39 35 37 33 36 41 42 38 40 44 45 49 43 47 46 51 52 50 48 57 53 55 54 60 58 63 59 56 62 66 61 67 65 70 64 69 68 75 71 78 74 73 79 72 77 76 85 81 82 86 80 84 91 90 83 89 87 93 88 94 92 98 96 99 100 95 97 107 103 102 105 104 106 101 110 108 114 109 118 112 111 117 115 113 123 121 119 125 120 116 126 122 127 129 134 124 128 132 131 130 138 139 141 135 136 133 137 142 140 143 146 148 145 144 150 147 149 153 154 152 151 159 157 156 155 158 163 161 164 160 162 166 167 168 165 172 170 177 169 174 171 175 173 179 178 182 176 185 180 187 181 183 186 188 189 184 191 190 195 192 196 194 198 193 202 199 204 197 203 206 201 200 205 209 212 207 208 213 211 210 215 216 214 217 222 219 218 223 220 225 221 229 227 228 233 224 226 232 230 235 231 236 234 237 239 238 242 241 240 245 244 247 250 246 243 252 248 255 251 249 254 256 257 253 258 262 260 259 261 265 263 269 267 264 266 273 268 272 276 271 270 275 274 281 278 277 282 280 285 279 284 289 283 287 286 290 292 288 296 293 291 294 300 297 295 298 299 304 302 303 301 308 306 310 307 305 311 313 309 314 319 312 315 317 318 320 316 323 321 328 324 322 327 326 325 331 330 329 336 335 333 339 332 338 337 334 341 342 340 346 343 345 347 344 348 351 349 354 352 350 357 353 355 358 362 356 360 359 364 361 363 367 366 365 370 369 371 368 376 373 378 380 372 375 379 374 377 385 387 382 381 390 383 384 388 394 386 393 391 389 392 396 400 398 395 399 404 397 402 405 401 403 407 410 406 413 408 409 411 417 412 415 414 420 418 416 419 423 421 425 424 422 428 427 426 432 430 429 435 431 434 433 437 440 441 436 439 438 445 442 448 452 444 446 447 443 451 450 449 455 454 453 458 457 456 459 462 466 461 464 460 463 465 468 467 471 473 469 470 476 472 475 474 479 477 484 478 481 486 480 483 490 482 488 487 485 493 492 497 489 491 494 501 498 495 503 499 496 500 506 504 502 508 512 505 509 510 507 518 511 514 516 520 513 519 517 515 521 522 525 528 524 534 526 523 527 530 531 529 532 538 535 533 537 536 542 539 544 541 545 540 543 549 547 546 551 550 552 548 554 557 555 558 556 553 560 562 559 563 561 565 564 566 570 567 568 574 569 572 573 579 571 576 581 578 575 577 582 580 585 583 584 587 589 588 592 586 593 596 590 591 594 599 600 598 601 595 604 597 606 605 603 602 608 610 607 609 614 611 612 613 616 615 619 622 621 617 618 623 620 625 624 627 629 628 626 632 631 630 634 633 637 638 635 639 640 644 636 643 648 646 641 642 645 647 650 653 649 652 651 655 658 657 656 662 654 663 660 659 661 667 665 664 668 670 666 669 673 675 671 677 674 672 676 680 679 681 678 683 685 687 684 682 689 690 686 694 692 688 691 696 693 698 701 695 699 697 707 703 704 700 706 705 702 712 709 708 714 713 710 716 711 719 715 722 721 718 717 725 724 720 723 728 730 726 729 732 727 733 731 736 740 735 734 737 738 741 742 745 739 743 748 747 744 746 749 750 751 753 752 754 757 758 759 755 756 762 761 760 768 765 764 763 767 766 772 771 776 769 773 780 770 774 777 779 775 784 782 778 783 781 787 786 785 789 793 791 790 794 788 797 799 795 792 796 804 802 798 800 803 806 801 808 810 805 809 807 816 813 811 817 812 815 818 819 820 814 825 823 826 824 821 822 827 829 828 835 831 834 832 830 836 833 837 841 839 840 838 846 842 844 849 843 847 845 854 850 851 853 848 855 858 857 856 852 862 861 860 859 865 867 864 863 866 872 868 875 870 871 876 869 874 873 880 879 878 883 877 885 884 888 882 881 887 886 890 889 891 897 893 894 892 898 900 896 895 902 899 901 905 903 904 908 907 910 909 906 911 917 914 912 915 913 919 916 921 920 925 922 928 918 924 923 930 927 926 931 935 933 929 932 938 934 942 937 936 940 945 939 943 944 941 950 948 947 953 946 952 949 956 955 951 961 957 954 958 962 960 965 959 964 966 963 972 971 967 969 968 973 970 975 974 976 978 980 982 977 981 988 983 984 979 985 989 987 993 986 990 991 997 994 995 998 992 996` +// ); +// const testCase4g = stringfy( +// `6 3 1 4 2 7 5 9 8 11 13 10 16 14 12 17 21 19 15 18 22 23 20 26 29 25 27 24 28 30 35 33 31 36 39 32 40 38 34 42 37 46 47 41 45 44 51 43 48 52 50 49 55 53 57 54 63 56 59 58 60 62 67 66 61 65 72 64 71 70 69 68 74 73 75 81 79 76 78 77 84 82 80 85 83 89 87 92 91 86 95 90 88 96 97 93 104 100 94 99 103 98 101 106 105 107 109 111 110 102 113 114 118 108 117 115 112 122 120 116 119 124 121 125 123 129 127 133 126 131 132 128 137 130 134 141 136 144 135 140 138 145 139 146 143 147 142 152 150 148 151 149 159 154 153 156 155 158 157 161 160 163 167 166 162 164 169 165 168 172 170 174 173 175 171 179 178 176 180 177 182 181 187 184 183 186 185 191 189 188 192 190 196 194 193 197 198 202 195 200 199 201 204 203 206 207 205 210 209 208 212 218 211 214 213 217 216 220 215 223 219 225 221 226 228 222 224 227 232 230 229 235 231 233 238 236 234 241 239 237 242 246 240 244 243 245 249 247 250 248 253 251 254 252 256 258 257 255 261 260 263 259 264 262 269 268 267 266 265 271 273 270 275 274 272 277 276 282 278 280 286 279 281 288 284 287 285 290 283 293 291 295 292 289 297 300 298 302 296 294 301 299 306 305 304 308 303 309 310 307 314 313 315 311 312 317 316 319 321 323 322 326 318 324 328 325 320 330 327 332 329 334 331 340 337 335 336 338 333 343 341 339 345 347 342 346 344 350 352 351 349 353 355 348 354 360 356 358 362 363 357 365 359 361 371 366 364 368 367 370 369 373 372 377 375 374 378 380 382 376 381 385 379 388 384 383 389 387 386 392 391 394 390 397 395 393 399 401 398 396 404 400 406 403 402 408 405 411 407 410 415 409 412 417 416 413 419 418 414 421 426 420 422 427 430 423 425 424 431 435 428 438 432 429 434 433 442 436 439 440 441 437 446 445 447 444 443 450 452 448 449 453 455 451 454 460 456 458 457 459 462 465 461 464 463 469 468 466 470 467 474 473 471 476 477 475 478 472 483 482 481 480 487 485 486 479 488 484 493 491 490 494 489 496 492 502 497 498 495 501 500 499 506 505 503 511 504 508 509 507 510 516 513 515 512 514 518 519 522 520 521 525 517 527 528 523 530 526 524 529 533 531 534 537 535 539 536 532 538 540 541 545 544 543 542 551 549 548 546 547 552 550 554 556 553 558 561 557 555 562 560 559 565 564 566 568 567 570 569 575 563 573 571 572 576 579 577 580 574 578 585 582 581 586 584 583 588 587 592 589 595 593 591 590 596 594 599 597 600 598 604 602 607 605 601 608 603 606 611 614 609 610 612 615 613 617 616 619 618 620 625 624 622 621 627 623 628 626 631 630 632 633 636 629 635 637 634 638 642 640 646 639 644 645 647 641 648 643 653 651 656 649 650 655 652 658 654 660 663 659 662 657 665 661 667 670 664 666 668 672 671 673 675 669 674 678 677 676 682 680 685 679 688 681 684 689 683 690 686 687 695 694 691 697 696 693 701 692 698 703 700 702 704 699 705 707 706 708 710 709 712 711 715 713 714 720 718 716 721 717 724 722 723 726 719 728 729 725 731 727 730 733 735 734 732 736 740 737 742 738 741 739 745 743 748 746 750 751 747 744 749 753 754 756 752 757 755 759 758 762 763 760 764 761 770 769 766 765 773 767 771 774 768 778 772 776 777 775 780 783 781 779 785 786 787 784 782 790 788 793 792 791 789 797 795 794 799 796 801 800 798 804 803 802 807 805 813 810 808 806 809 812 816 817 815 811 818 814 821 820 819 825 824 822 829 826 823 828 832 833 830 827 831 836 834 835 843 837 839 840 842 846 841 838 845 844 848 851 847 855 850 849 854 859 852 857 856 853 858 862 865 860 864 863 861 869 867 871 870 868 866 873 874 877 880 875 879 872 876 878 882 881 885 886 883 884 887 890 893 889 892 888 891 896 895 894 899 898 901 897 903 902 907 900 904 909 906 905 911 910 908 912 914 915 918 913 917 916 919 921 920 924 923 922 928 925 929 926 927 931 930 933 935 939 934 932 940 936 938 937 943 942 941 947 944 951 946 949 945 955 948 954 952 953 956 959 950 958 962 960 961 957 965 964 967 963 966 970 968 972 979 969 971 975 973 977 976 974 978 981 980 983 982 985 988 987 986 984 994 992 991 995 993 990 989 997 996` +// ); +// const testCase4h = stringfy( +// `1 5 3 2 8 11 6 4 14 10 7 9 16 12 15 13 22 18 20 17 19 21 26 25 23 24 27 30 29 38 33 32 28 31 35 39 34 40 37 36 42 41 44 43 50 45 51 46 49 52 48 47 55 54 53 57 56 58 61 59 63 60 65 62 67 64 70 68 72 66 74 77 71 69 73 76 78 81 75 80 79 84 83 82 85 87 86 90 89 88 93 91 94 92 100 96 97 98 95 104 99 102 103 101 106 105 111 108 110 112 107 109 115 117 114 121 119 116 118 113 125 124 128 122 129 120 126 123 133 131 127 138 132 130 139 136 137 135 134 141 140 144 142 145 143 147 146 149 150 151 154 148 156 153 158 152 157 163 155 159 160 164 162 161 167 165 168 171 166 169 170 173 172 177 175 174 179 181 176 180 178 183 186 184 185 182 189 187 192 188 193 190 191 197 195 198 194 201 199 200 196 204 203 206 205 202 207 212 209 208 213 211 210 218 217 214 216 215 223 220 219 222 221 227 226 229 224 228 225 233 237 235 231 234 236 230 232 242 238 240 247 239 241 246 244 243 245 249 253 251 248 257 254 250 256 252 258 255 261 260 265 259 262 270 266 269 263 264 271 268 267 276 273 272 279 277 275 278 274 281 282 280 286 284 283 287 291 290 285 289 293 288 292 296 294 299 295 298 297 301 300 303 305 306 302 309 304 307 312 310 308 318 311 313 314 317 322 316 319 324 315 320 328 325 321 327 323 331 329 326 334 332 336 330 337 333 335 339 338 341 340 345 344 346 342 350 343 348 347 355 352 353 358 349 356 354 365 351 363 357 361 359 367 362 360 364 371 368 366 372 369 370 375 378 373 384 376 374 385 381 377 379 387 382 390 386 380 383 389 393 388 394 392 391 397 396 400 399 395 398 401 405 403 406 402 410 409 407 408 413 404 411 417 415 412 416 414 418 419 421 422 420 429 423 427 426 425 424 428 430 431 435 433 436 432 438 434 441 440 437 439 445 443 442 446 448 449 447 444 453 454 451 452 457 455 450 460 461 456 459 462 465 458 466 464 463 470 469 468 473 467 472 471 477 476 474 479 482 475 478 484 481 483 489 486 480 485 487 492 490 494 488 493 499 491 498 496 503 495 500 501 497 502 509 504 507 508 506 505 511 510 515 514 512 513 518 516 517 521 519 524 520 527 522 526 523 525 528 529 530 535 533 531 532 538 537 534 543 539 541 536 545 540 544 547 542 548 546 550 549 554 557 555 553 552 551 559 558 556 561 562 560 565 564 567 563 566 570 568 569 574 572 573 579 571 575 576 581 577 582 580 578 585 587 584 586 583 589 588 594 590 592 591 596 593 599 598 601 597 595 602 600 607 606 604 605 609 603 608 611 613 610 614 612 616 620 615 623 618 621 619 626 617 622 628 631 624 629 627 625 630 633 632 635 636 634 640 637 639 643 638 645 642 641 648 646 649 647 652 644 651 654 650 655 658 656 653 659 660 657 662 663 667 661 665 669 672 666 664 668 675 670 673 671 677 674 679 676 681 678 683 680 684 682 688 686 685 690 687 691 689 693 692 697 694 699 695 701 696 700 703 698 704 702 705 707 709 706 711 712 708 710 713 718 714 715 717 716 722 719 723 721 726 720 730 724 725 729 731 728 734 727 735 736 733 732 738 737 742 740 739 741 743 749 747 744 745 750 746 751 752 748 754 753 760 755 756 759 761 766 758 757 765 762 763 770 764 767 769 771 775 768 773 772 778 774 776 783 780 779 781 784 777 782 786 785 789 790 788 787 794 792 791 798 796 793 800 799 795 804 797 802 801 803 808 806 805 810 807 813 809 815 811 814 812 818 819 823 816 821 824 817 826 820 822 825 830 827 831 829 828 833 832 835 836 838 834 837 842 841 840 846 839 847 844 852 843 849 845 850 848 853 851 858 857 855 854 862 861 856 865 860 863 859 867 866 864 868 872 871 875 869 870 879 873 878 880 874 876 883 877 881 884 882 885 886 889 887 890 892 895 891 888 897 893 894 898 896 900 899 904 901 906 905 903 902 909 908 911 912 907 915 910 914 916 913 919 917 922 925 918 921 920 928 927 923 924 926 930 931 933 936 929 938 934 939 935 937 932 941 940 944 942 947 943 948 946 945 950 954 952 949 959 951 953 956 955 962 960 958 967 961 957 965 964 963 968 969 966 973 974 970 971 976 972 975 978 977 981 980 985 982 988 983 979 987 984 990 989 986 992 994 993 998 991 997 995 1000 999 996` +// ); +const testCase4i = stringfy( + `2 4 3 1 7 8 6 5 11 12 9 10 13 15 14 18 16 20 21 17 19 24 23 22 26 28 25 30 29 27 31 34 33 32 36 35 37 40 41 39 38 44 45 42 46 43 49 50 48 47 53 52 51 54 56 55 59 60 57 58 62 64 61 63 67 66 68 65 69 72 70 74 71 76 73 78 77 75 80 79 83 81 82 85 84 88 89 87 86 91 93 94 90 92 95 97 96 99 101 102 98 100 105 104 107 103 108 106 110 109 113 111 115 112 117 116 114 120 121 119 118 124 123 122 127 126 125 130 131 132 129 128 133 136 135 134 139 137 141 138 143 140 144 146 142 148 145 150 151 147 149 154 152 156 153 155 159 157 158 161 163 164 162 160 167 168 165 166 171 170 173 169 175 172 177 174 176 179 178 182 181 180 185 183 187 184 189 188 191 190 186 194 193 196 195 197 192 200 201 199 198 204 203 202 206 205 208 207 210 212 213 209 215 216 211 218 214 220 217 222 221 219 225 223 224 226 229 228 227 230 233 231 235 232 234 238 236 239 237 242 241 244 240 245 246 243 248 247 250 249 252 254 253 255 251 256 258 257 259 262 261 264 263 260 267 268 266 270 265 271 269 274 275 272 277 276 273 280 279 278 283 284 281 282 287 286 285 290 289 288 293 291 295 292 297 294 299 300 298 302 301 296 305 306 304 308 309 303 310 312 307 314 313 311 315 318 317 316 321 322 319 320 325 326 327 324 329 328 330 323 331 334 332 333 335 338 336 337 341 342 339 344 340 345 343 346 349 348 347 352 353 350 355 354 351 356 359 358 361 357 360 362 363 366 365 364 367 370 368 371 369 373 372 374 377 378 376 380 379 382 383 375 384 381 387 386 389 388 385 392 393 391 394 390 397 396 398 395 401 399 400 403 402 406 405 404 407 410 409 408 413 412 415 416 411 417 414 420 419 418 423 424 422 421 427 425 428 426 430 432 429 434 431 436 437 435 433 440 439 442 438 444 443 441 447 448 446 445 449 450 453 451 454 456 455 452 459 460 457 461 463 458 462 466 464 468 465 467 471 469 472 470 475 474 473 478 477 476 481 479 483 480 482 486 484 488 485 487 490 492 489 494 493 491 495 498 499 496 497 502 500 504 505 503 507 501 509 506 508 512 511 510 514 516 517 513 519 518 515 522 520 524 521 526 525 528 523 530 529 527 533 532 535 531 537 534 536 540 539 542 538 541 544 543 547 546 545 550 549 552 548 551 555 554 553 557 559 556 561 562 558 564 563 565 560 568 569 567 566 572 570 573 571 576 574 578 579 577 575 581 582 580 583 586 584 587 585 589 588 591 590 594 593 592 597 596 595 600 599 598 601 604 603 602 607 606 609 605 611 610 608 613 615 612 614 618 616 620 619 617 623 622 621 625 624 626 629 627 631 628 633 630 635 632 636 634 639 638 637 640 641 643 642 646 645 644 647 650 651 648 649 654 653 652 657 656 655 660 658 659 663 662 661 666 664 665 667 670 668 672 669 674 675 673 677 671 676 678 680 682 679 684 683 681 686 685 687 688 690 691 689 694 693 696 692 695 698 697 701 700 699 704 705 703 702 708 706 707 711 709 713 714 710 712 716 718 715 717 719 722 723 721 720 726 725 724 729 728 727 732 731 734 730 733 736 735 738 740 737 739 741 744 743 742 747 746 745 749 748 752 750 753 751 756 754 758 757 755 761 760 759 764 763 762 766 765 769 768 767 771 773 770 775 772 777 774 776 779 778 782 783 781 780 785 784 788 786 790 787 792 789 793 795 791 796 794 798 797 801 802 800 799 805 806 803 807 809 804 811 808 810 812 815 813 814 818 817 820 819 816 823 822 821 826 825 824 828 827 831 829 830 832 833 834 837 838 835 836 841 840 839 843 842 845 847 846 844 849 848 852 851 854 850 856 853 857 858 855 860 859 863 862 861 864 867 868 865 866 870 869 873 871 874 872 877 878 876 875 881 879 882 880 885 886 884 883 888 890 891 887 889 892 895 896 894 898 893 897 899 900 903 902 901 904 907 905 908 910 909 911 912 913 906 915 917 918 919 914 921 916 923 920 922 924 927 926 929 925 931 928 932 934 930 935 933 938 936 940 939 937 942 943 945 941 944 948 947 946 950 951 949 954 953 952 957 955 959 956 961 958 963 964 960 966 965 962 969 968 967 972 971 970 975 974 973 978 979 977 976 982 981 980 985 984 983 988 987 986 990 992 989 993 991 996 997 995 994 998 999` +); +// const testCase4j = stringfy( +// `3 1 5 2 6 7 4 10 8 9 12 14 11 13 16 18 17 19 21 15 23 22 25 20 24 27 29 30 26 31 28 33 35 34 32 38 37 36 41 40 43 44 39 46 42 45 49 48 47 51 50 52 55 54 57 53 59 56 61 60 62 58 65 66 64 63 69 68 67 72 71 70 74 76 73 78 77 75 81 79 83 80 85 86 84 88 89 82 91 90 93 92 87 96 94 98 97 95 101 100 99 103 105 104 106 102 109 108 107 111 110 114 112 113 116 115 118 117 121 119 123 122 120 124 127 126 125 130 129 128 133 131 135 136 137 132 139 134 141 140 142 138 144 143 145 147 148 150 146 151 149 153 155 152 154 158 156 160 161 159 157 164 165 163 162 168 166 169 171 170 167 172 175 174 177 173 179 180 176 178 181 182 185 184 183 188 189 187 186 192 190 194 195 191 193 198 196 197 200 202 203 199 204 201 207 206 205 209 208 211 210 213 212 216 215 218 214 219 217 222 220 221 223 226 225 224 229 228 227 231 233 230 232 236 237 238 234 235 241 242 240 239 243 246 245 244 249 248 247 252 250 254 255 253 251 258 257 260 256 259 262 261 264 263 267 266 265 270 269 268 273 272 271 275 274 276 279 280 281 278 277 284 282 285 287 288 283 286 290 291 289 292 295 296 294 293 299 297 298 302 300 304 305 301 307 306 309 303 308 312 310 311 315 313 316 317 314 320 318 322 319 321 325 324 323 328 327 326 331 330 329 334 333 332 337 336 339 335 338 342 341 344 340 343 346 348 345 350 349 347 353 351 354 355 352 358 357 356 359 360 361 364 363 365 362 368 366 369 367 370 373 371 375 372 374 378 377 376 381 380 383 379 385 384 382 388 387 390 386 392 389 393 391 396 394 395 399 397 401 400 403 402 398 406 404 408 405 410 407 412 413 411 414 409 417 416 415 418 421 419 423 422 425 420 426 428 424 430 427 432 429 434 433 431 436 435 439 437 441 438 440 444 442 446 447 445 443 450 451 449 452 448 453 455 454 458 457 456 460 459 463 464 462 465 467 461 468 470 469 466 471 474 473 472 475 478 476 480 479 477 482 484 483 485 481 487 486 489 488 490 493 491 495 492 497 496 494 498 500 501 499 504 505 502 507 503 509 508 506 512 511 510 515 514 513 516 519 520 518 517 523 522 521 526 525 527 528 524 531 532 530 529 535 536 534 533 537 539 538 541 540 543 542 546 545 544 549 550 547 552 548 551 554 555 553 558 559 557 556 562 561 560 565 564 563 568 566 570 569 572 573 571 574 567 576 577 575 580 578 581 579 584 585 583 582 586 589 590 591 588 587 594 593 596 592 598 597 595 601 600 603 599 605 604 602 608 607 609 606 611 612 610 615 613 617 614 616 619 618 620 623 622 625 621 627 626 624 630 628 631 629 633 635 636 632 638 634 640 639 637 641 643 644 642 647 646 648 650 649 652 645 654 651 656 655 653 659 658 661 660 657 664 662 665 663 667 669 668 670 666 672 674 675 673 671 678 676 680 679 677 683 682 681 685 684 688 687 686 689 691 690 693 694 692 697 698 695 699 701 696 700 704 702 706 703 708 707 705 711 712 709 710 715 713 717 714 719 716 721 720 718 724 725 723 722 728 727 730 729 731 726 734 733 732 737 735 739 736 740 738 743 742 741 746 747 744 745 750 751 749 748 753 752 756 755 754 759 758 757 762 761 760 765 766 763 764 769 768 767 772 771 770 775 776 774 773 779 777 781 778 783 782 780 786 787 785 789 784 791 788 792 794 790 793 797 796 795 798 800 802 799 804 803 801 807 806 805 810 809 812 808 813 811 816 815 814 817 819 818 821 823 824 820 826 822 828 827 830 829 825 831 833 834 832 836 835 838 840 841 839 837 844 842 846 843 848 845 850 849 847 853 851 855 852 854 857 858 856 861 862 860 859 865 864 867 863 869 866 871 868 873 870 874 872 877 875 876 880 878 879 881 882 885 886 883 884 889 888 887 892 891 894 890 896 893 898 897 895 901 902 903 900 899 906 905 904 909 910 908 912 907 911 915 913 914 918 916 917 920 922 919 924 921 925 927 923 929 928 926 932 931 934 933 930 937 935 939 936 938 941 940 944 942 946 943 948 949 945 947 952 950 951 955 954 957 956 953 960 959 962 958 963 965 964 961 967 968 969 966 971 970 973 974 972 975 976 979 978 981 982 980 984 977 986 983 987 989 988 985 992 993 990 991 996 994 995 998 997` +// ); + +// console.log(minimumBribes(testCase4a), `956`); +// console.log(minimumBribes(testCase4b), `943`); +// console.log(minimumBribes(testCase4c), `961`); +// console.log(minimumBribes(testCase4d), `953`); +// console.log(minimumBribes(testCase4e), `Too chaotic`); +// console.log(minimumBribes(testCase4f), `Too chaotic`); +// console.log(minimumBribes(testCase4g), `Too chaotic`); +// console.log(minimumBribes(testCase4h), `Too chaotic`); +console.log(minimumBribes(testCase4i), `936`); +// console.log(minimumBribes(testCase4j), `961`); + +const testCase5a = stringfy( + `2 1 3 4 6 5 7 10 9 8 11 14 15 12 13 17 16 20 18 19 22 23 21 24 27 26 25 29 28 32 30 34 31 33 35 37 36 39 38 42 43 41 40 44 47 45 46 48 50 51 49 52 55 54 53 56 57 59 60 58 63 61 64 62 65 66 68 67 69 70 73 71 75 76 74 77 72 78 79 81 80 84 82 85 86 88 83 87 89 91 90 92 95 96 93 94 98 99 101 100 97 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991` +); +const testCase5b = stringfy( + `2 3 1 5 7 4 6 9 10 8 12 11 15 13 14 18 19 17 16 21 20 23 24 22 26 25 28 27 31 29 30 32 34 35 36 33 38 37 39 40 42 41 45 44 43 46 48 47 49 52 51 50 54 56 53 57 55 58 60 62 59 63 64 66 61 67 65 68 70 71 69 72 73 74 77 75 76 79 78 82 80 81 83 86 85 84 87 88 89 91 93 92 90 94 97 98 95 99 96 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982` +); +const testCase5c = stringfy( + `2 1 3 5 4 8 6 10 7 9 12 11 13 14 16 15 17 21 19 20 18 23 22 26 25 24 28 27 30 29 34 35 31 32 33 36 37 38 40 42 44 39 41 43 47 45 46 49 48 52 51 50 54 53 56 55 58 57 60 59 64 62 61 65 63 67 66 69 68 71 72 70 74 76 73 77 75 80 79 78 82 81 84 85 87 86 83 90 89 88 93 91 94 92 95 96 97 100 99 101 98 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990` +); +const testCase5d = stringfy( + `2 4 1 3 6 8 9 5 7 11 10 13 12 15 14 16 18 17 19 21 22 20 24 23 26 28 27 29 25 30 33 31 35 32 34 36 37 38 40 41 39 45 46 42 43 48 44 47 50 49 52 51 53 56 57 55 58 54 60 61 59 64 66 62 68 63 65 69 67 71 73 70 74 76 72 75 78 77 81 79 80 84 82 89 85 83 87 86 88 92 90 91 94 93 98 95 97 99 96 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988` +); +const testCase5e = stringfy( + `2 1 3 5 4 7 9 10 6 8 12 11 13 14 16 15 18 17 19 20 21 24 25 26 23 22 28 27 30 31 29 34 33 32 36 35 37 38 40 41 39 44 42 46 45 47 43 48 51 50 49 54 53 52 55 57 56 59 58 62 63 60 64 61 66 68 65 70 67 71 69 72 75 73 77 74 76 78 79 80 81 82 84 83 86 85 88 89 87 91 90 93 94 92 95 96 99 98 97 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000` +); +const testCase5f = stringfy( + `1 4 2 3 7 6 8 5 10 9 12 15 13 11 17 14 18 19 16 22 21 20 26 23 25 24 28 27 29 30 32 33 31 34 37 38 35 39 36 42 41 44 43 45 40 50 46 49 47 48 51 53 52 54 58 56 55 59 62 61 57 60 64 63 67 66 65 69 68 70 72 71 74 73 76 75 78 80 77 79 81 82 83 86 85 84 88 90 87 89 91 93 92 95 94 97 96 100 99 98 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993` +); +const testCase5g = stringfy( + `2 5 1 3 6 7 8 4 11 9 10 13 12 14 15 16 19 17 21 18 20 24 23 22 25 28 27 31 30 26 32 29 33 34 37 35 38 36 40 39 42 41 44 43 48 45 47 46 50 51 49 53 55 57 52 56 54 59 58 60 61 62 63 67 66 64 71 65 68 69 74 70 73 72 77 75 79 78 80 76 81 83 82 85 84 86 89 87 88 92 91 90 94 93 95 96 100 97 98 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992` +); +const testCase5h = stringfy( + `2 1 5 3 6 7 4 10 8 9 13 11 12 14 16 15 17 18 22 20 19 25 21 24 23 26 29 28 27 31 32 30 37 33 34 35 39 38 36 43 40 42 41 44 47 45 46 49 50 48 52 53 54 51 57 55 63 58 56 62 59 60 64 61 67 66 65 68 70 69 71 76 73 74 72 78 75 77 80 81 84 79 83 82 86 85 89 87 91 90 88 92 93 96 95 94 97 98 100 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000` +); +const testCase5i = stringfy( + `1 2 5 3 4 7 6 10 9 8 12 14 13 11 15 17 16 20 22 18 24 19 21 23 27 26 25 30 33 28 31 32 29 36 37 34 38 35 40 39 43 42 41 45 46 44 49 48 47 50 53 52 51 55 54 56 58 57 59 60 62 61 64 63 66 65 68 70 67 69 73 71 74 72 75 79 77 76 78 81 84 80 83 82 86 85 87 89 88 90 91 94 93 92 96 95 97 100 98 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993` +); +const testCase5j = stringfy( + `3 1 2 8 5 4 7 6 9 12 10 14 11 13 15 16 17 21 19 18 20 23 22 26 24 25 28 27 31 29 32 30 34 35 33 37 40 36 38 39 41 46 43 42 44 45 48 47 50 49 52 53 54 51 56 55 57 61 58 60 59 63 62 65 66 64 69 67 70 68 74 72 71 75 73 78 76 77 81 83 80 79 84 82 86 87 85 88 93 89 91 92 90 98 94 96 95 97 99 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985` +); + +console.log(minimumBribes(testCase5a), `67`); +console.log(minimumBribes(testCase5b), `66`); +console.log(minimumBribes(testCase5c), `Too chaotic`); +console.log(minimumBribes(testCase5d), `Too chaotic`); +console.log(minimumBribes(testCase5e), `65`); +console.log(minimumBribes(testCase5f), `Too chaotic`); +console.log(minimumBribes(testCase5g), `Too chaotic`); +console.log(minimumBribes(testCase5h), `Too chaotic`); +console.log(minimumBribes(testCase5i), `Too chaotic`); +console.log(minimumBribes(testCase5j), `Too chaotic`); diff --git a/package-lock.json b/package-lock.json index f61b636..45221c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2115,9 +2115,9 @@ } }, "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -4244,9 +4244,9 @@ "dev": true }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "progress": { From e36ec3cfa11b076b2906c4801ce90937deacbf67 Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Thu, 26 Aug 2021 02:12:46 +0300 Subject: [PATCH 12/13] the first 2 numbers didn't get sorted in the big arrays --- index.js | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index 0710d8d..d111a53 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,8 @@ -function minimumBribes(q = [], memo = {}) { +function minimumBribes(q = [], memo = {}, total = 0) { if (q.length === 0) { console.log(0); return; } - let total = 0; let savedI = 0; for (let i = 0; i < q.length; i++) { const element = q[i]; @@ -24,9 +23,13 @@ function minimumBribes(q = [], memo = {}) { } if (i + 1 === q[i]) savedI = i; } - + for (let index = q.length; index > 0; index--) { + if (index !== Number(q[index - 1])) { + return minimumBribes(q, memo, total); + } + } // console.log(memo); - console.log(q === q.sort((a, b) => a - b)); + // console.log(q === q.sort((a, b) => a - b)); console.log(total); } @@ -151,13 +154,13 @@ const testCase5j = stringfy( `3 1 2 8 5 4 7 6 9 12 10 14 11 13 15 16 17 21 19 18 20 23 22 26 24 25 28 27 31 29 32 30 34 35 33 37 40 36 38 39 41 46 43 42 44 45 48 47 50 49 52 53 54 51 56 55 57 61 58 60 59 63 62 65 66 64 69 67 70 68 74 72 71 75 73 78 76 77 81 83 80 79 84 82 86 87 85 88 93 89 91 92 90 98 94 96 95 97 99 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985` ); -console.log(minimumBribes(testCase5a), `67`); +// console.log(minimumBribes(testCase5a), `67`); console.log(minimumBribes(testCase5b), `66`); -console.log(minimumBribes(testCase5c), `Too chaotic`); -console.log(minimumBribes(testCase5d), `Too chaotic`); -console.log(minimumBribes(testCase5e), `65`); -console.log(minimumBribes(testCase5f), `Too chaotic`); -console.log(minimumBribes(testCase5g), `Too chaotic`); -console.log(minimumBribes(testCase5h), `Too chaotic`); -console.log(minimumBribes(testCase5i), `Too chaotic`); -console.log(minimumBribes(testCase5j), `Too chaotic`); +// console.log(minimumBribes(testCase5c), `Too chaotic`); +// console.log(minimumBribes(testCase5d), `Too chaotic`); +// console.log(minimumBribes(testCase5e), `65`); +// console.log(minimumBribes(testCase5f), `Too chaotic`); +// console.log(minimumBribes(testCase5g), `Too chaotic`); +// console.log(minimumBribes(testCase5h), `Too chaotic`); +// console.log(minimumBribes(testCase5i), `Too chaotic`); +// console.log(minimumBribes(testCase5j), `Too chaotic`); From b8017306b59ca97df6d8406162b640d25e737544 Mon Sep 17 00:00:00 2001 From: Ahmed eldessouki Date: Fri, 24 Sep 2021 16:39:18 +0300 Subject: [PATCH 13/13] nodeList cycle --- index.js | 180 ++++++------------------------------------------------- 1 file changed, 19 insertions(+), 161 deletions(-) diff --git a/index.js b/index.js index d111a53..ec94bd4 100644 --- a/index.js +++ b/index.js @@ -1,166 +1,24 @@ -function minimumBribes(q = [], memo = {}, total = 0) { - if (q.length === 0) { - console.log(0); - return; +function hasCycle(head) { + let nodes = []; + while (head) { + nodes.push(head.data); + head = head.next; } - let savedI = 0; - for (let i = 0; i < q.length; i++) { - const element = q[i]; - if (element - q[i + 1] > 0) { - total++; - if (element in memo) { - memo[element] += 1; - if (memo[element] >= 3) { - console.log(`Too chaotic`); - return; - } - } else { - memo[element] = 1; - } - // console.log(q, element, memo[element]); - q.splice(i, 2, ...[q[i + 1], element]); - i = savedI; - } - if (i + 1 === q[i]) savedI = i; + nodes = nodes.reduce((acc = [], item, i, arr) => { + if (i < arr.length - 1) acc.push([item, arr[i + 1]]); + return acc; + }, []); + for (const node of nodes) { + if (nodes.find((item) => item === node.reverse())) return 1; } - for (let index = q.length; index > 0; index--) { - if (index !== Number(q[index - 1])) { - return minimumBribes(q, memo, total); - } - } - // console.log(memo); - // console.log(q === q.sort((a, b) => a - b)); - console.log(total); + return 0; } -var input = [2, 1, 5, 3, 4]; -var input6 = [2, 5, 1, 3, 4]; -var input2 = [1, 2, 3, 4, 5]; -var input3 = [1, 2, 5, 3, 4]; -var input4 = [1, 2, 5, 3, 4, 7, 8, 6]; -var input5 = [1, 2, 5, 3, 7, 8, 6, 4]; -// console.log("3", minimumBribes(input)); -// console.log("Too chaotic", minimumBribes(input6)); -// console.log("0", minimumBribes(input2)); -// console.log("2", minimumBribes(input3)); -// console.log("4", minimumBribes(input4)); -// console.log("7", minimumBribes(input5)); - -const stringfy = (str) => str.split(" "); - -// const testCase3a = -// stringfy(`1 3 2 6 4 8 9 7 5 10 13 12 11 15 14 18 16 20 19 17 22 23 21 25 24 28 27 26 30 29 31 32 34 33 35 37 39 38 36 41 40 42 43 46 44 47 45 50 51 49 52 48 54 53 55 56 57 58 61 59 63 60 62 66 64 65 69 70 67 68 73 72 71 75 77 74 76 79 78 80 82 83 84 81 86 88 87 85 90 89 93 91 95 92 96 94 97 98 99 102 100 101 104 106 103 105 107 110 111 109 113 108 112 115 114 117 116 120 118 119 121 123 125 122 126 124 128 127 130 129 133 131 132 134 137 136 135 139 141 138 143 140 144 142 147 146 145 148 149 150 152 151 155 153 157 156 154 160 158 159 163 161 162 164 165 168 166 167 170 169 171 172 175 174 173 177 176 178 180 181 179 182 184 183 185 187 188 186 189 191 192 190 194 195 193 196 197 199 198 200 203 201 202 205 207 204 209 208 206 212 210 213 211 214 217 216 215 219 221 218 223 220 225 222 226 227 224 229 228 231 230 234 232 235 233 238 236 240 237 241 239 242 244 243 246 245 249 248 247 251 250 253 255 252 254 258 256 259 261 260 257 262 265 263 264 268 266 270 267 269 272 271 273 275 276 274 277 279 281 278 283 280 284 282 285 287 286 290 288 289 291 293 292 294 297 295 296 300 301 299 298 304 302 303 307 308 305 306 309 311 310 314 313 312 315 318 316 319 317 321 320 324 322 325 327 323 326 330 329 332 328 331 333 336 335 334 338 337 340 341 339 343 345 342 346 348 344 347 349 352 351 350 353 355 354 358 357 356 360 359 361 362 365 364 363 367 366 369 368 371 370 374 372 376 373 375 378 377 381 379 380 382 384 383 386 385 388 387 389 392 390 391 395 394 393 398 397 396 399 402 400 401 404 403 407 405 406 410 408 412 409 411 413 416 415 414 418 417 420 421 419 422 423 425 427 424 429 426 431 428 432 430 435 433 436 434 438 437 439 440 442 444 441 443 445 447 446 449 448 451 453 452 450 454 457 455 459 456 461 458 463 462 460 465 467 464 468 466 470 471 469 472 473 476 475 477 478 474 480 481 479 484 483 485 482 487 486 490 488 492 489 491 494 493 496 498 495 500 497 501 499 503 502 505 506 504 507 508 511 512 510 509 513 516 514 515 517 518 520 522 519 523 525 521 524 526 529 527 531 530 533 528 532 536 537 535 538 534 540 539 542 541 543 545 544 546 549 548 551 547 550 552 554 553 556 555 558 560 557 561 563 559 565 562 564 567 566 569 568 571 573 570 572 575 574 576 579 578 577 581 582 583 580 585 584 588 589 586 587 591 590 592 595 593 594 596 598 597 600 599 603 602 604 601 607 605 609 606 608 611 610 612 615 613 614 617 616 619 618 620 622 624 621 623 625 627 626 630 629 628 632 631 634 633 636 635 637 639 638 640 642 641 645 644 643 648 646 649 647 652 651 650 654 653 656 657 659 655 660 661 663 658 664 662 667 666 669 668 665 671 672 670 673 675 677 674 676 678 681 680 679 684 682 685 686 687 688 683 690 691 693 689 692 695 694 697 696 700 699 698 701 703 702 705 704 707 706 708 710 709 713 711 712 715 714 717 716 719 720 718 722 721 724 726 725 727 729 723 731 732 728 734 730 733 737 735 738 740 741 736 739 744 743 746 747 742 745 748 751 750 752 749 753 754 756 755 759 760 761 757 758 763 762 766 765 764 769 768 770 767 773 772 771 776 777 774 778 775 780 779 781 783 782 785 784 788 786 787 789 791 790 793 794 795 792 798 796 799 797 802 801 800 804 803 806 805 809 808 807 812 813 811 815 814 810 818 816 819 817 820 821 822 825 823 824 828 827 826 829 831 830 834 832 833 836 838 839 837 835 840 842 841 843 845 846 844 849 848 847 851 850 854 852 856 855 853 858 857 859 862 860 864 865 861 866 863 867 870 868 871 872 869 873 875 874 878 876 879 880 877 883 881 885 882 884 887 886 890 888 892 891 889 893 894 895 896 897 900 899 898 901 902 903 904 906 905 909 907 911 910 908 913 912 916 915 914 918 917 920 919 922 921 925 924 923 927 926 930 928 929 932 933 931 934 935 936 937 940 938 939 942 941 945 943 947 944 949 946 948 952 951 954 950 955 953 956 958 957 961 959 960 963 962 966 965 964 969 968 971 967 973 972 970 974 975 976 979 978 981 977 980 984 983 982 985 987 986 989 988 992 993 990 994 991 995 996 997`) -// const testCase3b = -// stringfy(`1 2 6 4 3 7 5 10 9 12 8 11 14 17 15 19 13 18 16 20 22 21 23 25 26 24 28 27 31 32 30 29 34 33 36 37 38 40 35 42 43 39 41 45 44 47 46 49 50 48 51 55 53 52 54 59 57 60 56 62 63 61 58 65 64 69 67 66 68 72 70 71 73 75 77 76 74 78 79 81 82 88 80 86 83 87 85 84 91 89 92 94 90 93 97 96 95 99 98 101 100 102 106 103 107 104 105 110 109 108 112 111 114 118 115 113 117 119 116 121 123 122 125 120 124 128 126 130 127 134 129 136 135 131 132 138 137 140 133 139 142 141 144 143 146 145 148 147 150 149 153 154 151 158 152 156 155 159 157 162 160 161 164 165 167 163 166 168 170 169 171 172 173 174 175 177 176 180 178 179 182 181 184 183 185 187 189 186 191 190 194 188 192 193 195 197 196 199 200 198 202 201 203 206 204 208 205 207 210 209 211 212 217 213 215 214 216 219 218 221 223 222 220 224 227 226 229 225 228 231 233 230 232 235 234 237 236 238 241 242 240 239 243 244 247 245 248 246 250 249 251 252 254 255 253 259 258 257 256 262 260 263 261 267 265 264 268 266 272 270 273 269 271 275 274 279 277 276 281 280 278 282 284 286 287 283 285 291 288 290 289 293 295 292 294 298 296 299 297 301 300 306 302 305 303 307 304 310 309 308 311 314 313 312 317 316 315 319 318 320 322 323 324 321 328 327 325 330 329 326 332 331 337 334 333 339 336 335 338 341 340 343 342 344 346 345 348 347 350 351 352 349 356 355 353 357 354 360 358 359 362 361 365 367 364 363 370 366 368 369 373 371 374 372 375 378 377 380 376 379 381 383 382 387 386 385 384 388 389 390 393 392 391 395 399 398 396 394 400 397 407 403 402 401 404 408 406 405 409 411 410 412 415 413 414 417 419 416 420 418 423 422 421 429 426 424 425 427 432 428 431 430 433 436 435 434 438 440 437 445 439 441 443 444 442 446 449 447 451 448 452 453 450 454 456 455 458 460 457 459 462 461 463 467 466 464 465 470 468 469 474 473 471 472 475 476 478 477 482 479 481 480 483 484 487 486 485 490 489 488 493 494 491 497 492 496 498 495 500 499 503 502 501 504 505 507 506 508 511 509 512 513 510 515 517 518 514 516 521 520 522 519 524 525 523 528 527 530 529 526 533 532 531 535 534 538 537 536 539 541 544 540 542 543 546 545 547 549 548 550 551 553 552 554 555 556 558 563 561 557 559 562 560 569 565 566 564 572 568 567 570 571 574 573 578 576 575 577 581 579 582 583 580 585 584 586 587 588 591 589 590 593 592 595 594 597 596 598 600 599 602 604 601 606 607 603 611 610 605 612 609 613 608 615 616 614 618 617 621 619 622 620 623 627 624 625 629 626 628 633 630 634 631 632 636 637 639 635 640 638 641 643 642 644 645 646 648 647 650 649 653 651 652 654 656 660 655 657 661 658 664 659 663 662 665 667 668 669 666 671 670 672 674 677 673 675 679 678 681 676 682 680 685 684 683 688 689 687 686 691 690 694 693 695 692 696 698 703 697 700 701 699 706 702 704 705 708 710 709 707 712 713 711 714 717 715 719 721 718 720 722 716 724 723 727 725 726 729 730 728 733 731 732 736 734 740 735 737 739 738 742 744 743 741 745 746 748 747 751 750 749 753 754 755 752 757 756 759 758 760 761 762 764 763 765 771 767 769 766 768 772 770 773 774 776 775 778 779 777 781 780 782 783 786 785 784 787 788 789 793 790 792 791 795 796 794 799 797 801 798 800 803 802 805 804 806 807 809 808 812 811 816 814 810 817 815 818 821 813 819 823 824 820 822 827 825 830 826 828 829 833 831 832 834 837 836 835 839 838 840 844 843 842 841 845 846 848 847 849 850 852 853 851 854 855 858 857 856 861 860 859 862 868 866 864 865 863 870 869 867 872 871 874 873 877 875 876 878 880 879 881 884 882 885 883 887 886 888 889 891 890 892 893 894 896 897 895 898 899 901 902 900 904 905 903 907 906 909 910 913 911 908 915 912 916 914 917 918 920 919 921 923 924 922 926 928 925 929 931 927 930 934 932 935 933 936 937 939 940 938 941 943 942 945 944 947 946 948 951 949 950 952 954 956 953 957 955 959 958 961 962 960 964 965 963 966 968 967 970 969 971 973 972 975 977 978 976 974 979 981 980 982 984 983 986 985 988 987 989 991 992 990 996 994 993 995 997`) -// const testCase3c = -// stringfy(`2 4 5 1 3 8 9 10 6 7 13 12 14 11 16 18 15 17 19 22 20 21 23 26 25 28 24 27 30 32 29 34 31 35 33 37 36 39 41 38 42 43 40 45 44 48 46 47 51 50 49 53 54 52 55 57 56 60 59 58 61 64 63 62 67 66 65 70 69 68 71 74 73 72 77 76 79 78 75 80 82 81 85 83 84 87 86 89 90 88 91 94 92 93 95 98 97 100 96 102 101 99 103 105 104 107 106 110 108 112 109 111 113 116 114 115 118 117 119 121 123 120 122 124 127 125 126 130 128 132 133 129 131 135 134 137 136 139 138 140 143 141 145 142 144 146 147 148 150 149 153 151 152 156 155 154 159 157 160 158 162 164 161 165 167 163 166 169 168 172 170 171 173 174 176 177 175 180 178 182 181 183 179 184 186 185 189 188 187 190 191 194 192 195 193 197 196 200 199 198 202 203 201 204 206 208 205 210 207 209 211 213 215 212 217 216 214 219 220 221 218 222 224 226 227 223 225 230 229 228 231 233 232 235 234 238 237 236 240 239 243 242 244 241 245 246 249 248 247 250 253 251 252 254 255 257 256 258 261 259 260 263 265 262 266 264 268 269 267 272 270 274 273 271 275 276 277 278 279 282 280 283 281 284 285 287 286 288 290 289 293 294 295 291 292 297 299 296 298 302 301 300 305 304 303 308 306 310 309 307 313 311 315 312 314 317 316 319 320 318 321 322 324 323 325 327 326 330 329 328 331 333 332 334 337 336 335 339 340 338 342 341 345 344 343 348 349 347 346 351 353 350 354 355 352 357 356 359 358 362 360 361 363 364 365 366 367 370 369 368 371 374 372 373 376 378 375 379 377 381 383 382 385 380 386 387 384 390 389 388 393 391 395 394 392 397 396 399 400 401 403 398 402 406 407 405 409 408 411 404 413 410 415 414 412 418 417 416 419 422 420 424 423 425 421 428 429 430 431 426 427 432 435 434 433 438 436 440 437 439 443 442 441 445 444 447 446 449 448 450 452 451 455 453 454 456 459 458 457 461 462 460 464 463 466 465 467 469 468 470 472 471 475 473 474 476 477 479 478 482 480 481 484 485 486 483 488 487 491 490 489 494 492 496 493 495 497 499 500 501 498 503 502 506 504 507 505 510 508 509 512 511 513 514 516 515 517 518 519 520 521 524 523 522 525 526 527 530 528 529 531 533 532 536 534 537 535 538 539 540 542 543 545 544 541 547 546 549 548 551 550 553 552 556 555 558 554 557 559 561 562 560 564 563 565 568 567 566 570 572 569 573 571 575 574 577 579 576 581 578 580 584 583 585 582 587 586 588 589 591 590 594 593 592 596 597 595 600 599 598 603 602 601 604 606 608 605 609 610 607 612 613 615 611 614 618 616 617 619 621 623 622 620 624 626 625 627 629 628 630 632 631 635 633 634 637 638 636 641 639 640 643 642 645 644 648 647 646 650 649 653 651 652 654 655 656 657 660 659 658 661 664 663 666 667 662 665 670 668 672 673 669 671 676 674 675 677 678 681 679 682 683 685 684 680 688 686 689 691 687 690 692 693 695 696 694 697 699 701 698 700 703 705 706 702 704 708 707 710 709 711 713 712 715 714 716 717 720 718 721 722 719 723 724 725 726 727 730 729 731 728 733 735 736 734 732 738 737 739 740 743 742 741 744 747 745 746 750 748 752 749 751 753 755 754 757 756 759 760 758 762 761 764 763 766 765 767 770 769 768 773 771 772 774 777 776 779 775 780 782 781 778 784 786 783 788 785 787 789 791 790 794 792 796 793 798 799 797 795 802 803 801 800 804 806 808 805 807 809 811 812 810 815 813 814 818 816 817 819 822 820 823 821 826 825 824 827 828 829 830 831 833 832 834 837 835 836 838 840 839 843 841 844 842 847 845 848 846 850 849 853 851 854 852 857 856 855 860 858 862 859 864 861 863 866 865 869 867 871 868 870 874 872 875 877 873 879 880 876 878 883 881 884 885 882 888 887 890 886 889 893 891 895 892 896 894 897 899 898 901 900 903 902 905 906 907 904 910 908 911 909 913 912 916 915 914 918 917 920 921 919 924 923 922 926 925 928 927 930 929 932 931 935 933 934 937 936 938 939 942 941 940 943 944 947 945 948 949 946 952 950 951 955 954 953 957 956 960 958 962 959 964 965 961 963 968 969 966 967 972 970 971 973 974 975 977 976 979 980 978 982 981 983 984 986 985 987 988 991 989 992 990 993 996 994 998 995 997`) -// const testCase3d = -// stringfy(`1 3 5 2 9 7 4 8 6 11 10 13 14 12 18 16 15 20 19 17 21 23 24 22 26 25 28 27 29 32 31 30 34 36 38 33 39 35 37 41 40 42 43 45 44 47 46 48 51 50 52 49 53 54 55 60 56 57 58 62 63 61 66 59 68 64 65 69 67 71 70 72 75 74 73 77 76 79 78 81 80 85 83 82 87 86 84 90 88 89 92 91 94 95 93 98 96 97 99 102 100 103 101 107 105 108 104 109 106 111 113 110 112 116 115 114 117 119 122 118 121 120 123 127 124 126 125 129 128 130 132 131 133 134 136 135 138 140 139 137 141 146 142 143 147 145 144 148 151 150 149 153 155 152 156 154 159 157 160 162 161 158 164 163 165 169 166 168 170 167 172 176 171 173 174 175 179 178 182 177 184 181 180 183 186 185 188 187 191 189 192 193 190 194 197 196 198 195 201 199 200 203 202 204 208 206 209 205 207 212 210 214 213 211 216 215 219 218 217 220 222 223 225 224 221 228 227 229 226 230 232 231 234 236 235 239 233 237 240 238 242 241 243 247 244 249 245 248 246 250 251 254 252 255 253 256 258 257 260 259 264 262 261 269 263 265 266 267 268 270 272 271 274 275 277 278 273 276 282 279 280 284 283 287 281 285 289 288 290 293 286 295 292 291 296 297 294 298 299 301 302 300 303 306 304 305 307 309 308 310 314 311 315 312 313 317 316 321 318 320 324 323 322 319 325 327 326 328 330 332 329 333 331 335 336 338 334 337 339 341 340 342 344 343 346 345 348 350 347 353 349 351 355 354 357 352 356 361 360 358 359 362 363 366 364 365 367 369 368 370 371 374 372 376 373 377 378 375 379 380 382 381 384 385 386 383 389 387 390 388 394 391 392 396 397 393 395 399 398 401 403 400 406 402 405 404 407 410 408 411 413 414 412 409 415 418 417 416 420 419 421 422 425 423 426 424 428 431 429 427 432 430 434 433 435 436 439 437 442 440 438 441 443 445 446 448 444 447 450 451 453 449 454 452 455 457 456 458 460 459 463 462 465 461 464 466 469 468 467 472 471 470 473 475 474 477 476 479 478 483 480 485 481 484 482 487 486 490 488 489 492 494 493 491 497 496 495 500 499 498 501 504 502 506 503 505 508 511 507 510 509 514 513 517 512 515 520 516 518 522 519 521 523 524 525 526 528 527 529 530 531 533 532 535 534 537 536 540 539 538 542 541 543 547 546 544 545 548 549 553 551 550 555 554 557 552 558 556 560 559 562 564 563 561 565 568 566 571 569 567 570 573 572 576 575 574 577 579 583 582 578 581 585 580 586 584 588 590 587 589 593 591 592 594 597 595 598 596 600 599 602 601 604 606 603 605 607 609 611 608 610 614 613 615 612 618 620 616 619 617 622 621 628 623 625 629 624 627 626 630 632 631 633 635 634 637 638 636 640 639 643 642 645 644 641 647 649 648 646 651 650 653 654 652 656 655 659 657 658 661 660 664 662 669 663 665 667 666 668 670 672 673 671 675 674 680 676 683 677 679 681 678 684 682 687 685 689 686 690 688 694 691 692 693 696 695 697 698 702 699 701 700 705 703 707 704 706 710 708 709 712 711 714 713 715 718 716 719 717 720 721 723 727 722 725 730 726 724 731 728 729 734 733 736 732 735 737 740 738 739 742 743 741 745 744 748 746 747 752 751 750 754 749 756 753 755 759 758 761 757 764 762 760 768 763 766 765 767 771 772 770 774 769 773 776 777 780 775 778 779 781 783 785 782 784 788 786 787 791 789 790 793 796 792 794 795 799 797 801 800 798 803 802 807 804 805 806 810 809 808 811 812 813 816 814 815 818 817 819 820 822 821 824 825 823 827 826 829 830 828 832 831 834 839 833 835 837 840 843 836 838 841 842 845 848 844 846 847 851 852 850 849 853 856 855 854 858 857 860 859 861 863 864 862 867 865 866 869 868 871 870 872 874 873 876 878 875 879 877 880 884 886 883 881 882 888 885 887 890 889 891 892 894 896 895 893 900 899 898 902 897 903 906 901 904 909 908 905 910 907 914 911 912 916 913 915 920 917 922 919 918 924 921 923 925 928 927 926 930 929 931 934 932 936 933 935 937 940 938 939 944 941 945 942 947 943 946 948 950 951 949 955 953 952 957 954 956 959 960 958 962 963 961 965 964 967 966 969 972 968 970 973 971 974 976 975 977 978 980 979 983 982 981 984 985 987 991 988 990 986 993 989 995 992 996 994`) -// const testCase3e = -// stringfy(`2 1 3 7 4 9 5 8 6 11 12 10 15 14 13 16 17 18 21 20 22 19 23 24 25 27 26 32 28 31 33 30 29 36 35 37 34 38 41 40 42 39 44 43 45 48 50 46 47 49 52 51 54 53 57 58 55 59 60 56 62 61 64 68 63 69 65 66 70 72 71 67 74 76 73 75 77 80 79 81 78 84 82 88 83 85 87 89 86 90 91 92 95 94 93 100 96 99 98 103 97 101 104 102 106 105 107 109 110 108 113 111 112 115 119 114 116 117 121 118 123 120 122 125 124 127 126 128 130 129 132 133 131 134 136 138 137 135 139 140 141 142 143 146 144 147 145 149 148 150 151 153 154 152 156 157 155 158 160 159 161 162 165 163 166 164 167 170 169 172 168 171 174 173 175 177 176 178 179 180 184 182 187 181 186 188 183 185 191 190 189 193 197 195 192 194 199 198 201 196 200 204 202 205 203 207 206 210 208 212 213 209 211 214 216 219 215 218 223 217 220 221 222 224 225 226 228 230 227 229 232 231 235 233 234 238 236 237 240 241 239 243 244 242 246 247 249 245 248 250 253 251 254 252 258 255 256 257 260 261 259 262 263 266 265 264 267 269 271 268 270 274 276 272 275 278 273 277 279 281 282 280 286 283 285 284 287 288 291 290 289 293 292 294 296 295 298 301 297 299 302 303 300 306 305 304 308 310 307 311 309 312 313 315 316 314 320 317 319 318 321 324 325 323 322 326 331 327 329 330 328 333 332 338 337 335 334 336 340 339 342 341 343 344 345 348 346 349 350 347 351 354 353 352 356 355 359 357 360 358 365 361 367 363 362 364 366 369 371 368 370 373 372 375 374 376 377 379 378 382 381 383 380 386 384 385 387 388 389 393 394 390 392 396 395 391 398 397 400 399 401 404 402 403 405 409 407 406 408 410 412 414 413 411 415 416 417 420 418 419 421 423 422 426 424 427 425 429 432 430 428 433 431 434 436 435 438 437 441 440 439 445 442 444 446 443 449 447 451 448 454 450 452 455 456 457 453 459 458 462 460 461 463 467 464 465 471 466 470 468 472 469 473 475 476 479 474 477 480 478 482 485 481 483 484 486 487 491 490 489 488 497 493 494 492 496 495 499 498 501 500 503 502 506 504 505 507 508 510 509 511 512 513 516 515 519 514 517 518 520 522 521 523 524 525 528 527 526 529 530 531 532 534 533 535 538 536 541 540 537 539 542 543 545 544 547 548 546 551 552 554 549 550 553 557 555 556 560 558 559 561 565 563 567 562 566 569 564 568 573 571 572 570 576 574 575 578 580 579 577 582 581 583 586 585 584 589 588 587 591 590 592 594 593 597 596 595 599 600 601 598 603 602 606 604 605 608 607 610 609 612 613 611 614 617 616 615 619 620 618 621 623 622 624 628 626 625 633 630 627 631 629 632 636 635 634 641 637 638 640 642 639 646 643 649 644 647 645 648 650 652 654 651 656 653 655 659 657 660 658 665 661 664 662 667 670 663 666 668 675 673 671 674 672 669 678 677 676 679 683 680 681 686 682 685 687 684 689 688 693 691 690 696 692 695 697 694 699 698 700 701 702 704 703 706 705 711 707 710 709 708 713 712 716 719 715 714 718 717 721 720 723 722 725 728 724 726 730 727 729 732 731 733 735 734 736 737 739 740 738 741 744 746 743 745 742 747 749 748 751 750 753 756 754 752 758 757 755 760 765 762 759 763 764 761 766 767 770 768 769 771 772 777 773 778 774 779 775 776 780 783 785 781 784 782 788 786 789 787 791 790 792 795 794 793 797 796 799 798 800 801 803 804 806 802 808 807 805 812 809 811 810 814 816 813 815 818 819 817 823 821 820 825 824 822 827 826 828 829 830 832 831 833 834 837 835 836 839 840 838 842 841 843 847 846 844 845 850 848 849 852 851 855 853 854 857 856 860 858 861 859 862 863 864 866 865 869 867 870 871 872 868 876 873 878 875 874 877 881 879 882 883 884 880 887 886 885 889 888 893 890 891 892 896 894 895 898 899 901 903 897 900 902 905 907 904 906 910 908 911 912 909 914 913 916 915 918 917 920 919 922 923 926 921 929 925 927 924 930 928 931 935 934 936 932 933 937 941 938 939 943 942 945 947 940 946 944 950 948 951 952 953 949 954 955 956 960 957 961 959 958 962 964 965 963 966 967 968 969 971 970 973 972 976 974 975 982 979 977 978 980 981 987 986 984 983 985 989 988 991 990 994 993 992 995 997 996`) -// const testCase3f = -// stringfy(`1 2 4 3 6 7 5 11 8 9 12 13 14 10 16 15 18 17 19 21 22 20 24 23 28 27 25 26 30 31 29 33 32 36 35 34 39 37 40 38 42 43 41 44 46 48 47 45 49 51 50 52 56 55 53 54 59 60 57 58 62 64 63 61 65 66 67 72 68 70 71 69 73 74 76 75 77 79 78 80 82 81 84 83 87 85 89 86 90 91 88 93 92 95 94 96 97 99 101 98 102 103 100 106 104 105 108 107 112 110 109 113 111 114 118 115 117 116 119 121 122 127 120 123 126 124 125 128 131 130 129 133 132 136 137 134 135 139 141 138 143 142 140 145 144 147 148 146 149 153 150 152 154 151 156 155 158 157 161 159 162 160 164 163 165 166 170 167 169 168 172 171 174 173 176 175 177 181 180 178 179 184 182 187 185 183 186 189 188 191 190 193 192 196 195 194 198 200 197 199 201 202 204 203 205 208 206 207 210 209 213 212 218 211 215 214 216 222 217 219 221 220 223 225 224 227 229 226 231 228 230 233 232 235 236 237 238 234 239 241 240 243 242 245 247 244 246 249 252 248 251 253 250 255 254 258 256 259 257 262 260 263 264 261 266 267 268 265 269 271 272 270 274 273 275 276 278 277 280 279 281 282 284 283 286 285 289 287 288 293 291 290 294 292 298 296 300 295 297 301 299 306 303 302 304 308 307 305 311 309 312 310 315 314 316 313 317 319 320 318 323 321 322 326 324 327 329 325 328 330 331 332 334 335 337 336 333 339 338 342 340 341 346 344 343 345 348 349 347 350 352 355 351 354 353 358 356 361 357 359 363 360 362 365 367 364 366 368 369 370 371 374 372 373 376 377 375 378 380 382 379 381 384 386 385 383 388 387 390 392 389 391 394 393 396 395 399 398 397 400 402 401 404 405 406 403 407 409 410 411 413 408 414 412 415 417 416 418 419 421 420 422 425 427 423 424 428 429 426 431 432 430 437 433 434 439 435 436 443 438 440 441 445 442 444 446 447 449 448 451 450 454 452 453 457 455 458 456 460 459 462 461 464 465 466 463 467 471 468 470 469 474 473 472 475 478 477 476 479 481 484 480 482 483 485 489 486 487 488 492 490 493 491 494 497 496 498 495 502 500 499 501 503 505 504 508 506 507 509 512 510 511 514 513 515 516 517 518 519 521 520 523 522 526 524 527 525 529 530 528 531 534 535 533 532 538 537 536 541 540 539 544 543 545 542 546 547 549 548 553 554 550 552 555 551 559 557 556 562 558 560 563 561 565 564 567 566 568 573 571 569 570 575 572 574 577 576 579 583 578 580 582 581 585 588 584 587 591 590 586 589 594 592 593 597 596 595 599 601 600 598 604 606 603 602 607 605 609 608 612 610 611 614 615 616 613 619 618 617 620 621 623 622 624 626 625 628 627 629 632 631 636 630 634 633 635 638 637 641 639 640 642 643 647 648 644 645 646 654 649 650 653 651 652 656 658 655 659 660 657 662 661 665 663 664 667 666 669 671 668 674 670 675 676 672 673 678 677 681 679 682 680 686 687 683 684 689 685 690 688 693 691 694 692 696 695 699 698 697 700 703 702 707 701 708 704 705 706 709 714 711 710 712 717 713 715 716 720 718 721 719 724 725 723 722 728 727 726 730 731 729 735 732 736 734 733 738 740 737 739 744 742 741 745 746 743 747 749 748 753 750 752 751 756 755 754 758 757 761 760 759 764 762 763 767 766 765 768 769 771 772 773 770 775 774 779 776 778 777 781 782 780 784 787 783 786 785 789 788 792 791 790 797 794 793 796 798 795 799 801 802 800 803 805 804 807 806 809 810 808 814 811 812 817 813 816 815 821 819 822 818 820 824 823 826 825 829 827 830 832 828 831 834 833 836 835 837 839 838 841 844 840 842 845 843 849 847 846 850 848 852 853 851 856 854 858 857 855 862 859 863 865 860 861 864 866 867 868 870 869 871 874 872 873 875 876 879 880 878 877 882 884 881 885 883 888 886 890 887 889 893 892 894 895 891 897 900 896 903 898 899 902 907 901 904 906 905 908 910 909 911 913 915 914 917 918 912 916 920 919 921 924 927 923 922 925 926 930 928 929 933 932 931 936 938 935 937 934 941 940 942 939 943 945 944 946 948 949 947 951 954 950 952 953 957 955 956 960 959 963 958 962 964 961 967 966 965 969 968 973 970 975 971 974 978 976 972 979 983 980 977 981 984 982 985 986 988 989 987 991 990 995 993 996 994 992 998 999 997 1000`) -const testCase3g = stringfy( - `2 4 1 3 7 6 9 8 5 11 12 10 15 14 17 13 16 18 21 19 20 22 24 23 25 28 26 30 27 29 31 32 34 33 36 35 39 37 38 40 42 41 44 43 46 48 45 47 51 49 52 50 54 56 55 53 58 59 57 60 63 61 64 62 66 68 65 67 71 69 72 74 70 76 73 75 79 80 77 78 83 84 81 82 87 85 89 86 88 92 90 93 91 95 94 98 96 99 101 100 97 103 102 106 105 104 108 107 109 110 112 114 111 115 113 118 117 116 119 120 121 122 123 126 124 125 129 127 128 130 132 134 131 133 136 135 139 137 141 140 138 143 142 145 144 147 148 146 150 149 153 154 151 152 155 157 156 159 161 158 162 164 160 163 166 165 168 169 167 170 173 171 175 176 172 174 178 180 177 181 179 184 182 186 183 187 185 189 190 188 192 193 195 191 194 197 199 196 201 200 202 198 204 206 207 203 208 210 205 209 213 212 214 211 217 215 219 216 218 222 220 221 225 223 227 226 224 228 230 232 231 229 235 234 233 237 236 238 239 241 242 240 244 243 246 245 248 247 251 250 249 252 254 255 253 258 257 256 259 261 260 263 262 266 264 265 267 269 268 272 270 271 275 274 273 276 279 278 280 277 282 281 283 284 286 285 289 287 288 292 290 291 293 294 295 297 296 298 300 299 302 301 304 303 305 306 307 310 309 308 312 311 314 315 313 318 317 320 319 321 323 316 325 324 322 327 329 326 331 328 332 330 335 333 337 334 336 338 340 341 339 344 345 343 342 346 347 349 348 351 350 353 355 352 357 354 358 356 359 361 360 362 363 364 365 367 369 368 366 372 371 374 370 373 376 375 379 380 378 377 381 383 382 384 385 387 386 389 390 388 391 392 393 396 395 394 399 397 401 398 403 400 405 402 407 404 406 409 411 408 413 410 415 412 417 414 416 419 418 421 422 420 423 425 424 428 427 426 429 432 430 433 434 431 437 436 438 440 435 442 439 441 443 444 445 448 446 447 450 449 451 453 452 456 454 457 459 455 461 458 460 462 464 463 465 468 467 466 471 470 469 473 472 475 474 476 478 477 479 480 481 482 483 486 484 488 485 487 491 489 490 493 492 496 494 498 495 497 500 502 499 501 505 503 504 508 506 507 511 509 510 513 512 515 514 518 516 520 519 517 522 521 524 523 525 526 529 528 530 527 531 533 532 535 536 534 538 537 541 539 542 540 544 543 546 548 547 545 550 549 552 553 551 556 557 554 555 560 558 559 563 564 562 561 567 566 568 565 570 571 569 573 575 576 572 574 579 577 581 580 578 583 582 586 585 584 587 588 591 589 592 590 593 595 594 598 597 596 601 599 600 602 603 606 604 605 607 610 608 609 611 613 615 612 616 617 614 618 619 622 621 620 624 625 627 623 628 626 629 630 632 631 635 634 636 633 638 637 639 640 642 641 645 643 644 647 646 650 648 651 653 649 652 655 657 654 656 658 659 660 662 661 664 665 666 663 667 670 668 669 673 671 675 674 672 678 677 676 679 681 680 682 683 686 684 685 687 689 688 690 693 692 695 691 694 696 697 700 698 699 702 701 704 705 703 707 708 706 710 712 711 709 715 713 716 714 718 720 717 719 722 721 724 723 725 727 729 726 731 728 730 733 732 734 736 738 737 735 740 742 741 739 743 746 745 744 748 749 747 752 751 750 753 754 755 758 756 760 759 761 757 762 764 763 767 768 766 765 771 770 773 772 769 774 775 778 776 777 779 781 780 782 783 784 786 785 788 789 787 791 790 794 792 795 793 796 797 800 798 801 803 799 802 805 806 804 807 810 809 808 812 811 815 814 813 817 819 816 818 822 821 823 824 820 825 828 826 830 827 832 829 831 833 836 837 835 834 838 839 840 843 842 841 844 846 847 845 849 850 848 853 851 854 852 855 858 856 860 857 861 859 863 862 864 866 865 868 867 870 871 869 873 874 872 875 876 878 877 880 881 882 879 884 885 883 886 887 890 889 888 893 892 894 891 895 897 899 896 901 898 900 903 904 902 906 905 908 909 907 911 910 912 914 913 915 916 919 918 921 917 920 922 924 926 923 925 929 928 927 931 932 934 930 933 937 936 939 935 940 938 943 941 944 945 942 946 947 950 949 948 951 952 955 953 954 958 956 957 959 962 961 960 963 964 966 967 968 965 969 971 970 974 973 972 977 976 975 978 981 979 983 980 984 982 985 987 986 990 988 991 989 992 993 995 994 996` -); -// const testCase3h = -// stringfy(`1 4 5 3 2 7 6 8 9 11 10 14 13 12 17 15 18 20 19 16 22 21 23 24 26 27 28 25 30 32 29 31 35 34 33 37 38 36 39 42 41 40 44 46 43 48 45 50 49 47 51 52 53 56 55 54 57 59 61 58 62 60 64 66 63 68 65 69 67 71 70 73 72 74 75 78 77 76 79 82 80 84 83 81 87 85 86 88 91 90 92 89 93 96 95 94 98 97 100 99 101 104 102 103 105 106 109 108 110 107 112 111 114 115 117 113 116 119 118 120 122 121 124 123 127 125 126 129 128 130 133 131 132 135 134 136 137 138 139 140 143 141 145 142 146 148 147 149 144 152 153 150 154 151 155 157 159 156 158 162 161 163 165 160 166 164 169 167 168 171 172 173 175 170 176 174 177 179 178 182 183 180 181 184 186 185 188 187 189 190 192 193 191 195 196 194 198 197 199 202 201 203 200 205 206 204 207 209 210 211 213 212 208 216 214 217 215 218 220 222 221 219 223 226 224 228 227 229 231 225 230 232 233 235 236 234 238 237 239 242 241 240 244 246 245 243 247 250 251 248 252 249 253 255 256 254 258 257 260 261 263 259 262 264 267 265 269 270 266 272 268 274 271 273 276 275 279 277 278 280 281 282 285 283 284 288 287 286 291 290 293 289 292 295 294 298 297 296 299 301 303 302 300 306 305 304 308 307 309 312 311 314 310 315 313 316 319 317 318 320 323 321 322 325 324 328 326 330 327 329 332 331 333 334 336 335 339 337 338 342 341 344 340 343 345 347 349 350 346 351 353 348 352 356 355 354 359 357 360 361 358 363 365 362 366 364 368 367 370 371 369 373 372 374 375 378 377 376 380 381 379 384 383 382 387 385 388 386 391 390 389 393 395 392 396 394 397 398 399 402 401 400 404 403 407 406 405 408 409 410 411 413 412 416 415 414 419 417 421 418 420 423 422 424 427 428 425 430 429 426 432 434 435 433 436 431 439 437 438 441 440 444 442 445 443 447 449 446 451 448 450 452 453 456 454 458 455 459 457 462 460 464 461 463 465 466 468 467 470 469 473 471 475 474 472 477 476 479 478 482 480 481 483 486 484 485 488 489 487 490 493 491 495 492 494 496 499 497 501 500 503 498 502 505 504 508 506 507 511 512 510 509 513 515 514 518 516 520 521 519 523 517 525 524 527 522 529 526 531 530 528 534 532 536 533 535 538 539 537 542 540 543 541 546 544 545 548 549 547 551 550 553 555 552 557 554 556 560 559 561 558 562 563 566 564 565 569 567 570 568 571 574 573 572 577 576 575 578 580 579 583 582 584 581 586 587 585 588 591 590 589 592 593 596 595 594 599 597 601 600 598 604 602 605 603 607 606 610 608 612 613 609 611 614 617 616 615 619 618 622 620 623 621 626 625 627 624 630 628 631 633 632 629 636 634 635 638 637 641 642 640 639 643 646 644 645 649 647 651 648 652 650 653 654 656 655 659 657 658 660 661 664 662 665 663 667 666 670 668 669 671 673 672 674 677 675 676 680 678 682 679 683 681 686 684 685 688 687 691 692 689 690 693 695 697 696 694 699 698 702 703 701 700 706 705 704 708 707 711 709 712 710 714 713 716 715 718 717 719 721 722 720 724 723 725 728 727 726 730 729 732 731 734 736 737 733 735 740 739 738 741 744 742 746 745 748 743 750 749 752 747 751 754 753 757 756 758 755 759 760 762 763 761 766 767 764 765 770 768 772 771 774 769 775 773 778 776 777 781 779 782 784 780 785 787 783 789 786 788 792 791 790 795 793 797 794 796 800 798 799 803 802 805 801 804 806 809 808 807 812 810 814 811 813 815 816 818 817 821 820 819 822 823 824 826 825 827 828 830 832 831 829 835 833 834 837 839 836 838 842 840 841 843 845 844 846 847 848 851 849 850 852 854 855 853 856 857 860 858 861 862 864 859 863 865 868 866 867 871 869 870 873 872 874 875 878 876 877 880 879 881 884 882 883 886 885 887 888 891 892 890 889 894 893 895 897 898 900 896 899 903 901 902 904 905 907 906 910 909 908 912 911 914 913 916 915 919 917 920 918 922 921 924 923 927 926 925 930 928 932 929 933 934 931 935 936 939 940 937 942 941 944 938 943 945 947 948 946 949 951 950 954 953 952 956 955 958 957 960 961 959 964 965 963 962 967 969 966 968 972 971 973 970 976 974 975 977 978 980 982 979 983 981 986 987 985 984 990 989 988 993 994 991 996 992 995 998 997`) -// const testCase3i = -// stringfy(`3 1 5 2 4 8 6 7 11 10 13 9 12 15 17 14 18 16 20 19 22 23 21 26 25 24 29 30 27 32 28 31 34 36 33 37 35 39 38 41 40 42 43 44 47 45 48 46 51 50 49 54 52 56 57 53 55 60 58 59 62 61 64 63 66 67 69 68 65 70 72 73 75 71 77 78 79 74 76 81 80 83 82 86 85 84 88 87 90 89 92 91 93 95 94 98 96 97 101 100 99 104 102 105 103 107 106 109 110 108 113 111 112 115 117 114 119 118 116 121 122 120 125 123 127 124 129 128 126 132 131 130 134 133 137 136 135 138 139 141 140 144 142 146 143 145 147 149 148 152 151 150 154 153 156 155 158 159 157 161 163 162 160 166 165 164 167 168 171 169 170 174 173 172 177 176 179 175 181 178 180 183 182 186 185 184 189 187 188 190 191 193 192 196 194 195 197 198 199 200 203 201 205 202 204 207 206 208 209 212 210 214 213 215 211 216 218 219 221 217 223 222 220 225 226 224 227 229 231 230 228 234 233 232 235 237 236 238 239 242 241 240 244 243 246 248 245 249 247 252 250 251 255 256 254 253 259 260 257 258 261 262 263 264 267 265 266 269 270 268 273 272 271 276 275 278 274 277 280 279 281 282 283 286 284 285 288 287 291 290 289 293 295 292 294 296 298 300 297 301 299 304 303 302 306 305 307 308 311 310 309 314 313 312 316 317 315 320 318 321 319 322 324 326 323 325 327 330 328 331 329 334 333 332 335 338 339 336 341 337 340 344 345 342 343 346 348 349 347 350 353 352 351 355 354 358 356 357 360 359 361 362 363 365 364 368 367 370 366 371 373 369 372 374 375 376 377 379 378 381 383 380 382 385 384 388 386 387 391 392 389 390 395 394 393 398 397 400 399 401 396 402 405 404 407 403 406 410 408 409 411 412 415 414 413 418 417 419 416 421 422 420 425 423 427 426 428 424 429 431 430 433 434 432 435 438 437 436 439 441 443 442 445 446 440 448 449 444 447 450 451 453 452 456 454 455 458 457 460 461 459 462 463 466 465 467 464 470 469 468 471 472 475 476 477 473 474 478 480 479 481 483 482 485 484 487 486 490 488 491 493 489 492 494 495 498 496 497 501 499 503 500 505 504 502 507 508 506 509 511 512 514 510 513 515 516 517 518 521 520 519 524 522 526 525 528 523 530 527 531 529 533 535 532 536 534 537 538 541 540 539 543 542 546 545 548 547 544 550 549 551 554 552 556 553 555 559 560 557 562 561 563 558 566 565 564 568 567 570 569 571 573 572 576 574 578 575 580 577 579 582 581 583 585 587 584 588 586 590 589 593 591 594 592 595 597 596 598 600 599 602 601 605 604 603 607 609 608 610 606 611 612 613 615 617 616 614 620 619 621 618 624 625 622 623 627 629 626 630 631 628 634 633 632 635 638 637 636 641 639 643 640 642 644 645 647 646 649 648 650 651 652 653 655 657 654 656 659 658 660 662 663 661 666 664 667 665 668 669 671 673 670 672 675 674 676 678 677 680 679 683 681 682 685 687 684 688 690 686 692 691 689 695 693 696 697 694 698 700 699 702 701 703 706 704 708 707 705 709 711 710 714 713 712 715 718 716 720 717 719 723 722 721 725 726 724 728 727 730 732 729 731 733 735 737 734 738 736 741 739 740 744 743 746 742 747 749 745 751 752 748 754 753 750 757 755 758 759 760 761 763 762 756 766 765 768 767 770 764 772 769 773 771 775 777 778 776 774 780 782 783 779 781 785 784 788 786 789 787 792 791 790 793 794 797 796 795 800 798 801 799 803 804 802 805 808 806 807 809 810 813 812 811 815 814 818 816 819 817 821 820 823 822 824 826 827 828 830 829 831 825 832 835 833 834 838 839 836 837 842 843 840 841 844 845 847 848 846 850 849 852 854 851 856 853 855 857 858 860 859 863 862 861 865 864 868 867 866 871 872 870 869 874 876 877 873 875 878 881 879 880 883 882 884 885 886 889 887 888 892 891 894 890 893 895 897 896 900 898 899 903 901 902 905 904 908 907 909 906 911 910 912 914 913 916 915 919 918 920 922 917 924 921 923 925 927 929 926 930 928 932 931 934 935 933 937 936 940 939 941 938 943 944 942 946 945 948 947 949 952 951 950 953 956 955 958 954 957 960 959 962 961 965 964 963 966 967 968 969 971 970 973 974 972 976 975 977 979 980 982 978 981 983 985 986 984 987 988 991 989 990 994 992 995 993 998 997 996 1000 999`) -// const testCase3j = -// stringfy(`3 1 5 2 7 6 4 9 12 8 11 10 14 13 16 17 15 18 20 23 19 21 27 22 24 25 30 26 28 29 34 31 32 33 36 35 38 37 39 42 41 40 43 44 45 47 46 49 50 48 51 53 56 52 55 54 59 57 58 60 63 62 61 65 64 68 66 67 72 70 71 69 73 77 74 76 78 79 75 80 83 82 81 84 86 85 89 91 87 88 90 93 92 96 95 94 97 99 98 101 100 102 104 105 103 108 106 107 111 112 109 114 110 115 113 117 120 116 118 122 119 121 126 123 124 129 127 130 125 128 135 131 132 133 136 134 138 137 139 141 140 145 142 143 148 146 144 147 150 151 149 152 155 153 154 157 156 159 161 158 160 163 164 162 166 165 167 168 170 169 171 175 174 173 172 176 178 177 179 180 183 181 182 184 189 186 185 190 187 191 195 188 192 193 196 194 198 201 197 200 199 202 203 204 209 207 206 205 208 211 210 212 214 213 215 216 218 217 220 219 222 221 224 223 225 226 230 228 227 231 229 234 233 232 238 235 239 236 241 237 242 240 244 245 243 247 246 249 248 251 250 252 253 254 255 259 256 258 257 261 263 260 262 264 267 266 265 269 268 272 270 273 271 275 276 274 279 277 278 281 283 280 282 288 284 285 287 286 292 290 289 291 293 295 294 296 299 298 297 302 303 300 301 305 307 306 310 304 308 309 313 311 314 312 315 318 317 320 316 319 323 322 326 321 324 325 329 328 327 331 330 333 335 332 336 339 334 338 337 341 340 345 343 342 346 344 348 347 349 350 351 354 353 355 352 357 356 359 362 361 358 366 360 364 365 363 369 368 367 370 371 372 373 374 375 378 377 379 376 380 382 383 381 384 386 385 391 388 387 390 389 392 395 397 396 394 393 398 399 402 401 400 405 404 406 403 407 410 409 408 412 414 411 413 415 418 417 416 419 420 422 421 423 425 424 426 427 428 430 429 434 431 435 432 433 437 436 439 438 441 440 444 442 443 445 449 447 446 448 453 451 452 450 457 455 456 454 461 459 464 460 462 463 458 468 465 466 469 471 470 474 467 472 473 477 475 476 480 483 479 478 482 481 487 486 484 485 489 488 491 490 493 492 496 494 495 498 499 500 497 503 501 504 502 506 507 505 509 508 510 512 513 511 514 516 520 515 519 517 523 522 521 518 525 524 526 527 530 529 528 532 531 533 538 534 535 536 540 537 539 542 541 543 545 544 547 550 548 546 553 551 552 549 554 556 555 557 559 558 562 560 563 561 566 564 565 568 569 567 570 572 574 573 571 576 575 578 577 580 579 584 581 582 583 585 587 589 586 592 591 590 588 594 593 598 595 596 602 597 599 601 603 600 605 604 606 608 607 609 610 613 611 612 614 615 617 619 616 620 618 621 623 622 625 626 628 624 629 633 627 630 635 632 631 634 637 636 641 640 642 638 644 639 646 645 643 651 648 650 647 649 653 654 657 656 655 652 660 659 658 662 661 665 663 666 664 667 669 671 668 670 672 676 673 675 674 678 677 680 683 681 679 684 682 685 686 687 688 690 689 693 691 696 692 695 694 700 697 698 702 701 699 704 703 705 707 706 708 709 711 712 710 714 713 716 715 718 717 720 719 725 722 721 724 723 727 731 726 728 730 729 733 736 734 735 732 738 739 737 741 742 740 743 745 744 749 747 748 746 751 750 753 752 754 756 755 760 758 762 757 761 764 763 759 765 768 766 770 769 767 773 772 774 776 777 771 775 780 778 781 779 783 782 784 790 785 787 789 786 792 788 791 794 796 795 793 797 801 800 799 802 798 804 808 805 803 807 806 809 812 810 811 813 815 814 817 818 820 816 819 823 822 825 821 827 826 824 829 832 828 830 831 835 833 836 834 838 837 839 843 840 841 846 845 842 847 844 849 851 848 854 850 853 855 852 858 856 859 857 860 861 866 862 864 863 865 868 873 867 869 871 870 876 874 872 875 878 877 879 883 880 881 885 882 886 884 887 888 889 892 890 891 893 894 895 897 896 900 902 901 899 898 904 906 905 903 908 911 910 907 909 913 912 916 917 915 914 920 918 919 922 921 923 925 924 926 928 930 927 929 931 932 933 938 939 934 935 936 940 937 942 943 941 945 944 946 949 950 948 947 954 953 951 955 958 952 960 956 957 961 959 964 962 967 963 965 966 968 970 969 972 971 975 974 977 976 973 980 978 979 982 981 983 985 984 991 986 988 987 992 989 993 996 994 990 997 995`) - -// console.log(minimumBribes(testCase3a), `709`); -// console.log(minimumBribes(testCase3b), `Too chaotic`); -// console.log(minimumBribes(testCase3c), `704`); -// console.log(minimumBribes(testCase3d), `Too chaotic`); -// console.log(minimumBribes(testCase3e), `Too chaotic`); -// console.log(minimumBribes(testCase3f), `Too chaotic`); -console.log(minimumBribes(testCase3g), `691`); -// console.log(minimumBribes(testCase3h), `731`); -// console.log(minimumBribes(testCase3i), `733`); -// console.log(minimumBribes(testCase3j), `Too chaotic`); - -// const testCase4a = stringfy( -// `2 1 4 5 3 8 7 10 6 12 11 9 15 13 16 18 14 19 21 17 23 22 20 26 24 27 25 29 28 31 30 34 32 36 35 38 33 40 39 37 43 42 41 46 44 48 47 50 45 51 52 49 55 54 53 58 57 59 56 62 60 64 63 61 67 68 66 65 69 72 70 74 73 71 75 78 79 76 81 80 77 84 83 86 82 88 87 85 91 89 92 94 93 90 97 96 95 99 101 98 100 103 102 106 105 107 104 110 109 108 113 112 115 114 117 111 119 116 121 120 123 122 125 126 118 124 129 130 127 128 133 132 131 136 134 135 137 140 139 141 138 144 143 145 142 148 147 146 151 150 149 153 152 156 154 158 159 157 155 162 160 164 163 161 167 166 169 165 171 168 173 172 170 176 175 178 177 174 179 180 183 184 182 181 187 186 189 185 191 192 190 188 194 193 197 195 196 198 201 199 203 202 200 206 205 204 208 210 207 209 212 211 215 213 216 214 219 218 220 217 223 222 221 224 225 228 226 230 231 229 227 234 233 232 237 236 235 240 239 241 238 244 243 242 247 246 245 250 251 249 248 254 253 252 257 256 255 260 259 258 263 262 261 264 267 266 269 270 268 265 273 274 271 276 275 272 277 280 279 278 282 284 281 286 285 283 287 290 291 288 289 293 292 296 294 297 299 300 295 298 303 302 301 305 307 304 309 308 306 312 310 314 313 311 317 315 319 320 316 322 323 321 318 325 324 328 327 326 331 332 330 334 329 333 335 336 339 337 338 342 341 344 340 343 347 345 349 348 346 352 351 353 350 356 354 355 357 358 361 359 362 364 363 360 365 367 366 368 370 369 373 371 375 372 374 378 377 380 379 382 376 384 385 381 383 388 387 386 390 389 393 392 391 396 395 398 394 397 401 399 403 402 405 404 400 408 406 410 411 407 413 409 415 414 412 417 419 416 418 420 421 424 423 422 425 427 429 430 426 432 431 428 435 436 434 433 438 439 437 441 440 444 445 443 447 442 446 450 448 452 451 449 453 456 454 457 455 460 459 458 463 462 461 466 465 468 464 470 469 472 471 467 475 474 473 478 479 477 480 482 476 481 485 486 483 488 484 487 491 490 489 494 493 492 497 496 498 495 501 502 499 500 504 503 506 505 507 510 511 509 508 513 512 516 517 515 518 514 521 519 523 520 522 526 525 528 524 530 531 529 527 534 533 536 532 537 535 540 539 538 542 544 541 545 543 547 546 550 548 552 551 553 549 556 554 558 559 555 561 557 563 562 560 566 564 568 565 569 570 572 567 573 571 575 576 574 577 580 581 578 579 584 585 586 582 587 583 589 588 592 591 594 590 593 597 595 599 596 598 602 601 600 605 603 604 608 607 606 611 612 609 614 615 610 616 613 619 618 617 622 620 624 625 621 627 623 626 630 629 628 633 631 635 636 634 638 632 639 637 640 642 644 643 641 647 645 649 648 646 652 653 650 651 656 655 654 658 657 661 660 659 664 663 662 665 668 669 667 671 666 673 670 675 674 677 678 676 672 681 679 683 680 685 684 682 687 686 690 691 689 693 688 692 695 694 698 697 696 700 702 701 699 704 706 703 707 705 710 709 711 708 714 712 716 715 713 719 717 720 718 722 724 723 721 727 726 725 729 731 728 730 734 733 732 736 735 739 738 741 737 740 744 745 743 747 742 749 748 750 746 753 751 755 752 757 754 759 756 758 761 762 760 765 763 764 766 768 769 770 767 773 771 772 776 775 778 777 774 781 780 782 779 785 783 787 784 789 786 791 790 792 788 795 796 794 793 799 798 797 802 801 804 800 806 803 808 809 807 805 811 813 812 815 810 817 814 816 818 821 819 823 822 825 824 820 828 826 830 829 827 832 834 831 836 837 835 833 838 841 839 840 844 842 846 845 843 847 850 848 849 853 851 855 856 854 852 859 858 860 857 862 861 864 865 863 868 867 866 871 869 873 870 872 876 877 874 879 880 881 882 875 883 885 878 884 887 886 890 888 892 889 894 893 896 897 891 895 900 898 902 901 904 899 903 906 908 905 907 911 910 913 912 909 914 915 916 919 917 920 918 922 921 923 926 925 924 927 928 930 929 933 932 935 931 936 934 939 938 937 942 941 940 945 944 943 948 947 946 951 952 950 949 955 954 956 953 957 960 959 961 958 962 963 966 964 967 965 969 968 972 970 973 971 975 977 978 974 976 981 979 980 984 982 986 983 988 989 985 991 987 993 992 990 996 994 995` -// ); -// const testCase4b = stringfy( -// `1 4 2 6 3 7 5 8 11 10 13 14 9 16 12 18 17 15 21 20 19 24 23 26 22 25 29 28 27 32 31 30 35 36 34 38 37 33 41 40 39 44 43 42 46 45 49 50 48 52 47 54 53 51 57 58 59 56 55 62 61 60 63 65 67 66 64 70 69 72 71 73 68 76 75 78 77 74 81 82 80 79 85 84 83 87 89 86 91 90 88 94 95 93 92 98 97 96 100 102 99 101 104 103 105 107 106 110 109 111 108 114 113 112 115 118 117 116 120 122 119 121 124 123 127 126 125 129 128 130 131 134 132 133 137 136 139 138 135 140 143 144 142 141 147 146 149 145 148 151 152 154 155 150 153 157 159 160 156 158 163 164 161 162 167 166 165 170 169 168 173 171 172 175 177 178 174 176 181 180 179 184 182 186 185 188 183 190 187 191 189 194 192 193 195 198 199 197 196 201 200 204 202 206 205 203 209 207 210 208 212 214 213 215 211 218 217 220 219 221 216 224 222 223 227 226 225 229 231 228 232 230 233 236 234 237 239 235 238 240 242 243 241 246 244 248 247 245 251 249 253 254 252 250 257 256 259 260 255 262 258 261 265 264 263 268 267 270 266 269 273 272 275 271 276 274 277 280 279 278 282 281 285 283 287 286 284 290 289 291 288 293 295 294 292 297 296 300 299 302 298 304 303 301 307 306 308 305 311 309 313 312 315 314 310 318 319 317 316 321 320 324 323 322 326 325 329 330 327 328 333 331 335 332 334 338 337 340 336 342 339 344 343 345 341 348 347 346 350 352 349 351 355 354 356 353 358 357 361 360 359 364 363 365 362 368 367 370 366 372 369 374 373 371 377 376 379 378 375 380 382 383 381 385 384 387 389 386 391 390 388 393 392 394 396 395 399 398 401 397 400 404 402 403 407 405 406 408 411 409 413 412 410 415 416 414 419 418 417 422 421 420 425 423 427 424 428 426 430 429 433 434 431 432 437 436 438 440 439 435 441 443 442 446 445 448 444 449 447 452 450 451 455 454 456 453 459 457 458 462 461 460 465 464 463 468 467 466 471 470 473 472 475 469 474 476 479 477 478 482 481 483 480 484 486 485 489 487 488 491 490 494 493 492 497 496 499 495 498 502 501 500 504 503 507 506 505 510 511 512 508 509 515 513 514 518 516 519 517 522 520 524 523 526 521 528 529 525 527 530 533 531 532 535 537 536 538 534 541 542 539 544 540 543 547 545 549 546 550 552 551 548 555 554 553 557 556 560 559 562 563 561 558 566 567 564 568 565 570 569 572 571 575 573 577 574 579 580 576 578 581 583 582 584 587 588 585 586 591 589 593 590 594 596 597 592 598 595 601 599 603 604 600 602 606 605 609 608 607 612 613 611 610 615 616 617 614 620 619 618 623 621 625 622 626 624 629 628 627 632 631 633 630 636 637 635 634 640 639 642 643 638 645 641 644 647 646 649 648 651 650 653 655 652 656 658 659 654 657 662 661 660 665 664 667 663 669 668 666 671 670 673 674 672 676 675 679 680 678 677 682 683 684 686 681 685 689 690 687 691 693 688 692 695 694 698 699 700 696 702 697 703 701 705 704 708 709 710 706 711 707 714 715 712 713 717 719 720 716 718 721 723 722 726 725 724 729 727 731 728 730 734 733 736 735 737 732 740 739 741 738 744 743 746 742 747 749 745 750 748 752 753 751 756 754 758 759 755 760 757 762 764 761 765 763 768 767 769 766 772 771 770 773 776 775 774 779 778 777 782 780 784 783 781 786 785 789 788 787 792 791 790 795 794 797 793 799 798 800 796 802 801 805 803 806 804 809 807 808 812 813 811 815 810 816 814 819 820 817 818 823 822 821 824 827 826 825 830 829 832 833 828 831 835 836 838 837 840 839 834 842 841 843 846 844 847 845 850 848 852 851 849 855 853 856 854 857 860 858 859 863 861 865 864 862 868 867 869 866 870 873 871 872 876 877 874 879 878 881 880 875 884 883 885 882 886 889 888 891 892 893 887 895 894 897 890 899 900 896 902 903 898 901 905 907 904 909 908 910 912 906 914 913 911 915 917 919 916 920 918 922 924 921 926 925 928 923 930 931 932 927 929 935 934 933 937 939 940 938 936 942 941 945 943 946 944 949 948 947 952 951 954 950 953 956 958 955 957 960 961 959 964 963 962 967 966 965 970 969 968 972 974 971 976 973 977 975 978 981 980 979 984 983 986 982 988 987 985 990 989 993 994 992 991 997 996 998 995` -// ); -// const testCase4c = stringfy( -// `1 4 2 6 5 3 9 8 7 12 13 11 10 16 15 14 19 18 17 22 21 20 25 24 26 23 29 27 31 30 33 28 35 34 37 36 39 32 38 41 40 44 42 46 43 48 47 49 45 52 50 54 55 51 56 53 58 60 57 59 63 64 65 62 61 68 67 69 66 72 73 70 75 71 77 76 74 80 81 82 79 78 85 86 84 83 89 90 87 88 92 91 93 96 94 95 99 98 97 102 101 100 105 103 104 108 106 110 107 112 109 114 113 111 117 116 115 120 119 118 123 124 121 125 122 127 126 129 131 132 133 128 134 130 136 135 139 137 141 142 140 144 138 146 143 148 145 150 147 151 152 149 155 154 153 158 157 159 161 156 163 160 162 166 167 165 164 170 168 169 173 172 174 171 177 176 175 179 180 182 181 183 184 178 185 188 187 190 186 189 192 191 195 194 193 198 197 200 199 196 203 204 202 201 206 208 205 207 210 209 213 212 211 216 215 217 214 220 219 218 222 221 225 226 224 228 223 229 231 227 230 234 235 232 233 236 237 240 238 242 239 244 243 241 247 248 246 245 251 252 249 250 255 254 256 258 253 260 257 262 261 259 265 263 267 266 264 268 271 270 269 273 272 275 277 274 276 280 278 282 283 279 285 281 284 287 286 289 290 288 293 291 292 296 294 298 295 299 300 297 303 302 301 305 307 304 306 310 311 309 312 308 314 313 317 318 316 315 319 322 321 320 325 326 327 324 329 323 331 330 328 334 333 336 335 332 339 337 340 338 343 342 341 346 347 344 349 348 351 345 353 350 355 354 352 358 357 359 356 360 362 361 363 365 367 366 364 369 371 372 370 368 373 376 374 378 375 379 377 382 381 384 383 380 386 385 387 390 388 392 393 394 389 391 397 395 399 396 401 398 403 400 402 405 404 407 409 408 406 412 413 411 410 415 414 417 416 420 419 418 423 421 425 422 427 424 429 426 428 432 433 430 431 435 437 434 436 440 439 442 438 444 443 441 447 448 445 446 450 449 451 453 454 452 457 456 455 459 461 460 458 462 464 466 463 468 467 465 471 470 469 474 473 472 475 477 479 480 478 476 482 484 481 486 483 485 488 487 491 489 493 490 495 494 492 498 497 496 501 499 503 504 500 502 507 505 506 509 511 510 508 513 512 515 517 514 519 518 521 520 523 516 522 525 524 528 527 526 531 530 529 534 533 536 537 532 535 540 538 541 543 539 545 544 546 542 548 547 551 552 550 549 555 554 553 556 557 560 558 562 559 564 563 561 565 568 569 567 566 570 573 574 571 576 572 578 577 580 579 575 581 584 585 583 582 588 587 589 586 592 590 591 593 595 594 598 597 596 600 602 599 604 601 603 607 606 609 608 605 612 611 614 613 610 617 616 619 618 615 622 620 624 621 623 626 625 629 630 628 627 633 631 635 634 637 632 638 636 641 639 642 640 643 646 647 645 644 649 648 650 653 651 655 656 657 652 659 654 658 661 663 660 664 662 665 668 667 666 671 670 672 669 675 674 677 673 676 680 681 679 678 684 682 685 683 687 686 689 688 691 693 690 692 696 695 698 697 694 699 700 703 702 704 701 707 705 709 710 706 712 713 708 711 714 716 717 715 720 719 722 721 724 718 726 723 728 725 730 731 727 733 734 729 736 735 732 738 737 741 740 739 744 742 746 745 748 743 749 747 752 753 751 750 756 755 754 759 758 760 757 763 761 762 765 764 768 767 766 771 769 773 770 774 776 775 772 779 777 781 780 778 784 783 782 786 785 789 788 787 792 791 794 790 793 797 795 799 798 796 802 801 800 805 803 806 807 804 810 809 812 811 813 808 816 817 815 819 818 820 814 823 824 825 821 822 828 827 826 830 829 833 832 831 836 837 835 834 839 841 840 842 838 845 844 843 848 847 846 851 852 849 850 853 855 854 858 856 860 861 857 859 864 863 865 862 868 867 866 871 870 873 869 872 876 874 877 879 878 875 882 883 880 885 886 881 888 887 890 884 889 893 891 895 894 892 897 899 900 898 896 902 904 903 901 907 906 905 908 909 910 911 914 913 915 917 912 916 920 921 918 919 923 924 922 927 926 925 930 929 932 928 934 931 936 935 933 939 937 941 940 938 944 945 942 946 943 947 950 949 948 953 952 951 955 954 957 959 956 958 960 962 964 961 963 967 966 965 968 971 970 969 974 973 972 976 978 975 980 979 982 977 981 985 983 986 984 989 988 987 992 990 994 993 991 995 997 996 1000 998 999` -// ); -// const testCase4d = stringfy( -// `3 1 2 6 4 5 8 7 11 9 13 12 10 16 17 14 19 15 18 21 20 24 23 22 27 26 29 25 28 31 32 33 30 36 35 34 39 38 37 42 40 43 44 41 46 45 49 47 51 50 53 48 55 52 54 58 57 59 56 62 60 64 65 63 61 66 69 70 67 72 71 68 74 73 77 78 75 80 76 79 83 84 82 81 87 86 89 85 90 88 91 92 94 93 96 95 99 100 98 97 103 102 105 104 106 101 109 110 107 111 108 114 113 112 117 115 118 120 116 119 123 122 124 126 121 125 127 130 128 132 131 129 135 133 134 138 136 139 140 137 143 141 145 146 142 148 144 150 149 147 151 154 153 152 157 155 156 158 160 159 163 162 161 165 164 168 167 166 171 169 173 170 175 172 176 174 179 180 178 177 183 182 185 181 184 188 189 187 186 191 190 194 195 193 197 192 199 198 196 202 203 200 201 206 204 205 209 207 211 208 212 210 215 216 214 218 213 220 217 219 222 221 225 224 227 226 223 230 229 232 231 228 234 233 237 235 238 236 241 242 240 239 244 243 245 248 247 246 251 250 249 254 252 256 255 253 259 260 257 258 263 264 261 262 267 266 268 265 271 270 273 272 275 274 269 278 279 276 277 281 280 284 282 286 285 287 283 290 291 288 289 292 293 295 297 294 298 296 300 299 301 304 303 306 305 302 307 308 310 309 313 314 312 315 317 311 319 316 318 321 323 320 322 324 326 325 329 328 331 327 332 330 335 334 337 333 339 340 338 342 336 343 345 344 341 348 347 346 351 349 353 352 350 356 355 358 357 354 361 360 359 362 365 363 366 364 367 368 369 371 373 370 372 376 374 378 377 375 380 381 379 384 383 382 387 388 386 385 390 392 389 394 395 391 396 393 398 397 399 402 401 404 403 406 400 405 408 407 411 409 413 412 415 410 417 414 419 418 421 416 422 423 425 420 424 427 429 428 426 431 430 434 433 432 437 436 435 440 439 442 438 441 444 443 447 448 445 446 449 450 453 454 451 452 457 455 458 456 461 462 460 459 465 464 467 466 463 470 468 471 469 474 473 472 477 475 478 476 480 481 483 482 479 486 487 485 484 489 488 492 490 494 495 493 491 498 497 496 500 501 503 499 505 504 507 502 506 508 511 510 513 514 509 515 512 517 518 520 519 522 516 524 521 526 525 527 523 528 530 531 529 534 532 536 533 538 537 535 540 539 543 542 541 546 545 544 549 548 547 552 550 554 551 556 553 558 555 560 561 557 563 562 565 564 559 568 567 566 570 569 573 572 571 575 577 578 574 580 579 581 576 584 583 582 585 586 589 588 587 592 591 594 590 596 595 593 599 598 601 602 597 600 605 604 603 608 607 610 609 606 612 611 615 614 617 613 619 616 621 618 620 624 623 626 625 622 628 627 629 632 631 630 635 633 636 634 638 637 641 642 643 640 639 646 644 645 647 649 651 648 652 650 653 656 655 654 659 657 658 662 661 664 663 666 660 668 665 670 669 667 673 672 671 676 675 674 679 678 680 681 677 684 682 686 685 683 689 688 690 687 693 692 691 695 694 698 699 697 696 701 700 704 702 703 707 706 705 709 708 711 710 713 714 712 717 716 719 720 715 721 718 724 722 726 727 725 723 730 731 729 733 734 728 736 732 737 735 740 739 738 743 741 745 744 746 742 749 747 751 752 748 754 753 750 757 756 755 760 761 758 759 763 762 766 767 765 768 764 771 772 773 769 770 776 777 775 774 778 780 779 783 782 781 786 784 787 785 789 791 790 792 788 795 793 797 798 796 794 801 799 803 802 805 804 800 807 806 809 811 812 810 814 808 815 817 813 819 816 821 818 822 823 820 825 824 827 826 829 828 832 830 834 833 831 837 836 838 835 841 840 839 844 843 846 847 848 845 842 850 852 849 854 851 855 853 857 856 860 859 858 861 864 863 866 862 868 865 870 867 869 873 872 875 874 871 877 876 879 878 882 883 881 880 885 884 887 889 886 891 888 893 890 894 892 897 895 899 896 900 901 898 904 902 906 905 903 909 907 908 911 912 910 915 914 917 913 919 916 921 918 923 924 922 920 926 928 925 930 929 927 933 931 932 935 934 936 938 937 940 942 941 939 943 946 945 947 944 949 951 948 950 954 955 952 957 958 959 956 953 962 960 964 961 963 967 965 966 970 971 969 968 974 972 975 973 977 979 978 976 982 981 984 980 986 983 985 989 990 988 987 993 991 994 996 992 995 997 1000 999 998` -// ); -// const testCase4e = stringfy( -// `2 3 1 4 5 10 6 8 12 11 7 15 9 14 13 19 17 18 16 25 20 24 22 23 21 26 28 29 30 27 31 34 32 35 38 33 37 39 36 42 40 45 41 47 44 51 43 48 46 50 49 53 54 55 52 58 59 63 60 57 67 56 62 61 66 64 71 65 69 72 68 70 75 73 78 81 74 83 77 79 76 82 80 88 86 85 84 89 94 92 90 87 93 91 98 96 95 100 97 99 103 108 102 105 101 104 107 109 106 113 111 115 110 117 112 116 114 119 120 123 118 122 125 121 130 126 129 124 128 133 127 131 136 134 137 138 135 132 144 139 141 142 140 147 143 146 151 148 153 149 145 150 154 152 158 156 157 155 161 159 163 160 168 166 164 162 167 165 172 171 170 169 178 173 177 176 175 181 174 179 183 186 180 182 185 184 187 190 193 188 189 192 194 191 195 198 196 200 197 199 205 203 202 201 206 209 204 207 211 210 214 208 216 215 213 212 219 218 222 217 224 221 220 227 223 226 225 228 232 231 233 229 230 238 236 239 237 234 240 235 245 241 243 250 242 246 244 249 248 254 247 252 251 253 257 258 256 259 262 255 260 261 264 267 263 271 265 269 268 275 266 273 270 274 279 276 272 280 277 278 285 283 281 286 282 284 289 288 292 290 287 295 293 297 291 296 299 300 294 302 298 304 308 301 305 309 310 306 303 313 311 307 317 312 315 316 321 314 318 322 319 323 320 327 326 325 333 324 328 332 330 329 334 338 337 331 336 339 335 342 341 343 340 346 344 345 352 349 351 348 350 347 353 356 354 358 355 357 363 365 359 361 364 367 366 370 368 360 375 362 369 371 374 372 373 377 379 378 376 380 383 384 381 392 386 387 389 388 385 395 382 391 390 394 393 397 398 400 399 396 404 402 401 405 410 403 408 407 406 413 409 414 412 418 417 415 411 422 419 416 425 420 423 431 421 427 426 428 424 432 430 433 435 434 437 429 436 440 439 444 438 446 441 442 448 445 443 450 451 447 454 449 458 453 456 455 459 452 457 463 460 462 466 461 470 464 468 471 465 469 474 467 478 473 477 472 481 475 479 476 484 480 482 485 483 486 488 487 491 496 490 489 493 498 492 494 495 500 499 503 497 502 505 504 501 507 509 510 506 508 515 513 512 511 516 514 518 517 520 519 524 522 521 525 527 523 529 528 532 526 530 531 535 537 533 539 541 534 536 542 544 538 540 543 546 548 549 545 551 547 557 552 553 558 550 556 555 559 554 560 564 561 565 566 563 562 573 568 567 571 570 572 569 577 575 579 574 581 576 578 583 582 580 588 586 585 584 590 587 591 589 593 594 592 597 596 595 600 599 601 598 605 606 604 602 608 603 613 611 607 610 609 616 615 614 612 617 620 619 618 624 622 627 621 626 623 625 629 632 630 631 628 635 636 634 638 633 637 642 641 640 639 645 644 643 648 650 646 649 647 654 652 655 656 651 653 658 661 659 664 657 660 662 670 663 667 666 665 671 668 669 672 675 673 677 674 676 679 678 681 686 683 680 684 682 689 685 691 687 688 690 695 693 692 698 694 697 700 699 703 696 701 705 709 708 702 704 706 707 713 711 712 710 717 716 720 715 714 719 718 722 721 724 726 723 727 725 730 731 733 728 729 735 732 738 737 734 736 739 740 742 741 746 744 743 747 748 745 751 749 752 753 750 757 755 760 756 754 759 758 761 763 762 764 767 768 765 766 771 769 772 773 770 776 775 774 777 783 779 780 778 782 786 781 785 784 790 788 793 787 789 794 792 796 798 795 791 801 800 799 802 797 805 804 807 810 806 803 809 808 814 813 812 811 822 816 815 819 818 817 825 820 828 826 823 821 824 827 830 833 829 832 836 831 834 841 835 838 839 837 845 843 846 844 847 840 849 842 851 850 848 853 852 857 855 859 854 856 858 861 862 860 866 864 868 863 867 865 869 871 870 877 873 872 874 878 875 882 876 880 879 881 886 885 884 888 883 887 891 890 889 893 892 896 895 894 899 898 903 897 900 902 904 901 906 911 908 905 907 910 909 914 912 915 913 918 919 921 916 917 922 920 926 924 923 925 933 927 930 929 928 935 934 932 931 937 936 941 940 942 939 946 938 943 945 944 948 947 949 951 950 953 957 952 960 955 954 958 956 962 961 959 964 963 966 965 970 968 969 967 972 973 975 971 974 978 976 981 980 977 979 985 983 987 982 988 986 984 990 989 993 991 994 992 996 998 997 995` -// ); -// const testCase4f = stringfy( -// `2 1 4 6 9 3 5 8 11 7 13 10 16 12 15 17 19 14 21 20 18 22 23 24 26 25 31 29 27 28 34 32 30 39 35 37 33 36 41 42 38 40 44 45 49 43 47 46 51 52 50 48 57 53 55 54 60 58 63 59 56 62 66 61 67 65 70 64 69 68 75 71 78 74 73 79 72 77 76 85 81 82 86 80 84 91 90 83 89 87 93 88 94 92 98 96 99 100 95 97 107 103 102 105 104 106 101 110 108 114 109 118 112 111 117 115 113 123 121 119 125 120 116 126 122 127 129 134 124 128 132 131 130 138 139 141 135 136 133 137 142 140 143 146 148 145 144 150 147 149 153 154 152 151 159 157 156 155 158 163 161 164 160 162 166 167 168 165 172 170 177 169 174 171 175 173 179 178 182 176 185 180 187 181 183 186 188 189 184 191 190 195 192 196 194 198 193 202 199 204 197 203 206 201 200 205 209 212 207 208 213 211 210 215 216 214 217 222 219 218 223 220 225 221 229 227 228 233 224 226 232 230 235 231 236 234 237 239 238 242 241 240 245 244 247 250 246 243 252 248 255 251 249 254 256 257 253 258 262 260 259 261 265 263 269 267 264 266 273 268 272 276 271 270 275 274 281 278 277 282 280 285 279 284 289 283 287 286 290 292 288 296 293 291 294 300 297 295 298 299 304 302 303 301 308 306 310 307 305 311 313 309 314 319 312 315 317 318 320 316 323 321 328 324 322 327 326 325 331 330 329 336 335 333 339 332 338 337 334 341 342 340 346 343 345 347 344 348 351 349 354 352 350 357 353 355 358 362 356 360 359 364 361 363 367 366 365 370 369 371 368 376 373 378 380 372 375 379 374 377 385 387 382 381 390 383 384 388 394 386 393 391 389 392 396 400 398 395 399 404 397 402 405 401 403 407 410 406 413 408 409 411 417 412 415 414 420 418 416 419 423 421 425 424 422 428 427 426 432 430 429 435 431 434 433 437 440 441 436 439 438 445 442 448 452 444 446 447 443 451 450 449 455 454 453 458 457 456 459 462 466 461 464 460 463 465 468 467 471 473 469 470 476 472 475 474 479 477 484 478 481 486 480 483 490 482 488 487 485 493 492 497 489 491 494 501 498 495 503 499 496 500 506 504 502 508 512 505 509 510 507 518 511 514 516 520 513 519 517 515 521 522 525 528 524 534 526 523 527 530 531 529 532 538 535 533 537 536 542 539 544 541 545 540 543 549 547 546 551 550 552 548 554 557 555 558 556 553 560 562 559 563 561 565 564 566 570 567 568 574 569 572 573 579 571 576 581 578 575 577 582 580 585 583 584 587 589 588 592 586 593 596 590 591 594 599 600 598 601 595 604 597 606 605 603 602 608 610 607 609 614 611 612 613 616 615 619 622 621 617 618 623 620 625 624 627 629 628 626 632 631 630 634 633 637 638 635 639 640 644 636 643 648 646 641 642 645 647 650 653 649 652 651 655 658 657 656 662 654 663 660 659 661 667 665 664 668 670 666 669 673 675 671 677 674 672 676 680 679 681 678 683 685 687 684 682 689 690 686 694 692 688 691 696 693 698 701 695 699 697 707 703 704 700 706 705 702 712 709 708 714 713 710 716 711 719 715 722 721 718 717 725 724 720 723 728 730 726 729 732 727 733 731 736 740 735 734 737 738 741 742 745 739 743 748 747 744 746 749 750 751 753 752 754 757 758 759 755 756 762 761 760 768 765 764 763 767 766 772 771 776 769 773 780 770 774 777 779 775 784 782 778 783 781 787 786 785 789 793 791 790 794 788 797 799 795 792 796 804 802 798 800 803 806 801 808 810 805 809 807 816 813 811 817 812 815 818 819 820 814 825 823 826 824 821 822 827 829 828 835 831 834 832 830 836 833 837 841 839 840 838 846 842 844 849 843 847 845 854 850 851 853 848 855 858 857 856 852 862 861 860 859 865 867 864 863 866 872 868 875 870 871 876 869 874 873 880 879 878 883 877 885 884 888 882 881 887 886 890 889 891 897 893 894 892 898 900 896 895 902 899 901 905 903 904 908 907 910 909 906 911 917 914 912 915 913 919 916 921 920 925 922 928 918 924 923 930 927 926 931 935 933 929 932 938 934 942 937 936 940 945 939 943 944 941 950 948 947 953 946 952 949 956 955 951 961 957 954 958 962 960 965 959 964 966 963 972 971 967 969 968 973 970 975 974 976 978 980 982 977 981 988 983 984 979 985 989 987 993 986 990 991 997 994 995 998 992 996` -// ); -// const testCase4g = stringfy( -// `6 3 1 4 2 7 5 9 8 11 13 10 16 14 12 17 21 19 15 18 22 23 20 26 29 25 27 24 28 30 35 33 31 36 39 32 40 38 34 42 37 46 47 41 45 44 51 43 48 52 50 49 55 53 57 54 63 56 59 58 60 62 67 66 61 65 72 64 71 70 69 68 74 73 75 81 79 76 78 77 84 82 80 85 83 89 87 92 91 86 95 90 88 96 97 93 104 100 94 99 103 98 101 106 105 107 109 111 110 102 113 114 118 108 117 115 112 122 120 116 119 124 121 125 123 129 127 133 126 131 132 128 137 130 134 141 136 144 135 140 138 145 139 146 143 147 142 152 150 148 151 149 159 154 153 156 155 158 157 161 160 163 167 166 162 164 169 165 168 172 170 174 173 175 171 179 178 176 180 177 182 181 187 184 183 186 185 191 189 188 192 190 196 194 193 197 198 202 195 200 199 201 204 203 206 207 205 210 209 208 212 218 211 214 213 217 216 220 215 223 219 225 221 226 228 222 224 227 232 230 229 235 231 233 238 236 234 241 239 237 242 246 240 244 243 245 249 247 250 248 253 251 254 252 256 258 257 255 261 260 263 259 264 262 269 268 267 266 265 271 273 270 275 274 272 277 276 282 278 280 286 279 281 288 284 287 285 290 283 293 291 295 292 289 297 300 298 302 296 294 301 299 306 305 304 308 303 309 310 307 314 313 315 311 312 317 316 319 321 323 322 326 318 324 328 325 320 330 327 332 329 334 331 340 337 335 336 338 333 343 341 339 345 347 342 346 344 350 352 351 349 353 355 348 354 360 356 358 362 363 357 365 359 361 371 366 364 368 367 370 369 373 372 377 375 374 378 380 382 376 381 385 379 388 384 383 389 387 386 392 391 394 390 397 395 393 399 401 398 396 404 400 406 403 402 408 405 411 407 410 415 409 412 417 416 413 419 418 414 421 426 420 422 427 430 423 425 424 431 435 428 438 432 429 434 433 442 436 439 440 441 437 446 445 447 444 443 450 452 448 449 453 455 451 454 460 456 458 457 459 462 465 461 464 463 469 468 466 470 467 474 473 471 476 477 475 478 472 483 482 481 480 487 485 486 479 488 484 493 491 490 494 489 496 492 502 497 498 495 501 500 499 506 505 503 511 504 508 509 507 510 516 513 515 512 514 518 519 522 520 521 525 517 527 528 523 530 526 524 529 533 531 534 537 535 539 536 532 538 540 541 545 544 543 542 551 549 548 546 547 552 550 554 556 553 558 561 557 555 562 560 559 565 564 566 568 567 570 569 575 563 573 571 572 576 579 577 580 574 578 585 582 581 586 584 583 588 587 592 589 595 593 591 590 596 594 599 597 600 598 604 602 607 605 601 608 603 606 611 614 609 610 612 615 613 617 616 619 618 620 625 624 622 621 627 623 628 626 631 630 632 633 636 629 635 637 634 638 642 640 646 639 644 645 647 641 648 643 653 651 656 649 650 655 652 658 654 660 663 659 662 657 665 661 667 670 664 666 668 672 671 673 675 669 674 678 677 676 682 680 685 679 688 681 684 689 683 690 686 687 695 694 691 697 696 693 701 692 698 703 700 702 704 699 705 707 706 708 710 709 712 711 715 713 714 720 718 716 721 717 724 722 723 726 719 728 729 725 731 727 730 733 735 734 732 736 740 737 742 738 741 739 745 743 748 746 750 751 747 744 749 753 754 756 752 757 755 759 758 762 763 760 764 761 770 769 766 765 773 767 771 774 768 778 772 776 777 775 780 783 781 779 785 786 787 784 782 790 788 793 792 791 789 797 795 794 799 796 801 800 798 804 803 802 807 805 813 810 808 806 809 812 816 817 815 811 818 814 821 820 819 825 824 822 829 826 823 828 832 833 830 827 831 836 834 835 843 837 839 840 842 846 841 838 845 844 848 851 847 855 850 849 854 859 852 857 856 853 858 862 865 860 864 863 861 869 867 871 870 868 866 873 874 877 880 875 879 872 876 878 882 881 885 886 883 884 887 890 893 889 892 888 891 896 895 894 899 898 901 897 903 902 907 900 904 909 906 905 911 910 908 912 914 915 918 913 917 916 919 921 920 924 923 922 928 925 929 926 927 931 930 933 935 939 934 932 940 936 938 937 943 942 941 947 944 951 946 949 945 955 948 954 952 953 956 959 950 958 962 960 961 957 965 964 967 963 966 970 968 972 979 969 971 975 973 977 976 974 978 981 980 983 982 985 988 987 986 984 994 992 991 995 993 990 989 997 996` -// ); -// const testCase4h = stringfy( -// `1 5 3 2 8 11 6 4 14 10 7 9 16 12 15 13 22 18 20 17 19 21 26 25 23 24 27 30 29 38 33 32 28 31 35 39 34 40 37 36 42 41 44 43 50 45 51 46 49 52 48 47 55 54 53 57 56 58 61 59 63 60 65 62 67 64 70 68 72 66 74 77 71 69 73 76 78 81 75 80 79 84 83 82 85 87 86 90 89 88 93 91 94 92 100 96 97 98 95 104 99 102 103 101 106 105 111 108 110 112 107 109 115 117 114 121 119 116 118 113 125 124 128 122 129 120 126 123 133 131 127 138 132 130 139 136 137 135 134 141 140 144 142 145 143 147 146 149 150 151 154 148 156 153 158 152 157 163 155 159 160 164 162 161 167 165 168 171 166 169 170 173 172 177 175 174 179 181 176 180 178 183 186 184 185 182 189 187 192 188 193 190 191 197 195 198 194 201 199 200 196 204 203 206 205 202 207 212 209 208 213 211 210 218 217 214 216 215 223 220 219 222 221 227 226 229 224 228 225 233 237 235 231 234 236 230 232 242 238 240 247 239 241 246 244 243 245 249 253 251 248 257 254 250 256 252 258 255 261 260 265 259 262 270 266 269 263 264 271 268 267 276 273 272 279 277 275 278 274 281 282 280 286 284 283 287 291 290 285 289 293 288 292 296 294 299 295 298 297 301 300 303 305 306 302 309 304 307 312 310 308 318 311 313 314 317 322 316 319 324 315 320 328 325 321 327 323 331 329 326 334 332 336 330 337 333 335 339 338 341 340 345 344 346 342 350 343 348 347 355 352 353 358 349 356 354 365 351 363 357 361 359 367 362 360 364 371 368 366 372 369 370 375 378 373 384 376 374 385 381 377 379 387 382 390 386 380 383 389 393 388 394 392 391 397 396 400 399 395 398 401 405 403 406 402 410 409 407 408 413 404 411 417 415 412 416 414 418 419 421 422 420 429 423 427 426 425 424 428 430 431 435 433 436 432 438 434 441 440 437 439 445 443 442 446 448 449 447 444 453 454 451 452 457 455 450 460 461 456 459 462 465 458 466 464 463 470 469 468 473 467 472 471 477 476 474 479 482 475 478 484 481 483 489 486 480 485 487 492 490 494 488 493 499 491 498 496 503 495 500 501 497 502 509 504 507 508 506 505 511 510 515 514 512 513 518 516 517 521 519 524 520 527 522 526 523 525 528 529 530 535 533 531 532 538 537 534 543 539 541 536 545 540 544 547 542 548 546 550 549 554 557 555 553 552 551 559 558 556 561 562 560 565 564 567 563 566 570 568 569 574 572 573 579 571 575 576 581 577 582 580 578 585 587 584 586 583 589 588 594 590 592 591 596 593 599 598 601 597 595 602 600 607 606 604 605 609 603 608 611 613 610 614 612 616 620 615 623 618 621 619 626 617 622 628 631 624 629 627 625 630 633 632 635 636 634 640 637 639 643 638 645 642 641 648 646 649 647 652 644 651 654 650 655 658 656 653 659 660 657 662 663 667 661 665 669 672 666 664 668 675 670 673 671 677 674 679 676 681 678 683 680 684 682 688 686 685 690 687 691 689 693 692 697 694 699 695 701 696 700 703 698 704 702 705 707 709 706 711 712 708 710 713 718 714 715 717 716 722 719 723 721 726 720 730 724 725 729 731 728 734 727 735 736 733 732 738 737 742 740 739 741 743 749 747 744 745 750 746 751 752 748 754 753 760 755 756 759 761 766 758 757 765 762 763 770 764 767 769 771 775 768 773 772 778 774 776 783 780 779 781 784 777 782 786 785 789 790 788 787 794 792 791 798 796 793 800 799 795 804 797 802 801 803 808 806 805 810 807 813 809 815 811 814 812 818 819 823 816 821 824 817 826 820 822 825 830 827 831 829 828 833 832 835 836 838 834 837 842 841 840 846 839 847 844 852 843 849 845 850 848 853 851 858 857 855 854 862 861 856 865 860 863 859 867 866 864 868 872 871 875 869 870 879 873 878 880 874 876 883 877 881 884 882 885 886 889 887 890 892 895 891 888 897 893 894 898 896 900 899 904 901 906 905 903 902 909 908 911 912 907 915 910 914 916 913 919 917 922 925 918 921 920 928 927 923 924 926 930 931 933 936 929 938 934 939 935 937 932 941 940 944 942 947 943 948 946 945 950 954 952 949 959 951 953 956 955 962 960 958 967 961 957 965 964 963 968 969 966 973 974 970 971 976 972 975 978 977 981 980 985 982 988 983 979 987 984 990 989 986 992 994 993 998 991 997 995 1000 999 996` -// ); -const testCase4i = stringfy( - `2 4 3 1 7 8 6 5 11 12 9 10 13 15 14 18 16 20 21 17 19 24 23 22 26 28 25 30 29 27 31 34 33 32 36 35 37 40 41 39 38 44 45 42 46 43 49 50 48 47 53 52 51 54 56 55 59 60 57 58 62 64 61 63 67 66 68 65 69 72 70 74 71 76 73 78 77 75 80 79 83 81 82 85 84 88 89 87 86 91 93 94 90 92 95 97 96 99 101 102 98 100 105 104 107 103 108 106 110 109 113 111 115 112 117 116 114 120 121 119 118 124 123 122 127 126 125 130 131 132 129 128 133 136 135 134 139 137 141 138 143 140 144 146 142 148 145 150 151 147 149 154 152 156 153 155 159 157 158 161 163 164 162 160 167 168 165 166 171 170 173 169 175 172 177 174 176 179 178 182 181 180 185 183 187 184 189 188 191 190 186 194 193 196 195 197 192 200 201 199 198 204 203 202 206 205 208 207 210 212 213 209 215 216 211 218 214 220 217 222 221 219 225 223 224 226 229 228 227 230 233 231 235 232 234 238 236 239 237 242 241 244 240 245 246 243 248 247 250 249 252 254 253 255 251 256 258 257 259 262 261 264 263 260 267 268 266 270 265 271 269 274 275 272 277 276 273 280 279 278 283 284 281 282 287 286 285 290 289 288 293 291 295 292 297 294 299 300 298 302 301 296 305 306 304 308 309 303 310 312 307 314 313 311 315 318 317 316 321 322 319 320 325 326 327 324 329 328 330 323 331 334 332 333 335 338 336 337 341 342 339 344 340 345 343 346 349 348 347 352 353 350 355 354 351 356 359 358 361 357 360 362 363 366 365 364 367 370 368 371 369 373 372 374 377 378 376 380 379 382 383 375 384 381 387 386 389 388 385 392 393 391 394 390 397 396 398 395 401 399 400 403 402 406 405 404 407 410 409 408 413 412 415 416 411 417 414 420 419 418 423 424 422 421 427 425 428 426 430 432 429 434 431 436 437 435 433 440 439 442 438 444 443 441 447 448 446 445 449 450 453 451 454 456 455 452 459 460 457 461 463 458 462 466 464 468 465 467 471 469 472 470 475 474 473 478 477 476 481 479 483 480 482 486 484 488 485 487 490 492 489 494 493 491 495 498 499 496 497 502 500 504 505 503 507 501 509 506 508 512 511 510 514 516 517 513 519 518 515 522 520 524 521 526 525 528 523 530 529 527 533 532 535 531 537 534 536 540 539 542 538 541 544 543 547 546 545 550 549 552 548 551 555 554 553 557 559 556 561 562 558 564 563 565 560 568 569 567 566 572 570 573 571 576 574 578 579 577 575 581 582 580 583 586 584 587 585 589 588 591 590 594 593 592 597 596 595 600 599 598 601 604 603 602 607 606 609 605 611 610 608 613 615 612 614 618 616 620 619 617 623 622 621 625 624 626 629 627 631 628 633 630 635 632 636 634 639 638 637 640 641 643 642 646 645 644 647 650 651 648 649 654 653 652 657 656 655 660 658 659 663 662 661 666 664 665 667 670 668 672 669 674 675 673 677 671 676 678 680 682 679 684 683 681 686 685 687 688 690 691 689 694 693 696 692 695 698 697 701 700 699 704 705 703 702 708 706 707 711 709 713 714 710 712 716 718 715 717 719 722 723 721 720 726 725 724 729 728 727 732 731 734 730 733 736 735 738 740 737 739 741 744 743 742 747 746 745 749 748 752 750 753 751 756 754 758 757 755 761 760 759 764 763 762 766 765 769 768 767 771 773 770 775 772 777 774 776 779 778 782 783 781 780 785 784 788 786 790 787 792 789 793 795 791 796 794 798 797 801 802 800 799 805 806 803 807 809 804 811 808 810 812 815 813 814 818 817 820 819 816 823 822 821 826 825 824 828 827 831 829 830 832 833 834 837 838 835 836 841 840 839 843 842 845 847 846 844 849 848 852 851 854 850 856 853 857 858 855 860 859 863 862 861 864 867 868 865 866 870 869 873 871 874 872 877 878 876 875 881 879 882 880 885 886 884 883 888 890 891 887 889 892 895 896 894 898 893 897 899 900 903 902 901 904 907 905 908 910 909 911 912 913 906 915 917 918 919 914 921 916 923 920 922 924 927 926 929 925 931 928 932 934 930 935 933 938 936 940 939 937 942 943 945 941 944 948 947 946 950 951 949 954 953 952 957 955 959 956 961 958 963 964 960 966 965 962 969 968 967 972 971 970 975 974 973 978 979 977 976 982 981 980 985 984 983 988 987 986 990 992 989 993 991 996 997 995 994 998 999` -); -// const testCase4j = stringfy( -// `3 1 5 2 6 7 4 10 8 9 12 14 11 13 16 18 17 19 21 15 23 22 25 20 24 27 29 30 26 31 28 33 35 34 32 38 37 36 41 40 43 44 39 46 42 45 49 48 47 51 50 52 55 54 57 53 59 56 61 60 62 58 65 66 64 63 69 68 67 72 71 70 74 76 73 78 77 75 81 79 83 80 85 86 84 88 89 82 91 90 93 92 87 96 94 98 97 95 101 100 99 103 105 104 106 102 109 108 107 111 110 114 112 113 116 115 118 117 121 119 123 122 120 124 127 126 125 130 129 128 133 131 135 136 137 132 139 134 141 140 142 138 144 143 145 147 148 150 146 151 149 153 155 152 154 158 156 160 161 159 157 164 165 163 162 168 166 169 171 170 167 172 175 174 177 173 179 180 176 178 181 182 185 184 183 188 189 187 186 192 190 194 195 191 193 198 196 197 200 202 203 199 204 201 207 206 205 209 208 211 210 213 212 216 215 218 214 219 217 222 220 221 223 226 225 224 229 228 227 231 233 230 232 236 237 238 234 235 241 242 240 239 243 246 245 244 249 248 247 252 250 254 255 253 251 258 257 260 256 259 262 261 264 263 267 266 265 270 269 268 273 272 271 275 274 276 279 280 281 278 277 284 282 285 287 288 283 286 290 291 289 292 295 296 294 293 299 297 298 302 300 304 305 301 307 306 309 303 308 312 310 311 315 313 316 317 314 320 318 322 319 321 325 324 323 328 327 326 331 330 329 334 333 332 337 336 339 335 338 342 341 344 340 343 346 348 345 350 349 347 353 351 354 355 352 358 357 356 359 360 361 364 363 365 362 368 366 369 367 370 373 371 375 372 374 378 377 376 381 380 383 379 385 384 382 388 387 390 386 392 389 393 391 396 394 395 399 397 401 400 403 402 398 406 404 408 405 410 407 412 413 411 414 409 417 416 415 418 421 419 423 422 425 420 426 428 424 430 427 432 429 434 433 431 436 435 439 437 441 438 440 444 442 446 447 445 443 450 451 449 452 448 453 455 454 458 457 456 460 459 463 464 462 465 467 461 468 470 469 466 471 474 473 472 475 478 476 480 479 477 482 484 483 485 481 487 486 489 488 490 493 491 495 492 497 496 494 498 500 501 499 504 505 502 507 503 509 508 506 512 511 510 515 514 513 516 519 520 518 517 523 522 521 526 525 527 528 524 531 532 530 529 535 536 534 533 537 539 538 541 540 543 542 546 545 544 549 550 547 552 548 551 554 555 553 558 559 557 556 562 561 560 565 564 563 568 566 570 569 572 573 571 574 567 576 577 575 580 578 581 579 584 585 583 582 586 589 590 591 588 587 594 593 596 592 598 597 595 601 600 603 599 605 604 602 608 607 609 606 611 612 610 615 613 617 614 616 619 618 620 623 622 625 621 627 626 624 630 628 631 629 633 635 636 632 638 634 640 639 637 641 643 644 642 647 646 648 650 649 652 645 654 651 656 655 653 659 658 661 660 657 664 662 665 663 667 669 668 670 666 672 674 675 673 671 678 676 680 679 677 683 682 681 685 684 688 687 686 689 691 690 693 694 692 697 698 695 699 701 696 700 704 702 706 703 708 707 705 711 712 709 710 715 713 717 714 719 716 721 720 718 724 725 723 722 728 727 730 729 731 726 734 733 732 737 735 739 736 740 738 743 742 741 746 747 744 745 750 751 749 748 753 752 756 755 754 759 758 757 762 761 760 765 766 763 764 769 768 767 772 771 770 775 776 774 773 779 777 781 778 783 782 780 786 787 785 789 784 791 788 792 794 790 793 797 796 795 798 800 802 799 804 803 801 807 806 805 810 809 812 808 813 811 816 815 814 817 819 818 821 823 824 820 826 822 828 827 830 829 825 831 833 834 832 836 835 838 840 841 839 837 844 842 846 843 848 845 850 849 847 853 851 855 852 854 857 858 856 861 862 860 859 865 864 867 863 869 866 871 868 873 870 874 872 877 875 876 880 878 879 881 882 885 886 883 884 889 888 887 892 891 894 890 896 893 898 897 895 901 902 903 900 899 906 905 904 909 910 908 912 907 911 915 913 914 918 916 917 920 922 919 924 921 925 927 923 929 928 926 932 931 934 933 930 937 935 939 936 938 941 940 944 942 946 943 948 949 945 947 952 950 951 955 954 957 956 953 960 959 962 958 963 965 964 961 967 968 969 966 971 970 973 974 972 975 976 979 978 981 982 980 984 977 986 983 987 989 988 985 992 993 990 991 996 994 995 998 997` -// ); - -// console.log(minimumBribes(testCase4a), `956`); -// console.log(minimumBribes(testCase4b), `943`); -// console.log(minimumBribes(testCase4c), `961`); -// console.log(minimumBribes(testCase4d), `953`); -// console.log(minimumBribes(testCase4e), `Too chaotic`); -// console.log(minimumBribes(testCase4f), `Too chaotic`); -// console.log(minimumBribes(testCase4g), `Too chaotic`); -// console.log(minimumBribes(testCase4h), `Too chaotic`); -console.log(minimumBribes(testCase4i), `936`); -// console.log(minimumBribes(testCase4j), `961`); - -const testCase5a = stringfy( - `2 1 3 4 6 5 7 10 9 8 11 14 15 12 13 17 16 20 18 19 22 23 21 24 27 26 25 29 28 32 30 34 31 33 35 37 36 39 38 42 43 41 40 44 47 45 46 48 50 51 49 52 55 54 53 56 57 59 60 58 63 61 64 62 65 66 68 67 69 70 73 71 75 76 74 77 72 78 79 81 80 84 82 85 86 88 83 87 89 91 90 92 95 96 93 94 98 99 101 100 97 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991` -); -const testCase5b = stringfy( - `2 3 1 5 7 4 6 9 10 8 12 11 15 13 14 18 19 17 16 21 20 23 24 22 26 25 28 27 31 29 30 32 34 35 36 33 38 37 39 40 42 41 45 44 43 46 48 47 49 52 51 50 54 56 53 57 55 58 60 62 59 63 64 66 61 67 65 68 70 71 69 72 73 74 77 75 76 79 78 82 80 81 83 86 85 84 87 88 89 91 93 92 90 94 97 98 95 99 96 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982` -); -const testCase5c = stringfy( - `2 1 3 5 4 8 6 10 7 9 12 11 13 14 16 15 17 21 19 20 18 23 22 26 25 24 28 27 30 29 34 35 31 32 33 36 37 38 40 42 44 39 41 43 47 45 46 49 48 52 51 50 54 53 56 55 58 57 60 59 64 62 61 65 63 67 66 69 68 71 72 70 74 76 73 77 75 80 79 78 82 81 84 85 87 86 83 90 89 88 93 91 94 92 95 96 97 100 99 101 98 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990` -); -const testCase5d = stringfy( - `2 4 1 3 6 8 9 5 7 11 10 13 12 15 14 16 18 17 19 21 22 20 24 23 26 28 27 29 25 30 33 31 35 32 34 36 37 38 40 41 39 45 46 42 43 48 44 47 50 49 52 51 53 56 57 55 58 54 60 61 59 64 66 62 68 63 65 69 67 71 73 70 74 76 72 75 78 77 81 79 80 84 82 89 85 83 87 86 88 92 90 91 94 93 98 95 97 99 96 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988` -); -const testCase5e = stringfy( - `2 1 3 5 4 7 9 10 6 8 12 11 13 14 16 15 18 17 19 20 21 24 25 26 23 22 28 27 30 31 29 34 33 32 36 35 37 38 40 41 39 44 42 46 45 47 43 48 51 50 49 54 53 52 55 57 56 59 58 62 63 60 64 61 66 68 65 70 67 71 69 72 75 73 77 74 76 78 79 80 81 82 84 83 86 85 88 89 87 91 90 93 94 92 95 96 99 98 97 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000` -); -const testCase5f = stringfy( - `1 4 2 3 7 6 8 5 10 9 12 15 13 11 17 14 18 19 16 22 21 20 26 23 25 24 28 27 29 30 32 33 31 34 37 38 35 39 36 42 41 44 43 45 40 50 46 49 47 48 51 53 52 54 58 56 55 59 62 61 57 60 64 63 67 66 65 69 68 70 72 71 74 73 76 75 78 80 77 79 81 82 83 86 85 84 88 90 87 89 91 93 92 95 94 97 96 100 99 98 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993` -); -const testCase5g = stringfy( - `2 5 1 3 6 7 8 4 11 9 10 13 12 14 15 16 19 17 21 18 20 24 23 22 25 28 27 31 30 26 32 29 33 34 37 35 38 36 40 39 42 41 44 43 48 45 47 46 50 51 49 53 55 57 52 56 54 59 58 60 61 62 63 67 66 64 71 65 68 69 74 70 73 72 77 75 79 78 80 76 81 83 82 85 84 86 89 87 88 92 91 90 94 93 95 96 100 97 98 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992` -); -const testCase5h = stringfy( - `2 1 5 3 6 7 4 10 8 9 13 11 12 14 16 15 17 18 22 20 19 25 21 24 23 26 29 28 27 31 32 30 37 33 34 35 39 38 36 43 40 42 41 44 47 45 46 49 50 48 52 53 54 51 57 55 63 58 56 62 59 60 64 61 67 66 65 68 70 69 71 76 73 74 72 78 75 77 80 81 84 79 83 82 86 85 89 87 91 90 88 92 93 96 95 94 97 98 100 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000` -); -const testCase5i = stringfy( - `1 2 5 3 4 7 6 10 9 8 12 14 13 11 15 17 16 20 22 18 24 19 21 23 27 26 25 30 33 28 31 32 29 36 37 34 38 35 40 39 43 42 41 45 46 44 49 48 47 50 53 52 51 55 54 56 58 57 59 60 62 61 64 63 66 65 68 70 67 69 73 71 74 72 75 79 77 76 78 81 84 80 83 82 86 85 87 89 88 90 91 94 93 92 96 95 97 100 98 101 99 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993` -); -const testCase5j = stringfy( - `3 1 2 8 5 4 7 6 9 12 10 14 11 13 15 16 17 21 19 18 20 23 22 26 24 25 28 27 31 29 32 30 34 35 33 37 40 36 38 39 41 46 43 42 44 45 48 47 50 49 52 53 54 51 56 55 57 61 58 60 59 63 62 65 66 64 69 67 70 68 74 72 71 75 73 78 76 77 81 83 80 79 84 82 86 87 85 88 93 89 91 92 90 98 94 96 95 97 99 101 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985` -); +let nodeList = { + data: 1, -// console.log(minimumBribes(testCase5a), `67`); -console.log(minimumBribes(testCase5b), `66`); -// console.log(minimumBribes(testCase5c), `Too chaotic`); -// console.log(minimumBribes(testCase5d), `Too chaotic`); -// console.log(minimumBribes(testCase5e), `65`); -// console.log(minimumBribes(testCase5f), `Too chaotic`); -// console.log(minimumBribes(testCase5g), `Too chaotic`); -// console.log(minimumBribes(testCase5h), `Too chaotic`); -// console.log(minimumBribes(testCase5i), `Too chaotic`); -// console.log(minimumBribes(testCase5j), `Too chaotic`); + next: { data: -1, next: { data: 1, next: null } }, +}; +console.log(hasCycle(nodeList)); +nodeList = { data: -1, next: null }; +// console.log(hasCycle(nodeList));