diff --git a/README.md b/README.md index b54cae64..2120a835 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,57 @@ Once you've added the client, you can compile [Aqua](https://github.com/fluencel } ``` +## Debug + +JS Client uses the [debug](https://github.com/debug-js/debug) library under the hood for logging. The log namespaces are structured on a per-component basis, following this structure: + +``` +fluence::trace +fluence::debug +fluence::error +``` + +Marine JS logs have a slightly different structure: + +``` +fluence:marine::trace +fluence:marine::debug +fluence:marine::info +fluence:marine::warn +fluence:marine::error +``` + +Each level corresponds to a logging level in Marine JS. + +Star (`*`) character can be used as a wildcard to enable logs for multiple components at once. For example, `DEBUG=fluence:*` will enable logs for all components. To exclude a component, use a minus sign before the component name. For example, `DEBUG=fluence:*,-fluence:particle:*` + +### Index of components: + +- `particle`: everything related to particle processing queue +- `aqua`: infrastructure of aqua compiler support +- `connection`: connection layer +- `marine`: Marine JS logs + +### Enabling logs in Node.js + +enable logs, pass the environment variable `DEBUG` with the corresponding log level. For example: + +```sh +DEBUG=fluence:* node --loader ts-node/esm ./src/index.ts +``` + +### Enabling logs in the browser + +To enable logs, set the `localStorage.debug` variable. For example: + +``` +localStorage.debug = 'fluence:*' +``` + +**NOTE** + +In Chromium-based web browsers (e.g. Brave, Chrome, and Electron), the JavaScript console will—by default—only show messages logged by debug if the "Verbose" log level is enabled. + ## Development To hack on the Fluence JS Client itself, please refer to the [development page](./DEVELOPING.md). @@ -159,3 +210,4 @@ Any interested person is welcome to contribute to the project. Please, make sure ## License All software code is copyright (c) Fluence Labs, Inc. under the [Apache-2.0](./LICENSE) license. + diff --git a/packages/@tests/aqua/_aqua/smoke_test.aqua b/packages/@tests/aqua/_aqua/smoke_test.aqua index f3f7ef04..adfd9843 100644 --- a/packages/@tests/aqua/_aqua/smoke_test.aqua +++ b/packages/@tests/aqua/_aqua/smoke_test.aqua @@ -3,7 +3,53 @@ import "@fluencelabs/registry/resources-api.aqua" service HelloWorld("hello-world"): hello(str: string) -> string -func smokeTest(label: string) -> ?string, *string, string: +func resourceTest(label: string) -> ?string, *string: res, errors <- createResource(label) + <- res, errors + +func helloTest() -> string: hello <- HelloWorld.hello("Fluence user") - <- res, errors, hello \ No newline at end of file + <- hello + +service CalcService: + add(num: f64) -> f64 + clear_state() + divide(num: f64) -> f64 + multiply(num: f64) -> f64 + state() -> f64 + subtract(num: f64) -> f64 + test_logs() + +data ServiceCreationResult: + success: bool + service_id: ?string + error: ?string + +data RemoveResult: + success: bool + error: ?string + +alias ListServiceResult: []string + +service Srv("single_module_srv"): + create(wasm_b64_content: string) -> ServiceCreationResult + remove(service_id: string) -> RemoveResult + list() -> ListServiceResult + + +func demo_calculation(service_id: string) -> f64: + CalcService service_id + CalcService.test_logs() + CalcService.add(10) + CalcService.multiply(5) + CalcService.subtract(8) + CalcService.divide(6) + res <- CalcService.state() + <- res + +func marineTest(wasm64: string) -> f64: + serviceResult <- Srv.create(wasm64) + res <- demo_calculation(serviceResult.service_id!) + <- res + + diff --git a/packages/@tests/aqua/package.json b/packages/@tests/aqua/package.json index d95f271f..1913f8af 100644 --- a/packages/@tests/aqua/package.json +++ b/packages/@tests/aqua/package.json @@ -11,7 +11,7 @@ "type": "module", "scripts": { "build": "tsc", - "compile-aqua": "aqua -i ./_aqua -o ./src/_aqua" + "compile-aqua": "fluence aqua -i ./_aqua -o ./src/_aqua" }, "repository": "https://github.com/fluencelabs/fluence-js", "author": "Fluence Labs", @@ -22,7 +22,9 @@ "base64-js": "1.5.1" }, "devDependencies": { - "@fluencelabs/aqua": "0.9.4", - "@fluencelabs/registry": "0.7.0" + "@fluencelabs/cli": "0.3.9", + "@fluencelabs/registry": "0.8.2", + "@fluencelabs/aqua-lib": "0.6.0", + "@fluencelabs/trust-graph": "3.1.2" } } diff --git a/packages/@tests/aqua/src/_aqua/smoke_test.ts b/packages/@tests/aqua/src/_aqua/smoke_test.ts index f4a25ac8..3a31bbcf 100644 --- a/packages/@tests/aqua/src/_aqua/smoke_test.ts +++ b/packages/@tests/aqua/src/_aqua/smoke_test.ts @@ -5,14 +5,284 @@ * This file is auto-generated. Do not edit manually: changes may be erased. * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.9.4 + * Aqua version: 0.10.2 * */ import type { IFluenceClient as IFluenceClient$$, CallParams as CallParams$$ } from '@fluencelabs/js-client.api'; -import { v5_callFunction as callFunction$$, v5_registerService as registerService$$ } from '@fluencelabs/js-client.api'; +import { + v5_callFunction as callFunction$$, + v5_registerService as registerService$$, +} from '@fluencelabs/js-client.api'; + + // Services +export interface SrvDef { + create: (wasm_b64_content: string, callParams: CallParams$$<'wasm_b64_content'>) => { error: string | null; service_id: string | null; success: boolean; } | Promise<{ error: string | null; service_id: string | null; success: boolean; }>; + list: (callParams: CallParams$$) => string[] | Promise; + remove: (service_id: string, callParams: CallParams$$<'service_id'>) => { error: string | null; success: boolean; } | Promise<{ error: string | null; success: boolean; }>; +} +export function registerSrv(service: SrvDef): void; +export function registerSrv(serviceId: string, service: SrvDef): void; +export function registerSrv(peer: IFluenceClient$$, service: SrvDef): void; +export function registerSrv(peer: IFluenceClient$$, serviceId: string, service: SrvDef): void; + + +export function registerSrv(...args: any) { + registerService$$( + args, + { + "defaultServiceId" : "single_module_srv", + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "create" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "wasm_b64_content" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "ServiceCreationResult", + "fields" : { + "error" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "service_id" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "success" : { + "tag" : "scalar", + "name" : "bool" + } + } + } + ] + } + }, + "list" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } + }, + "remove" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "service_id" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "RemoveResult", + "fields" : { + "error" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "success" : { + "tag" : "scalar", + "name" : "bool" + } + } + } + ] + } + } + } + } +} + ); +} + + + +export interface CalcServiceDef { + add: (num: number, callParams: CallParams$$<'num'>) => number | Promise; + clear_state: (callParams: CallParams$$) => void | Promise; + divide: (num: number, callParams: CallParams$$<'num'>) => number | Promise; + multiply: (num: number, callParams: CallParams$$<'num'>) => number | Promise; + state: (callParams: CallParams$$) => number | Promise; + subtract: (num: number, callParams: CallParams$$<'num'>) => number | Promise; + test_logs: (callParams: CallParams$$) => void | Promise; +} +export function registerCalcService(serviceId: string, service: CalcServiceDef): void; +export function registerCalcService(peer: IFluenceClient$$, serviceId: string, service: CalcServiceDef): void; + + +export function registerCalcService(...args: any) { + registerService$$( + args, + { + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "add" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "f64" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "clear_state" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" + } + }, + "divide" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "f64" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "multiply" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "f64" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "state" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "subtract" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "f64" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "test_logs" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" + } + } + } + } +} + ); +} + + + export interface HelloWorldDef { hello: (str: string, callParams: CallParams$$<'str'>) => string | Promise; } @@ -20,315 +290,561 @@ export function registerHelloWorld(service: HelloWorldDef): void; export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void; export function registerHelloWorld(peer: IFluenceClient$$, service: HelloWorldDef): void; export function registerHelloWorld(peer: IFluenceClient$$, serviceId: string, service: HelloWorldDef): void; + export function registerHelloWorld(...args: any) { - registerService$$(args, { - defaultServiceId: 'hello-world', - functions: { - tag: 'labeledProduct', - fields: { - hello: { - tag: 'arrow', - domain: { - tag: 'labeledProduct', - fields: { - str: { - tag: 'scalar', - name: 'string', - }, - }, - }, - codomain: { - tag: 'unlabeledProduct', - items: [ - { - tag: 'scalar', - name: 'string', - }, - ], - }, + registerService$$( + args, + { + "defaultServiceId" : "hello-world", + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "hello" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "scalar", + "name" : "string" + } + } }, - }, - }, - }); + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } + } + } + } } - + ); +} + // Functions + +export type ResourceTestResult = [string | null, string[]] +export function resourceTest( + label: string, + config?: {ttl?: number} +): Promise; -export type SmokeTestResult = [string | null, string[], string]; -export function smokeTest(label: string, config?: { ttl?: number }): Promise; +export function resourceTest( + peer: IFluenceClient$$, + label: string, + config?: {ttl?: number} +): Promise; -export function smokeTest(peer: IFluenceClient$$, label: string, config?: { ttl?: number }): Promise; +export function resourceTest(...args: any) { -export function smokeTest(...args: any) { let script = ` (xor (seq (seq (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "label") [] label) - ) - (new $resource_id - (new $successful + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (call %init_peer_id% ("getDataSrv" "label") [] label) + ) + (new $resource_id + (new $successful + (seq (seq (seq - (seq - (call %init_peer_id% ("peer" "timestamp_sec") [] t) - (xor + (call %init_peer_id% ("peer" "timestamp_sec") [] t) + (xor + (seq (seq - (seq - (call -relay- ("registry" "get_key_bytes") [label [] t [] ""] bytes) - (xor - (call %init_peer_id% ("sig" "sign") [bytes] result) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) + (call -relay- ("registry" "get_key_bytes") [label [] t [] ""] bytes) (xor - (match result.$.success! false - (ap result.$.error.[0]! $error) - ) + (call %init_peer_id% ("sig" "sign") [bytes] result) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (xor + (match result.$.success! false + (ap result.$.error.[0]! $error) + ) + (seq (seq (seq (seq (seq (seq - (seq - (ap result.$.signature! result_flat) - (call -relay- ("registry" "get_key_id") [label %init_peer_id%] id) - ) - (call -relay- ("op" "string_to_b58") [id] k) + (ap result.$.signature! result_flat) + (call -relay- ("registry" "get_key_id") [label %init_peer_id%] id) ) - (call -relay- ("kad" "neighborhood") [k [] []] nodes) + (call -relay- ("op" "string_to_b58") [id] k) ) - (par - (fold nodes n-0 - (par - (seq + (call -relay- ("kad" "neighborhood") [k [] []] nodes) + ) + (par + (fold nodes n-0 + (par + (seq + (xor (xor - (xor + (seq (seq (seq - (seq - (call n-0 ("peer" "timestamp_sec") [] t-0) - (call n-0 ("trust-graph" "get_weight") [%init_peer_id% t-0] weight) - ) - (call n-0 ("registry" "register_key") [label [] t [] "" result_flat.$.[0]! weight t-0] result-0) - ) - (xor - (match result-0.$.success! true - (ap true $successful) - ) - (ap result-0.$.error! $error) + (call n-0 ("peer" "timestamp_sec") [] t-0) + (call n-0 ("trust-graph" "get_weight") [%init_peer_id% t-0] weight) ) + (call n-0 ("registry" "register_key") [label [] t [] "" result_flat.$.[0]! weight t-0] result-0) + ) + (xor + (match result-0.$.success! true + (ap true $successful) + ) + (ap result-0.$.error! $error) ) - (call n-0 ("op" "noop") []) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) ) + (call n-0 ("op" "noop") []) + ) + (seq + (call -relay- ("op" "noop") []) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) ) - (call -relay- ("op" "noop") []) ) - (next n-0) + (call -relay- ("op" "noop") []) ) - (never) + (next n-0) ) - (null) + (never) ) + (null) ) - (new $status - (new $result-1 + ) + (new $status + (new $result-1 + (seq (seq (seq - (seq - (par - (seq - (seq - (seq - (call -relay- ("math" "sub") [1 1] sub) - (new $successful_test - (seq - (seq - (seq - (call -relay- ("math" "add") [sub 1] successful_incr) - (fold $successful s - (seq - (seq - (ap s $successful_test) - (canon -relay- $successful_test #successful_iter_canon) - ) - (xor - (match #successful_iter_canon.length successful_incr - (null) - ) - (next s) - ) - ) - (never) - ) - ) - (canon -relay- $successful_test #successful_result_canon) - ) - (ap #successful_result_canon successful_gate) - ) - ) - ) - (call -relay- ("math" "sub") [1 1] sub-0) - ) - (ap "ok" $status) - ) - (call -relay- ("peer" "timeout") [6000 "timeout"] $status) - ) - (new $status_test - (seq - (seq - (seq - (call -relay- ("math" "add") [0 1] status_incr) - (fold $status s - (seq - (seq - (ap s $status_test) - (canon -relay- $status_test #status_iter_canon) - ) - (xor - (match #status_iter_canon.length status_incr - (null) - ) - (next s) - ) - ) - (never) - ) - ) - (canon -relay- $status_test #status_result_canon) - ) - (ap #status_result_canon status_gate) - ) - ) - ) - (xor - (match status_gate.$.[0]! "ok" - (ap true $result-1) - ) - (ap false $result-1) - ) - ) - (new $result-1_test - (seq + (par (seq (seq - (call -relay- ("math" "add") [0 1] result-1_incr) - (fold $result-1 s - (seq + (seq + (call -relay- ("math" "sub") [1 1] sub) + (new $successful_test (seq - (ap s $result-1_test) - (canon -relay- $result-1_test #result-1_iter_canon) - ) - (xor - (match #result-1_iter_canon.length result-1_incr - (null) + (seq + (seq + (call -relay- ("math" "add") [sub 1] successful_incr) + (fold $successful successful_fold_var + (seq + (seq + (ap successful_fold_var $successful_test) + (canon -relay- $successful_test #successful_iter_canon) + ) + (xor + (match #successful_iter_canon.length successful_incr + (null) + ) + (next successful_fold_var) + ) + ) + (never) + ) + ) + (canon -relay- $successful_test #successful_result_canon) ) - (next s) + (ap #successful_result_canon successful_gate) ) ) - (never) ) + (call -relay- ("math" "sub") [1 1] sub-0) ) - (canon -relay- $result-1_test #result-1_result_canon) + (ap "ok" $status) ) - (ap #result-1_result_canon result-1_gate) + (call -relay- ("peer" "timeout") [6000 "timeout"] $status) ) + (new $status_test + (seq + (seq + (seq + (call -relay- ("math" "add") [0 1] status_incr) + (fold $status status_fold_var + (seq + (seq + (ap status_fold_var $status_test) + (canon -relay- $status_test #status_iter_canon) + ) + (xor + (match #status_iter_canon.length status_incr + (null) + ) + (next status_fold_var) + ) + ) + (never) + ) + ) + (canon -relay- $status_test #status_result_canon) + ) + (ap #status_result_canon status_gate) + ) + ) + ) + (xor + (match status_gate.$.[0]! "ok" + (ap true $result-1) + ) + (ap false $result-1) + ) + ) + (new $result-1_test + (seq + (seq + (seq + (call -relay- ("math" "add") [0 1] result-1_incr) + (fold $result-1 result-1_fold_var + (seq + (seq + (ap result-1_fold_var $result-1_test) + (canon -relay- $result-1_test #result-1_iter_canon) + ) + (xor + (match #result-1_iter_canon.length result-1_incr + (null) + ) + (next result-1_fold_var) + ) + ) + (never) + ) + ) + (canon -relay- $result-1_test #result-1_result_canon) + ) + (ap #result-1_result_canon result-1_gate) ) ) ) ) ) - (xor - (match result-1_gate.$.[0]! false - (ap "resource wasn't created: timeout exceeded" $error) - ) - (ap id $resource_id) + ) + (xor + (match result-1_gate.$.[0]! false + (ap "resource wasn't created: timeout exceeded" $error) ) + (ap id $resource_id) ) ) ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) ) - (canon %init_peer_id% $resource_id #-resource_id-fix-0) ) - (ap #-resource_id-fix-0 -resource_id-flat-0) + (canon %init_peer_id% $resource_id #-resource_id-fix-0) ) + (ap #-resource_id-fix-0 -resource_id-flat-0) ) ) ) - (call %init_peer_id% ("hello-world" "hello") ["Fluence user"] hello) ) (xor (seq (canon %init_peer_id% $error #error_canon) - (call %init_peer_id% ("callbackSrv" "response") [-resource_id-flat-0 #error_canon hello]) + (call %init_peer_id% ("callbackSrv" "response") [-resource_id-flat-0 #error_canon]) ) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) ) ) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5]) ) - `; + ` return callFunction$$( args, { - functionName: 'smokeTest', - arrow: { - tag: 'arrow', - domain: { - tag: 'labeledProduct', - fields: { - label: { - tag: 'scalar', - name: 'string', - }, - }, - }, - codomain: { - tag: 'unlabeledProduct', - items: [ - { - tag: 'option', - type: { - tag: 'scalar', - name: 'string', - }, - }, - { - tag: 'array', - type: { - tag: 'scalar', - name: 'string', - }, - }, - { - tag: 'scalar', - name: 'string', - }, - ], - }, - }, - names: { - relay: '-relay-', - getDataSrv: 'getDataSrv', - callbackSrv: 'callbackSrv', - responseSrv: 'callbackSrv', - responseFnName: 'response', - errorHandlingSrv: 'errorHandlingSrv', - errorFnName: 'error', - }, + "functionName" : "resourceTest", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "label" : { + "tag" : "scalar", + "name" : "string" + } + } }, - script, - ); + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } + }, + "names" : { + "relay" : "-relay-", + "getDataSrv" : "getDataSrv", + "callbackSrv" : "callbackSrv", + "responseSrv" : "callbackSrv", + "responseFnName" : "response", + "errorHandlingSrv" : "errorHandlingSrv", + "errorFnName" : "error" + } +}, + script + ) } -/* eslint-enable */ + + +export function helloTest( + config?: {ttl?: number} +): Promise; + +export function helloTest( + peer: IFluenceClient$$, + config?: {ttl?: number} +): Promise; + +export function helloTest(...args: any) { + + let script = ` + (xor + (seq + (seq + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (call %init_peer_id% ("hello-world" "hello") ["Fluence user"] hello) + ) + (xor + (call %init_peer_id% ("callbackSrv" "response") [hello]) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) + ) + ` + return callFunction$$( + args, + { + "functionName" : "helloTest", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } + }, + "names" : { + "relay" : "-relay-", + "getDataSrv" : "getDataSrv", + "callbackSrv" : "callbackSrv", + "responseSrv" : "callbackSrv", + "responseFnName" : "response", + "errorHandlingSrv" : "errorHandlingSrv", + "errorFnName" : "error" + } +}, + script + ) +} + + + +export function demo_calculation( + service_id: string, + config?: {ttl?: number} +): Promise; + +export function demo_calculation( + peer: IFluenceClient$$, + service_id: string, + config?: {ttl?: number} +): Promise; + +export function demo_calculation(...args: any) { + + let script = ` + (xor + (seq + (seq + (seq + (seq + (seq + (seq + (seq + (seq + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (call %init_peer_id% ("getDataSrv" "service_id") [] service_id) + ) + (call %init_peer_id% (service_id "test_logs") []) + ) + (call %init_peer_id% (service_id "add") [10]) + ) + (call %init_peer_id% (service_id "multiply") [5]) + ) + (call %init_peer_id% (service_id "subtract") [8]) + ) + (call %init_peer_id% (service_id "divide") [6]) + ) + (call %init_peer_id% (service_id "state") [] res) + ) + (xor + (call %init_peer_id% ("callbackSrv" "response") [res]) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) + ) + ` + return callFunction$$( + args, + { + "functionName" : "demo_calculation", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "service_id" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "names" : { + "relay" : "-relay-", + "getDataSrv" : "getDataSrv", + "callbackSrv" : "callbackSrv", + "responseSrv" : "callbackSrv", + "responseFnName" : "response", + "errorHandlingSrv" : "errorHandlingSrv", + "errorFnName" : "error" + } +}, + script + ) +} + + + +export function marineTest( + wasm64: string, + config?: {ttl?: number} +): Promise; + +export function marineTest( + peer: IFluenceClient$$, + wasm64: string, + config?: {ttl?: number} +): Promise; + +export function marineTest(...args: any) { + + let script = ` + (xor + (seq + (seq + (seq + (seq + (seq + (seq + (seq + (seq + (seq + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (call %init_peer_id% ("getDataSrv" "wasm64") [] wasm64) + ) + (call %init_peer_id% ("single_module_srv" "create") [wasm64] serviceResult) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "test_logs") []) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "add") [10]) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "multiply") [5]) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "subtract") [8]) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "divide") [6]) + ) + (call %init_peer_id% (serviceResult.$.service_id.[0]! "state") [] res) + ) + (xor + (call %init_peer_id% ("callbackSrv" "response") [res]) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) + ) + ` + return callFunction$$( + args, + { + "functionName" : "marineTest", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "wasm64" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "f64" + } + ] + } + }, + "names" : { + "relay" : "-relay-", + "getDataSrv" : "getDataSrv", + "callbackSrv" : "callbackSrv", + "responseSrv" : "callbackSrv", + "responseFnName" : "response", + "errorHandlingSrv" : "errorHandlingSrv", + "errorFnName" : "error" + } +}, + script + ) +} + +/* eslint-enable */ \ No newline at end of file diff --git a/packages/@tests/aqua/src/index.ts b/packages/@tests/aqua/src/index.ts index c795d88b..217bd035 100644 --- a/packages/@tests/aqua/src/index.ts +++ b/packages/@tests/aqua/src/index.ts @@ -1,7 +1,8 @@ import { fromByteArray } from 'base64-js'; import { Fluence } from '@fluencelabs/js-client.api'; import { kras, randomKras } from '@fluencelabs/fluence-network-environment'; -import { registerHelloWorld, smokeTest } from './_aqua/smoke_test.js'; +import { registerHelloWorld, helloTest, marineTest, resourceTest } from './_aqua/smoke_test.js'; +import { wasm } from './wasmb64.js'; // Relay running on local machine // const relay = { @@ -29,7 +30,7 @@ const optsWithRandomKeyPair = () => { } as const; }; -export type TestResult = { res: string | null; errors: string[]; hello: string }; +export type TestResult = { type: 'success'; data: string } | { type: 'failure'; error: string }; export const runTest = async (): Promise => { try { @@ -54,16 +55,32 @@ export const runTest = async (): Promise => { console.log('my peer id: ', client.getPeerId()); console.log('my sk id: ', fromByteArray(client.getPeerSecretKey())); - console.log('running some aqua...'); - const [res, errors, hello] = await smokeTest('my_resource'); - console.log(hello); + console.log('running resource test...'); + const [res, errors] = await resourceTest('my_resource'); if (res === null) { - console.log('aqua failed, errors', errors); + console.log('resource test failed, errors', errors); + return { type: 'failure', error: errors.join(', ') }; } else { - console.log('aqua finished, result', res); + console.log('resource test finished, result', res); } - return { res, errors, hello }; + console.log('running hello test...'); + const hello = await helloTest(); + console.log('hello test finished, result: ', hello); + + // TODO: some wired error shit about SharedArrayBuffer + // console.log('running marine test...'); + // const marine = await marineTest(wasm); + // console.log('marine test finished, result: ', marine); + + const returnVal = { + res, + hello, + // marine, + }; + return { type: 'success', data: JSON.stringify(returnVal) }; + } catch (err: any) { + return { type: 'failure', error: err.toString() }; } finally { console.log('disconnecting from Fluence Network...'); await Fluence.disconnect(); diff --git a/packages/@tests/aqua/src/wasmb64.ts b/packages/@tests/aqua/src/wasmb64.ts new file mode 100644 index 00000000..884eb1ba --- /dev/null +++ b/packages/@tests/aqua/src/wasmb64.ts @@ -0,0 +1 @@ +export const wasm = "AGFzbQEAAAABmIGAgAAWYAAAYAABf2AAAXxgAX8AYAF/AX9gAX8BfmACf38AYAJ/fwF/YAN/f38AYAN/f38Bf2ADf39/AX5gBH9/f38AYAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AGf39/f39/AX9gB39/f39/f38AYAd/f39/f39/AX9gCX9/f39/f35+fgBgBH98f38Bf2ADfn9/AX9gAXwBfALRgYCAAAYEaG9zdA9sb2dfdXRmOF9zdHJpbmcACxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAAwWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQpyYW5kb21fZ2V0AAcWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQtlbnZpcm9uX2dldAAHFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQABxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCXByb2NfZXhpdAADA9iCgIAA1gILBA0HCwgDBgkJBwsHDQcHCRMPCQ0DCwgJEwgIBw0JBwAEBgsKBwcSBwgHCw4QBhAJEQ4GBAcHBwcHBwsUBgQHCQcDBggAAwcHCQMMBgcHCAcHBwgICAYRDgEDDQsVBggIBgYVFRUEAwQDBAYGCwsLBwcHBwcHAAkHBwgEBw0LBAcHBwcDCAYGBggHBwYICAcHBwcHBwcHBwsHAgMLAAcGCQkJCwkLCQQDAwwJDAcDBwgGBgcDAAYABwcHBwcHAQQEAwgNCAsGBwYECAMIBwYGBAMDBwYGBggHBAMHBwcEAAwDAwcABwcHBwYHCwcEBAgHCQcHAwcHBwgJCQcHBwcGBwcHBwcGBgYGBgYGBggICAYGBgYJBxUVFRUDAwEGBgMDAwMAAAACAQEAAwAACAQEBAMABAQEAQEAAAcHBQUFBQQEBAAABQMDAwMDAwYDAwMDAwADAwMEhYCAgAABcAF0dAWDgICAAAEAEQaZgICAAAN/AUGAgMAAC38AQaCBwQALfwBBmIHBAAsH7oGAgAASBm1lbW9yeQIAC19faGVhcF9iYXNlAwEKX19kYXRhX2VuZAMCBl9zdGFydACpAgRtYWluAIMCCXRlc3RfbG9ncwCqAgNhZGQAnAIIc3VidHJhY3QAnQIIbXVsdGlwbHkAngIGZGl2aWRlAJ8CC2Ns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AAAgA0EGaiABQQZqLQAAOgAAIANBB2ogAUEHai0AADoAACADQQhqIQMgAUEIaiEBIARBeGoiBA0ACwsgAAuvCQEHfwJAAkAgAUH/CUsNACABQQV2IQICQAJAAkACQCAAKAIAIgNFDQAgACADQQJ0aiEEIAAgAyACakECdGohBSADQX9qIgNBJ0shBgNAIAYNBCACIANqIgdBKE8NAiAFIAQoAgA2AgAgBUF8aiEFIARBfGohBCADQX9qIgNBf0cNAAsLIAFBIEkNBCAAQQA2AgQgAUHAAE8NAQwECyAHQShB3PHAABCPAQALIABBCGpBADYCACACQQEgAkEBSxsiA0ECRg0CIABBDGpBADYCACADQQNGDQIgAEEQakEANgIAIANBBEYNAiAAQRRqQQA2AgAgA0EFRg0CIABBGGpBADYCACADQQZGDQIgAEEcakEANgIAIANBB0YNAiAAQSBqQQA2AgAgA0EIRg0CIABBJGpBADYCACADQQlGDQIgAEEoakEANgIAIANBCkYNAiAAQSxqQQA2AgAgA0ELRg0CIABBMGpBADYCACADQQxGDQIgAEE0akEANgIAIANBDUYNAiAAQThqQQA2AgAgA0EORg0CIABBPGpBADYCACADQQ9GDQIgAEHAAGpBADYCACADQRBGDQIgAEHEAGpBADYCACADQRFGDQIgAEHIAGpBADYCACADQRJGDQIgAEHMAGpBADYCACADQRNGDQIgAEHQAGpBADYCACADQRRGDQIgAEHUAGpBADYCACADQRVGDQIgAEHYAGpBADYCACADQRZGDQIgAEHcAGpBADYCACADQRdGDQIgAEHgAGpBADYCACADQRhGDQIgAEHkAGpBADYCACADQRlGDQIgAEHoAGpBADYCACADQRpGDQIgAEHsAGpBADYCACADQRtGDQIgAEHwAGpBADYCACADQRxGDQIgAEH0AGpBADYCACADQR1GDQIgAEH4AGpBADYCACADQR5GDQIgAEH8AGpBADYCACADQR9GDQIgAEGAAWpBADYCACADQSBGDQIgAEGEAWpBADYCACADQSFGDQIgAEGIAWpBADYCACADQSJGDQIgAEGMAWpBADYCACADQSNGDQIgAEGQAWpBADYCACADQSRGDQIgAEGUAWpBADYCACADQSVGDQIgAEGYAWpBADYCACADQSZGDQIgAEGc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NgIAIAFBIGpBFGpBAzYCACABQgM3AiQgAUH8g8AANgIgIAFBBDYCPCABIAFBOGo2AjAgASABQRhqNgJIIAEgAUEIajYCQCABIAFBEGo2AjggAUEgakEDQZSEwABBACABEGEgASsDGCECCyABQdAAaiQAIAILvwEBA38jAEEgayICJAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAEDQBBACEDDAELIAIgBDYCFCACIAAoAgA2AhBBASEDCyACIAM2AhggAiABQQEgAkEQahB1AkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAEI4CAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiQADwsQuwEAC78BAQJ/IwBBIGsiAyQAAkAgASACaiICIAFJDQAgAEEEaigCACIEQQF0IgEgAiABIAJLGyIBQQggAUEISxshAQJAAkAgBA0AQQAhAgwBCyADIAQ2AhQgAyAAKAIANgIQQQEhAgsgAyACNgIYIAMgAUEBIANBEGoQdQJAIAMoAgBFDQAgA0EIaigCACIARQ0BIAMoAgQgABCOAgALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokAA8LELsBAAu/AQECfyMAQSBrIgMkAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIAQNAEEAIQIMAQsgAyAENgIUIAMgACgCADYCEEEBIQILIAMgAjYCGCADIAFBASADQRBqEHMCQCADKAIARQ0AIANBCGooAgAiAEUNASADKAIEIAAQjgIACyADKAIEIQIgAEEEaiABNgIAIAAgAjYCACADQSBqJAAPCxC7AQALvwEBA38jAEEgayICJAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAEDQBBACEDDAELIAIgBDYCFCACIAAoAgA2AhBBASEDCyACIAM2AhggAiABQQEgAkEQahBzAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAEI4CAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiQADwsQuwEAC78BAQN/IwBBIGsi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IgBBCGooAgAhAyAAKAIAIQAgAiABEMwBAkAgA0UNAANAIAIgADYCDCACIAJBDGpBnMDAABD/ARogAEEBaiEAIANBf2oiAw0ACwsgAhDPASEAIAJBEGokACAAC3QBAX8jAEEgayIBJAAgAUEQakIANwMAIAFCADcDCCABIAFBCGpBEBDdAQJAIAEvAQBFDQAgASABLwECOwEeQaiiwABBEiABQR5qQdSMwABB3KLAABCDAQALIAAgASkDEDcDCCAAIAEpAwg3AwAgAUEgaiQAC20BAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakEiNgIAIANCAzcCDCADQfjBwAA2AgggA0EiNgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhC8AQALcAEBfyMAQTBrIgIkACACIAE2AgQgAiAANgIAIAJBHGpBAjYCACACQSxqQSI2AgAgAkICNwIMIAJB0N/AADYCCCACQSI2AiQgAiACQSBqNgIYIAIgAkEEajYCKCACIAI2AiAgAkEIakGA4MAAELwBAAtwAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEcakECNgIAIAJBLGpBIjYCACACQgI3AgwgAkGg4MAANgIIIAJBIjYCJCACIAJBIGo2AhggAiACQQRqNgIoIAIgAjYCICACQQhqQbDgwAAQvAEAC3ABAX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQRxqQQI2AgAgAkEsakEiNgIAIAJCAjcCDCACQeTgwAA2AgggAkEiNgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpB9ODAABC8AQALbQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYCACADQSxqQSI2AgAgA0ICNwIMIANB8NnAADYCCCADQSI2AiQgAyADQSBqNgIYIAMgAzYCKCADIANBBGo2AiAgA0EIaiACELwBAAtkAQJ/IwBBIGsiAiQAIAFBHGooAgAhAyABKAIYIQEgAkEIakEQaiAAQRBqKQIANwMAIAJBCGpBCGogAEEIaikCADcDACACIAApAgA3AwggASADIAJBCGoQJCEAIAJBIGokACAAC2QBAn8jAEEgayICJAAgAEEcaigCACEDIAAoAhghACACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCAAIAMgAkEIahAkIQEgAkEgaiQAIAELbgEBfyMAQSBrIgIkACACQYCSwAA2AgQgAiAANgIAIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIQQAgAkGwjcAAIAJBBGpBsI3AACACQQhqQdChwAAQNQALawEBfyMAQSBrIgMkACADQeCWwAA2AgQgAyAANgIAIANBCGpBEGogAUEQaikCADcDACADQQhqQQhqIAFBCGopAgA3AwAgAyABKQIANwMIQQAgA0GgjcAAIANBBGpBoI3AACADQQhqIAIQNQALawEBfyMAQSBrIgMkACADIAE2AgQgAyAANgIAIANBCGpBEGogAkEQaikCADcDACADQQhqQQhqIAJBCGopAgA3AwAgAyACKQIANwMIQQAgA0H82sAAIANBBGpB/NrAACADQQhqQYjDwAAQNQALYwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGEh8AAIAJBCGoQJCEBIAJBIGokACABC2MBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBsIvAACACQQhqECQhASACQSBqJAAgAQtjAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQeCLwAAgAkEIahAkIQEgAkEgaiQAIAELYwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHIi8AAIAJBCGoQJCEBIAJBIGokACABC2MBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBuN7AACACQQhqECQhASACQSBqJAAgAQtgAQF/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ACEDAkAgASgCEEEBRw0AIAEgAyACIAFBFGooAgAQFw8LIAEgAyACQQAQHwtBAQN/IwBBEGsiASQAIAAQugJB5JzAABDjASECIAAQuQIQ5AEhAyABIAI2AgggASAANgIEIAEgAzYCACABEOgBAAtAAQF/IwBBIGsiACQAIABBHGpBADYCACAAQazAwAA2AhggAEIBNwIMIABBhMHAADYCCCAAQQhqQYzBwAAQvAEACz8BAX8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkHE2sAANgIMIAJBuMLAADYCCCACQQhqELoBAAs5AQF/IwBBMGsiACQAIAAQUAJAIAAQJ0UNAEGAgMAAQSsgAEGsgMAAQciAwAAQgwEACyAAQTBqJAALNAEBfyMAQRBrIgIkACACIAA2AgwgAUHoisAAQQ4gAkEMakH4isAAEF4hASACQRBqJAAgAQsyACAAKAIAIQACQCABEPMBDQACQCABEPQBDQAgACABEP0BDwsgACABEHsPCyAAIAEQegsxAQF/IwBBEGsiAiQAIAJBCGogAUHwj8AAQQsQywEgAkEIahCFASEBIAJBEGokACABCzABAX8jAEEQayICJAAgAkEIaiABQYSXwABBCxDLASACQQhqEHAhASACQRBqJAAgAQsyACAAKAIAIQACQCABEPMBDQACQCABEPQBDQAgACABEP0BDwsgACABEHsPCyAAIAEQegsyACAAKAIAIQACQCABEPMBDQACQCABEPQBDQAgACABEIECDwsgACABEHgPCyAAIAEQdwsvAQJ/IwBBEGsiACQAIABBATYCDCAAQQxqQaSFwABBAEEAEFEhASAAQRBqJAAgAQsvAQF/IwBBEGsiASQAIAAoAgAQsAIgAUEAOgAPIAFBD2oQtAIhACABQRBqJAAgAAsvAQF/IwBBEGsiASQAIAAoAgAQsAIgAUEAOgAPIAFBD2oQtAIhACABQRBqJAAgAAs5AQF/IAAoAgAhAQJAIAAtAAQNAEEAKALI/EBB/////wdxRQ0AEKICDQAgAUEBOgABCyABQQA6AAALLgEBfyMAQRBrIgMkACADIAE2AgwgAyAANgIIIANBCGpBiIvAAEEAIAJBARAaAAsvAQF/IwBBEGsiBSQAIAUgAzYCDCAFIAI2AgggBSABNgIEIAUgADYCACAFEOABAAs0ACAAQQM6ACAgAEKAgICAgAQ3AgAgACABNgIYIABBADYCECAAQQA2AgggAEEcaiACNgIACzAAIAEoAhggAiADIAFBHGooAgAoAgwRCQAhAiAAQQA6AAUgACACOgAEIAAgATYCAAs1AQF/IAEoAhhB6tzAAEEBIAFBHGooAgAoAgwRCQAhAiAAQQA6AAUgACACOgAEIAAgATYCAAsrAAJAAkAgARDzAQ0AIAEQ9AENASAAIAEQggIPCyAAIAEQdg8LIAAgARB5CycBAX8jAEEQayICJAAgAiAAKAIANgIMIAJBDGogARA5IAJBEGokAAsyAQF/QQEhAQJAIAAtAAQNACAAKAIAIgAoAhhB69zAAEEBIAAoAhwoAgwRCQAhAQsgAQsoAQF/IwBBEGsiAyQAIAMgAjYCCCADIAE2AgQgAyAANgIAIAMQ5wEACycBAX8CQCAAKAIEIgFFDQAgAEEIaigCACIARQ0AIAEgAEEBEPUBCwsmAQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AgggA0EIaiACELcBAAsjAAJAAkAgAUEISw0AIAEgAE0NAQsgASAAEN4BDwsgABC2AgsqACAAIAEuAQBBAnQiAUHItsAAaigCADYCBCAAIAFB/LjAAGooAgA2AgALKgAgACABLgEAQQJ0IgFBsLvAAGooAgA2AgQgACABQeS9wABqKAIANgIACyMBAn8CQCAAEGxBAWoiARC2AiICRQ0AIAIgACABEA4aCyACCyABAX8CQCAAQQRqKAIAIgFFDQAgACgCACABQQEQ9QELCyABAX8CQCAAQQRqKAIAIgFFDQAgACgCACABQQEQ9QELCyMAAkAgAC0AAA0AIAFBlN/AAEEFEBYPCyABQZDfwABBBBAWCyEAAkAgASgCAA0AELICAAsgAEGci8AANgIEIAAgATYCAAscACAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIACx0BAX8gACABQQAoArj8QCICQSMgAhsRBgAQsgIACxkAIAAgASACEAIiATsBAiAAIAFBAEc7AQALFwACQCAAQRBLDQAgARAHDwsgACABEDALJAEBf0GIgcEAIQECQEEAKAKEgUENAEGEgcEAIAAQTiEBCyABCxoAIAAoAgAgACgCBCAAKAIIIAAoAgwQ8QEACxwAIAEoAhhBsNnAAEEOIAFBHGooAgAoAgwRCQALHAAgASgCGEG+8sAAQQUgAUEcaigCACgCDBEJAAsYAAJAIAANAEGYjMAAQSsgARC2AQALIAALGwACQCAADQBBmIzAAEErQfScwAAQtgEACyAACxUBAX8CQBDEASIARQ0AIAAQ+gEACwsUAQF/IAAgASACIAMQsAEhBCAEDwsVACAAKAIAIAAoAgQgACgCCBDIAQALFQAgACgCACAAKAIEIAAoAggQgAEACxUAIAEgACgCACIAKAIAIAAoAgQQFgsTAAJAQQAoAvSAQUF/Rw0AEHwLCxQAIAAoAgAgASAAKAIEKAIMEQcACxABAX8gACABENMBIQIgAg8LEQAgACgCACAAKAIEIAEQmgILDgAgACgCACABED8aQQALEwAgAEGUncAANgIEIAAgATYCAAsQACAAKAIAIAAoAgQgARAZCw0AIAAgASACIAMQEQALEAAgASAAKAIAIAAoAgQQFgsNACAALQAAQRBxQQR2Cw0AIAAtAABBIHFBBXYLDAAgACABIAIQswIPCw8AIAAoAgAoAgAgARC1AQsNACAAKAIAIAEgAhBPCw0AIAAgARADQf//A3ELDQAgACABEARB//8DcQsOABDYAhDYAiAAEKYCAAsLACAAIAEQPhogAAsNACAAKAIAGgN/DAALCw0AIAA1AgBBASABEEILDAAgACABIAIQ0gEACwwAIAAgASACEEogAAsNACAAKAIAIAEgAhAeCw0AIAAxAABBASABEEILDQAgADMBAEEBIAEQQgsPABC/AiAAIAEQwAIQuAILDgAQvwIgACABECsQuAILCgAgACABEI8CDwsNACABQayLwABBAhAWCw0AIAFBrovAAEECEBYLDAAgACgCACABENkBCwsAIAAoAgAgARB/CwsAIAAoAgAgARBHCwoAIAAgARCMAgALCgAgACABEI0CAAsKACAAIAEQhQIACwoAIAAgARCLAgALCgAgACABENwBAAsKACAAIAEQjAEACwoAIAAgARCNAQALCgAgACABEI4BAAsKACAAIAEQlwIACwoAIAAgARCYAgALCgAgACABEJYCAAsKACAAIAEQkgIACwoAIAAgARCQAgALCgAgACABEJECAAsMACAAIAEpAgA3AwALCgAgAiAAIAEQFgsLACAAKAIAIAEQLAsMABC/AiAAEGkQuAILDAAQvwIgABBqELgCCwwAEL8CIAAQaxC4AgsMABC/AiAAEGMQuAILDQAQvwIgABCnAhC4AgsNABC/AiAAEKgCELgCCwoAQQAoAvz8QEULCQAgAEEEOgAACwkAIABBBDoAAAsHACAAEAUACwgAIAAQpQIACwsAQQAgADYC/IBBCwsAQQAgADYCgIFBCwsAEL8CEOUBELgCCwoAEL8CEEsQuAILCwAQvwIQowEQuAILCwAQvwIQoAEQuAILCwAQvwIQvAIQuAILCwAQvwIQvQIQuAILCwAQvwIQvgIQuAILBwAgABEAAAsGABDKAgALBgAQsQIACwcAIAAQtwILBwAgAC0AAAsHACAALwEACwYAIAAQBwsGACAAEAwLCAAQ2AIQ2AILBwAgACgCCAsHACAAKAIMCwcAIAAtABALCQBBACgC/IBBCwkAQQAoAoCBQQsJAEHQ+8AAEGALBQAQyQILBQAQxAELBABBAAsNAEKL5OeV8riP17h/Cw0AQqyx5MfkoOed9QALDQBCydndqMaB07jWAAsNAEKL5OeV8riP17h/CwQAQQELBABBAQsDAAALBAAQfAsDAAALDQBCrLHkx+Sg5531AAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsL/vuAgAACAEGAgMAAC9R7Y2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQACAAAAAAAAAAEAAAADAAAAc3JjL21haW4ucnMAPAAQAAsAAAAHAAAAJgAAAGluZm9YABAABAAAAGNhbGNfc2VydmljZTo6Y2FsY3NyYy9jYWxjLnJzAAAAZAAQABIAAABkABAAEgAAAHYAEAALAAAADgAAAHRyYWNlAAAAoAAQAAUAAABkABAAEgAAAGQAEAASAAAAdgAQAAsAAAAPAAAAZGVidWcAAADMABAABQAAAGQAEAASAAAAZAAQABIAAAB2ABAACwAAABAAAAB3YXJu+AAQAAQAAABkABAAEgAAAGQAEAASAAAAdgAQAAsAAAARAAAAZXJyb3IAAAAgARAABQAAAGQAEAASAAAAZAAQABIAAAB2ABAACwAAABIAAAAgKyAgPSAAAFgAEAAAAAAATAEQAAMAAABPARAAAwAAAGQAEAASAAAAZAAQABIAAAB2ABAACwAAABsAAAAgLSAAWAAQAAAAAACIARAAAwAAAE8BEAADAAAAZAAQABIAAABkABAAEgAAAHYAEAALAAAAJgAAACAqIABYABAAAAAAAMABEAADAAAATwEQAAMAAABkABAAEgAAAGQAEAASAAAAdgAQAAsAAAAxAAAAIC8gAFgAEAAAAAAA+AEQAAMAAABPARAAAwAAAGQAEAASAAAAZAAQABIAAAB2ABAACwAAAEAAAABjbGVhcl9zdGF0ZSgpIGlzIGNhbGxlZAAwAhAAFwAAAGQAEAASAAAAZAAQABIAAAB2ABAACwAAAEcAAABzdGF0ZSgpIGlzIGNhbGxlZAAAAGwCEAARAAAAZAAQABIAAABkABAAEgAAAHYAEAALAAAATgAAAAUAAAAEAAAABAAAAAYAAAAHAAAABwAAAAAAAAD//////////y9ydXN0Yy84MzA4ODA2NDAzMDRiYTg2OTljNWY5YTBjNDY2NWMzOGEzMjcxOTYzL2xpYnJhcnkvYWxsb2Mvc3JjL3NsaWNlLnJzAADIAhAASgAAAGkEAAAVAAAAyAIQAEoAAAB3BAAAHgAAAMgCEABKAAAAgAQAABgAAADIAhAASgAAAIEEAAAZAAAAyAIQAEoAAACEBAAAGgAAAMgCEABKAAAAigQAAA0AAADIAhAASgAAAIsEAAASAAAACAAAAAQAAAAEAAAACQAAAAoAAAALAAAADAAAAAwAAAAEAAAADQAAAA4AAAAPAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy84MzA4ODA2NDAzMDRiYTg2OTljNWY5YTBjNDY2NWMzOGEzMjcxOTYzL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAA6wMQAEsAAAC6CQAADgAAABAAAAAAAAAAAQAAABEAAABXQVNNX0xPRxIAAAAwAAAACAAAABIAAAAwAAAACAAAAGAEEAATAAAAFAAAABUAAAAWAAAAAAAAAAEAAAAWAAAAAAAAAAEAAACIBBAAFwAAABgAAAAZAAAAL2hvbWUvcGF2ZWwvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbG9nLTAuNC4xNi9zcmMvbGliLnJza2V5LXZhbHVlIHN1cHBvcnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtdXN0IGJlIGVuYWJsZWQgdXNpbmcgdGhlIGBrdl91bnN0YWJsZWAgZmVhdHVyZQAAsAQQAFEAAAAvBgAACQAAAFNldExvZ2dlckVycm9yAAAWAAAABAAAAAQAAAAaAAAAGwAAAAgAAAAEAAAAHAAAAB0AAAAeAAAACAAAAAQAAAAfAAAAKCkoKSgAAAAEAAAABAAAACkAAAAqAAAAKwAAACgAAAAEAAAABAAAACwAAAAtAAAALgAAACgAAAAEAAAABAAAAC8AAAAwAAAAMQAAAGFscmVhZHkgYm9ycm93ZWQoAAAAAAAAAAEAAAAyAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAoAAAAAAAAAAEAAAAzAAAAKAAAAAIAAAACAAAANAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUANQAAAAgAAAAEAAAANgAAACgAAAAEAAAABAAAADcAAAAoAAAABAAAAAQAAAA4AAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9ydXN0Yy84MzA4ODA2NDAzMDRiYTg2OTljNWY5YTBjNDY2NWMzOGEzMjcxOTYzL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnPoBhAATAAAAFsHAAAkAAAARXJyT2sAAAAoAAAABAAAAAQAAAA5AAAAKAAAAAQAAAAEAAAAOgAAAG1haW5mYXRhbCBydW50aW1lIGVycm9yOiAKAABwBxAAFQAAAIUHEAABAAAAdW53cmFwIGZhaWxlZDogQ1N0cmluZzo6bmV3KCJtYWluIikgPSAAAJgHEAAmAAAAbGlicmFyeS9zdGQvc3JjL3J0LnJzAAAAyAcQABUAAABfAAAADQAAAEFjY2Vzc0Vycm9ydXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncyBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvbW9kLnJzAABZCBAAHQAAAKUCAAAjAAAAZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZACICBAANwAAAFkIEAAdAAAAEwQAABEAAABZCBAAHQAAABkEAAAqAAAAUlVTVF9CQUNLVFJBQ0UAAPgFEAAAAAAAAGZhaWxlZCB0byB3cml0ZSB0aGUgYnVmZmVyZWQgZGF0YQAAAQkQACEAAAAXAAAAbGlicmFyeS9zdGQvc3JjL2lvL2J1ZmZlcmVkL2J1ZndyaXRlci5yczAJEAAoAAAAjQAAABIAAABmYWlsZWQgdG8gd3JpdGUgd2hvbGUgYnVmZmVyaAkQABwAAAAXAAAAbGlicmFyeS9zdGQvc3JjL2lvL3N0ZGlvLnJzAJAJEAAbAAAAbgIAABMAAABsaWJyYXJ5L3N0ZC9zcmMvaW8vbW9kLnJzAAAAvAkQABkAAAAaBQAAFgAAAGFkdmFuY2luZyBpbyBzbGljZXMgYmV5b25kIHRoZWlyIGxlbmd0aADoCRAAJwAAALwJEAAZAAAAHAUAAA0AAAC8CRAAGQAAAAMGAAAhAAAAZm9ybWF0dGVyIGVycm9yADgKEAAPAAAAKAAAADsAAAAMAAAABAAAADwAAAA9AAAAPgAAADsAAAAMAAAABAAAAD8AAABAAAAAQQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pYy5yc4QKEAAYAAAA8AAAABIAAAAoAAAABAAAAAQAAABCAAAAQwAAAGxpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnPAChAAHAAAABQBAAAyAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3RhdGVfYW5kX3F1ZXVlLmFkZHIoKSAmIFNUQVRFX01BU0sgPT0gUlVOTklOR09uY2UgaW5zdGFuY2UgaGFzIHByZXZpb3VzbHkgYmVlbiBwb2lzb25lZAAALAsQACoAAAACAAAAwAoQABwAAAD/AQAACQAAAMAKEAAcAAAADAIAADUAAABQb2lzb25FcnJvcnN0YWNrIGJhY2t0cmFjZToKjwsQABEAAABub3RlOiBTb21lIGRldGFpbHMgYXJlIG9taXR0ZWQsIHJ1biB3aXRoIGBSVVNUX0JBQ0tUUkFDRT1mdWxsYCBmb3IgYSB2ZXJib3NlIGJhY2t0cmFjZS4KqAsQAFgAAABsb2NrIGNvdW50IG92ZXJmbG93IGluIHJlZW50cmFudCBtdXRleGxpYnJhcnkvc3RkL3NyYy9zeXNfY29tbW9uL3JlbXV0ZXgucnMALgwQACUAAACnAAAADgAAAGxpYnJhcnkvc3RkL3NyYy9zeXNfY29tbW9uL3RocmVhZF9pbmZvLnJzAAAAZAwQACkAAAAWAAAAMwAAAGQMEAApAAAAKwAAACsAAABhc3NlcnRpb24gZmFpbGVkOiB0aHJlYWRfaW5mby5pc19ub25lKCkAsAwQACcAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkCgDgDBAAFQAAAPUMEAAOAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzFA0QABgAAABSAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnM8DRAAHAAAABEBAAAkAAAAQm94PGR5biBBbnk+PHVubmFtZWQ+AAAAKAAAAAAAAAABAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAAAMAAAABAAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAAB0aHJlYWQgJycgcGFuaWNrZWQgYXQgJycsIAAA0A0QAAgAAADYDRAADwAAAOcNEAADAAAAhQcQAAEAAABub3RlOiBydW4gd2l0aCBgUlVTVF9CQUNLVFJBQ0U9MWAgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gZGlzcGxheSBhIGJhY2t0cmFjZQoAAAwOEABOAAAAPA0QABwAAABGAgAAHwAAADwNEAAcAAAARwIAAB4AAABLAAAADAAAAAQAAABTAAAAKAAAAAgAAAAEAAAAVAAAAFUAAAAQAAAABAAAAFYAAABXAAAAKAAAAAgAAAAEAAAAWAAAAFkAAAB0aHJlYWQgcGFuaWNrZWQgd2hpbGUgcHJvY2Vzc2luZyBwYW5pYy4gYWJvcnRpbmcuCgAAzA4QADIAAAAKcGFuaWNrZWQgYWZ0ZXIgcGFuaWM6OmFsd2F5c19hYm9ydCgpLCBhYm9ydGluZy4KAAAA+AUQAAAAAAAIDxAAMQAAAHRocmVhZCBwYW5pY2tlZCB3aGlsZSBwYW5pY2tpbmcuIGFib3J0aW5nLgoATA8QACsAAABmYWlsZWQgdG8gaW5pdGlhdGUgcGFuaWMsIGVycm9yIIAPEAAgAAAAYWR2YW5jaW5nIElvU2xpY2UgYmV5b25kIGl0cyBsZW5ndGgAqA8QACMAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc2kvaW8ucnMAANQPEAAeAAAAFgAAAA0AAABjb25kdmFyIHdhaXQgbm90IHN1cHBvcnRlZAAABBAQABoAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc2kvLi4vdW5zdXBwb3J0ZWQvbG9ja3MvY29uZHZhci5ycygQEAA4AAAAFQAAAAkAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleHAQEAAgAAAAbGlicmFyeS9zdGQvc3JjL3N5cy93YXNpLy4uL3Vuc3VwcG9ydGVkL2xvY2tzL211dGV4LnJzAACYEBAANgAAABgAAAAJAAAAcndsb2NrIGxvY2tlZCBmb3Igd3JpdGluZwAAAOAQEAAZAAAACAAOAA8APwACAEAANQANAAQAAwAsABsAHABJABQABgA0ADAAcmFuZG9tX2dldCBmYWlsdXJlbGlicmFyeS9zdGQvc3JjL3N5cy93YXNpL21vZC5ycwAAADoREAAfAAAAXQAAACUAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzX2NvbW1vbi90aHJlYWRfcGFya2VyL2dlbmVyaWMucnMAbBEQADMAAAAnAAAAJgAAAGluY29uc2lzdGVudCBwYXJrIHN0YXRlALAREAAXAAAAbBEQADMAAAA1AAAAFwAAAHBhcmsgc3RhdGUgY2hhbmdlZCB1bmV4cGVjdGVkbHkA4BEQAB8AAABsERAAMwAAADIAAAARAAAAaW5jb25zaXN0ZW50IHN0YXRlIGluIHVucGFyaxgSEAAcAAAAbBEQADMAAABsAAAAEgAAAGwREAAzAAAAegAAAB8AAABjb2RlbmFtZVoAAAAIAAAABAAAAFsAAABtZXNzYWdlTk9UQ0FQQUJMRVhERVZUWFRCU1lUSU1FRE9VVFNUQUxFU1JDSFNQSVBFUk9GU1JBTkdFUFJPVE9UWVBFUFJPVE9OT1NVUFBPUlRQUk9UT1BJUEVQRVJNT1dORVJERUFET1ZFUkZMT1dOWElPTk9UVFlOT1RTVVBOT1RTT0NLTk9UUkVDT1ZFUkFCTEVOT1RFTVBUWU5PVERJUk5PVENPTk5OT1NZU05PU1BDTk9QUk9UT09QVE5PTVNHTk9NRU1OT0xJTktOT0xDS05PRVhFQ05PRU5UTk9ERVZOT0JVRlNORklMRU5FVFVOUkVBQ0hORVRSRVNFVE5FVERPV05OQU1FVE9PTE9OR01VTFRJSE9QTVNHU0laRU1MSU5LTUZJTEVMT09QSVNESVJJU0NPTk5JT0lOVkFMSU5UUklOUFJPR1JFU1NJTFNFUUlEUk1IT1NUVU5SRUFDSEZCSUdGQVVMVEVYSVNURFFVT1RET01ERVNUQUREUlJFUURFQURMS0NPTk5SRVNFVENPTk5SRUZVU0VEQ09OTkFCT1JURURDSElMRENBTkNFTEVEQlVTWUJBRE1TR0JBREZBTFJFQURZQUdBSU5BRk5PU1VQUE9SVEFERFJOT1RBVkFJTEFERFJJTlVTRUFDQ0VTMkJJR1NVQ0NFU1NFeHRlbnNpb246IENhcGFiaWxpdGllcyBpbnN1ZmZpY2llbnQuQ3Jvc3MtZGV2aWNlIGxpbmsuVGV4dCBmaWxlIGJ1c3kuQ29ubmVjdGlvbiB0aW1lZCBvdXQuUmVzZXJ2ZWQuTm8gc3VjaCBwcm9jZXNzLkludmFsaWQgc2Vlay5SZWFkLW9ubHkgZmlsZSBzeXN0ZW0uUmVzdWx0IHRvbyBsYXJnZS5Qcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQuUHJvdG9jb2wgbm90IHN1cHBvcnRlZC5Qcm90b2NvbCBlcnJvci5Ccm9rZW4gcGlwZS5PcGVyYXRpb24gbm90IHBlcm1pdHRlZC5QcmV2aW91cyBvd25lciBkaWVkLlZhbHVlIHRvbyBsYXJnZSB0byBiZSBzdG9yZWQgaW4gZGF0YSB0eXBlLk5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MuSW5hcHByb3ByaWF0ZSBJL08gY29udHJvbCBvcGVyYXRpb24uTm90IHN1cHBvcnRlZCwgb3Igb3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgb24gc29ja2V0Lk5vdCBhIHNvY2tldC5TdGF0ZSBub3QgcmVjb3ZlcmFibGUuRGlyZWN0b3J5IG5vdCBlbXB0eS5Ob3QgYSBkaXJlY3Rvcnkgb3IgYSBzeW1ib2xpYyBsaW5rIHRvIGEgZGlyZWN0b3J5LlRoZSBzb2NrZXQgaXMgbm90IGNvbm5lY3RlZC5GdW5jdGlvbiBub3Qgc3VwcG9ydGVkLk5vIHNwYWNlIGxlZnQgb24gZGV2aWNlLlByb3RvY29sIG5vdCBhdmFpbGFibGUuTm8gbWVzc2FnZSBvZiB0aGUgZGVzaXJlZCB0eXBlLk5vdCBlbm91Z2ggc3BhY2UuTm8gbG9ja3MgYXZhaWxhYmxlLkV4ZWN1dGFibGUgZmlsZSBmb3JtYXQgZXJyb3IuTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS5ObyBzdWNoIGRldmljZS5ObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlLlRvbyBtYW55IGZpbGVzIG9wZW4gaW4gc3lzdGVtLk5ldHdvcmsgdW5yZWFjaGFibGUuQ29ubmVjdGlvbiBhYm9ydGVkIGJ5IG5ldHdvcmsuTmV0d29yayBpcyBkb3duLkZpbGVuYW1lIHRvbyBsb25nLk1lc3NhZ2UgdG9vIGxhcmdlLlRvbyBtYW55IGxpbmtzLkZpbGUgZGVzY3JpcHRvciB2YWx1ZSB0b28gbGFyZ2UuVG9vIG1hbnkgbGV2ZWxzIG9mIHN5bWJvbGljIGxpbmtzLklzIGEgZGlyZWN0b3J5LlNvY2tldCBpcyBjb25uZWN0ZWQuSS9PIGVycm9yLkludmFsaWQgYXJndW1lbnQuSW50ZXJydXB0ZWQgZnVuY3Rpb24uT3BlcmF0aW9uIGluIHByb2dyZXNzLklsbGVnYWwgYnl0ZSBzZXF1ZW5jZS5JZGVudGlmaWVyIHJlbW92ZWQuSG9zdCBpcyB1bnJlYWNoYWJsZS5GaWxlIHRvbyBsYXJnZS5CYWQgYWRkcmVzcy5GaWxlIGV4aXN0cy5NYXRoZW1hdGljcyBhcmd1bWVudCBvdXQgb2YgZG9tYWluIG9mIGZ1bmN0aW9uLkRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQuUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIuQ29ubmVjdGlvbiByZXNldC5Db25uZWN0aW9uIHJlZnVzZWQuQ29ubmVjdGlvbiBhYm9ydGVkLk5vIGNoaWxkIHByb2Nlc3Nlcy5PcGVyYXRpb24gY2FuY2VsZWQuRGV2aWNlIG9yIHJlc291cmNlIGJ1c3kuQmFkIG1lc3NhZ2UuQmFkIGZpbGUgZGVzY3JpcHRvci5Db25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MuUmVzb3VyY2UgdW5hdmFpbGFibGUsIG9yIG9wZXJhdGlvbiB3b3VsZCBibG9jay5BZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkLkFkZHJlc3Mgbm90IGF2YWlsYWJsZS5BZGRyZXNzIGluIHVzZS5QZXJtaXNzaW9uIGRlbmllZC5Bcmd1bWVudCBsaXN0IHRvbyBsb25nLk5vIGVycm9yIG9jY3VycmVkLiBTeXN0ZW0gY2FsbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LkVycm5vAABaAAAAAgAAAAIAAABcAAAABwAAAAQAAAAFAAAACQAAAAwAAAALAAAABQAAAAcAAAAEAAAABgAAAAQAAAAIAAAABQAAAAsAAAALAAAACQAAAAYAAAALAAAAAwAAAAUAAAAFAAAABQAAAAQAAAALAAAABAAAAAUAAAAKAAAABAAAAAUAAAACAAAABgAAAAUAAAAEAAAABQAAAAUAAAAHAAAACAAAAAsAAAAHAAAACAAAAAoAAAAFAAAABgAAAAUAAAAFAAAABgAAAAUAAAAGAAAABQAAAAUAAAAKAAAABQAAAAUAAAAHAAAABgAAAAgAAAAOAAAABwAAAAYAAAAFAAAABAAAAAgAAAAJAAAABAAAAAQAAAAFAAAADgAAAAkAAAAFAAAABAAAAAUAAAAEAAAABQAAAAgAAAAGAAAABAAAAAoAAABrFBAAZxQQAGIUEABZFBAATRQQAEIUEAA9FBAANhQQADIUEAAsFBAAKBQQACAUEAAbFBAAEBQQAAUUEAD8ExAA9hMQAOsTEADoExAA4xMQAN4TEADZExAA1RMQAMoTEADGExAAwRMQALcTEACzExAArhMQAKwTEACmExAAoRMQAJ0TEACYExAAkxMQAIwTEACEExAAeRMQAHITEABqExAAYBMQAFsTEABVExAAUBMQAEsTEABFExAAQBMQADoTEAA1ExAAMBMQACYTEAAhExAAHBMQABUTEAAPExAABxMQAPkSEADyEhAA7BIQAOcSEADjEhAA2xIQANISEADOEhAAyhIQAMUSEAC3EhAArhIQAKkSEAClEhAAoBIQAJwSEACXEhAAjxIQAIkSEACFEhAAexIQADYAAAAXAAAAEgAAAA8AAAAWAAAAHQAAAC8AAAAfAAAAFAAAAAwAAAAYAAAAEwAAABMAAAATAAAAEwAAABEAAAAeAAAAHQAAAC8AAAAJAAAADAAAAAwAAAAPAAAAFAAAABMAAAAWAAAAFgAAABUAAAARAAAACgAAABQAAAAPAAAAIgAAACAAAAAPAAAAEgAAAAkAAAASAAAAEAAAAB4AAAAUAAAAHgAAABoAAAAPAAAAGgAAAB0AAAATAAAACQAAABEAAAAfAAAAFwAAABgAAAAXAAAAHAAAADIAAAAUAAAAFgAAAA0AAAA0AAAAJAAAABoAAAAqAAAAFAAAABgAAAAMAAAADwAAABcAAAAfAAAAEQAAABYAAAANAAAAEAAAAAkAAAAVAAAADwAAABIAAAAlAAAA+xoQAOQaEADSGhAAwxoQAK0aEACQGhAAYRoQAEIaEAAuGhAAIhoQAAoaEAD3GRAA5BkQANEZEAC+GRAArRkQAI8ZEAByGRAAQxkQAM0UEAA3GRAAKxkQABwZEAAIGRAA9RgQAN8YEADJGBAAtBgQAKMYEACZGBAAhRgQAHYYEABUGBAANBgQACUYEAATGBAAzRQQAAEYEADxFxAA0xcQAL8XEAChFxAAhxcQAHgXEABeFxAAQRcQAC4XEADNFBAAHRcQAP4WEADnFhAAzxYQALgWEACcFhAAahYQAFYWEABAFhAAMxYQAP8VEADbFRAAwRUQAJcVEACDFRAAaxUQAF8VEABQFRAAORUQABoVEAAJFRAA8xQQAOYUEADWFBAAzRQQALgUEACpFBAAlxQQAHIUEAAvAAAAXQAAAAQAAAAEAAAAXgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3dzIBAAEQAAAFcgEAAcAAAABQIAAAUAAABsaWJyYXJ5L2FsbG9jL3NyYy9mZmkvY19zdHIucnMAAJwgEAAeAAAAGwEAADcAAAApIHNob3VsZCBiZSA8IGxlbiAoaXMgKXJlbW92YWwgaW5kZXggKGlzIAAAAOMgEAASAAAAzCAQABYAAADiIBAAAQAAAE51bEVycm9yXQAAAAQAAAAEAAAAXwAAAF0AAAAEAAAABAAAAGAAAABhc3NlcnRpb24gZmFpbGVkOiBlZGVsdGEgPj0gMGxpYnJhcnkvY29yZS9zcmMvbnVtL2RpeV9mbG9hdC5ycwAAVSEQACEAAABMAAAACQAAAFUhEAAhAAAATgAAAAkAAAABAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AgAAABQAAADIAAAA0AcAACBOAABADQMAgIQeAAAtMQEAwusLAJQ1dwAAwW/yhiMAAAAAAIHvrIVbQW0t7gQAAAAAAAAAAAAAAR9qv2TtOG7tl6fa9Pk/6QNPGAAAAAAAAAAAAAAAAAAAAAAAAT6VLgmZ3wP9OBUPL+R0I+z1z9MI3ATE2rDNvBl/M6YDJh/pTgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwumFuH075yn9nYhy8VEsZQ3mtwbkrPD9iV1W5xsiawZsatJDYVHVrTQjwOVP9jwHNVzBfv+WXyKLxV98fcgNztbvTO79xf91MFAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvc3RyYXRlZ3kvZHJhZ29uLnJzYXNzZXJ0aW9uIGZhaWxlZDogZC5tYW50ID4gMADAIhAALwAAAHUAAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogZC5taW51cyA+IDAAAADAIhAALwAAAHYAAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogZC5wbHVzID4gMMAiEAAvAAAAdwAAAAUAAABhc3NlcnRpb24gZmFpbGVkOiBkLm1hbnQuY2hlY2tlZF9hZGQoZC5wbHVzKS5pc19zb21lKCkAAMAiEAAvAAAAeAAAAAUAAABhc3NlcnRpb24gZmFpbGVkOiBkLm1hbnQuY2hlY2tlZF9zdWIoZC5taW51cykuaXNfc29tZSgpAMAiEAAvAAAAeQAAAAUAAABhc3NlcnRpb24gZmFpbGVkOiBidWYubGVuKCkgPj0gTUFYX1NJR19ESUdJVFMAAADAIhAALwAAAHoAAAAFAAAAwCIQAC8AAADBAAAACQAAAMAiEAAvAAAA+gAAAA0AAADAIhAALwAAAAoBAAAFAAAAwCIQAC8AAAALAQAABQAAAMAiEAAvAAAADAEAAAUAAADAIhAALwAAAA0BAAAFAAAAwCIQAC8AAAAOAQAABQAAAMAiEAAvAAAAZQEAAA0AAADAIhAALwAAAHEBAAAmAAAA30UaPQPPGubB+8z+AAAAAMrGmscX/nCr3PvU/gAAAABP3Ly+/LF3//b73P4AAAAADNZrQe+RVr4R/OT+AAAAADz8f5CtH9CNLPzs/gAAAACDmlUxKFxR00b89P4AAAAAtcmmrY+scZ1h/Pz+AAAAAMuL7iN3Ipzqe/wE/wAAAABtU3hAkUnMrpb8DP8AAAAAV862XXkSPIKx/BT/AAAAADdW+002lBDCy/wc/wAAAABPmEg4b+qWkOb8JP8AAAAAxzqCJcuFdNcA/Sz/AAAAAPSXv5fNz4agG/00/wAAAADlrCoXmAo07zX9PP8AAAAAjrI1KvtnOLJQ/UT/AAAAADs/xtLf1MiEa/1M/wAAAAC6zdMaJ0TdxYX9VP8AAAAAlsklu86fa5Og/Vz/AAAAAISlYn0kbKzbuv1k/wAAAAD22l8NWGaro9X9bP8AAAAAJvHD3pP44vPv/XT/AAAAALiA/6qorbW1Cv58/wAAAACLSnxsBV9ihyX+hP8AAAAAUzDBNGD/vMk//oz/AAAAAFUmupGMhU6WWv6U/wAAAAC9filwJHf533T+nP8AAAAAj7jluJ+936aP/qT/AAAAAJR9dIjPX6n4qf6s/wAAAADPm6iPk3BEucT+tP8AAAAAaxUPv/jwCIrf/rz/AAAAALYxMWVVJbDN+f7E/wAAAACsf3vQxuI/mRT/zP8AAAAABjsrKsQQXOQu/9T/AAAAANOSc2mZJCSqSf/c/wAAAAAOygCD8rWH/WP/5P8AAAAA6xoRkmQI5bx+/+z/AAAAAMyIUG8JzLyMmf/0/wAAAAAsZRniWBe30bP//P8AAAAAAAAAAAAAQJzO/wQAAAAAAAAAAAAQpdTo6P8MAAAAAAAAAGKsxet4rQMAFAAAAAAAhAmU+Hg5P4EeABwAAAAAALMVB8l7zpfAOAAkAAAAAABwXOp7zjJ+j1MALAAAAAAAaIDpq6Q40tVtADQAAAAAAEUimhcmJ0+fiAA8AAAAAAAn+8TUMaJj7aIARAAAAAAAqK3IjDhl3rC9AEwAAAAAANtlqxqOCMeD2ABUAAAAAACaHXFC+R1dxPIAXAAAAAAAWOcbpixpTZINAWQAAAAAAOqNcBpk7gHaJwFsAAAAAABKd++amaNtokIBdAAAAAAAhWt9tHt4CfJcAXwAAAAAAHcY3Xmh5FS0dwGEAAAAAADCxZtbkoZbhpIBjAAAAAAAPV2WyMVTNcisAZQAAAAAALOgl/pctCqVxwGcAAAAAADjX6CZvZ9G3uEBpAAAAAAAJYw52zTCm6X8AawAAAAAAFyfmKNymsb2FgK0AAAAAADOvulUU7/ctzECvAAAAAAA4kEi8hfz/IhMAsQAAAAAAKV4XNObziDMZgLMAAAAAADfUyF781oWmIEC1AAAAAAAOjAfl9y1oOKbAtwAAAAAAJaz41xT0dmotgLkAAAAAAA8RKek2Xyb+9AC7AAAAAAAEESkp0xMdrvrAvQAAAAAABqcQLbvjquLBgP8AAAAAAAshFemEO8f0CADBAEAAAAAKTGR6eWkEJs7AwwBAAAAAJ0MnKH7mxDnVQMUAQAAAAAp9Dti2SAorHADHAEAAAAAhc+nel5LRICLAyQBAAAAAC3drANA5CG/pQMsAQAAAACP/0ReL5xnjsADNAEAAAAAQbiMnJ0XM9TaAzwBAAAAAKkb47SS2xme9QNEAQAAAADZd9+6br+W6w8ETAEAAAAAbGlicmFyeS9jb3JlL3NyYy9udW0vZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwAA6CkQAC4AAAB9AAAAFQAAAOgpEAAuAAAAqQAAAAUAAADoKRAALgAAAKoAAAAFAAAA6CkQAC4AAACrAAAABQAAAOgpEAAuAAAArAAAAAUAAADoKRAALgAAAK0AAAAFAAAA6CkQAC4AAACuAAAABQAAAGFzc2VydGlvbiBmYWlsZWQ6IGQubWFudCArIGQucGx1cyA8ICgxIDw8IDYxKQAAAOgpEAAuAAAArwAAAAUAAADoKRAALgAAAAsBAAARAAAAAAAAAAAAAABhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAA6CkQAC4AAAAOAQAACQAAAOgpEAAuAAAAQwEAAAkAAABhc3NlcnRpb24gZmFpbGVkOiAhYnVmLmlzX2VtcHR5KCkAAADoKRAALgAAAOABAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogZC5tYW50IDwgKDEgPDwgNjEp6CkQAC4AAADhAQAABQAAAOgpEAAuAAAA4gEAAAUAAADoKRAALgAAACcCAAARAAAA6CkQAC4AAAAqAgAACQAAAOgpEAAuAAAAYAIAAAkAAABsaWJyYXJ5L2NvcmUvc3JjL251bS9mbHQyZGVjL21vZC5ycwDEKxAAIwAAALwAAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogYnVmWzBdID4gYlwnMFwnAAAAxCsQACMAAAC9AAAABQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBhcnRzLmxlbigpID49IDQAAMQrEAAjAAAAvgAAAAUAAAAwLi4tKzBpbmZOYU5hc3NlcnRpb24gZmFpbGVkOiBidWYubGVuKCkgPj0gbWF4bGVuAAAAxCsQACMAAAB/AgAADQAAACkuLgClLBAAAgAAAEJvcnJvd011dEVycm9yaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyC+LBAAIAAAAN4sEAASAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTo4IRAAAAAAACstEAABAAAAKy0QAAEAAABoAAAAAAAAAAEAAABpAAAAcGFuaWNrZWQgYXQgJycsIGAtEAABAAAAYS0QAAMAAAA4IRAAAAAAAGgAAAAEAAAABAAAAGoAAABtYXRjaGVzIT09PWFzc2VydGlvbiBmYWlsZWQ6IGAobGVmdCAgcmlnaHQpYAogIGxlZnQ6IGBgLAogcmlnaHQ6IGBgOiAAAACXLRAAGQAAALAtEAASAAAAwi0QAAwAAADOLRAAAwAAAGAAAACXLRAAGQAAALAtEAASAAAAwi0QAAwAAAD0LRAAAQAAADogAAA4IRAAAAAAABguEAACAAAAaAAAAAwAAAAEAAAAawAAAGwAAABtAAAAICAgICB7CiwKLCAgeyAuLgp9LCAuLiB9IHsgLi4gfSB9KAooLApbXTB4MDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkAAGgAAAAEAAAABAAAAG4AAABvAAAAcAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDB0cnVlZmFsc2VyYW5nZSBzdGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggAAAAmS8QABIAAACrLxAAIgAAAGxpYnJhcnkvY29yZS9zcmMvc2xpY2UvaW5kZXgucnMA4C8QAB8AAAA0AAAABQAAAHJhbmdlIGVuZCBpbmRleCAQMBAAEAAAAKsvEAAiAAAA4C8QAB8AAABJAAAABQAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgAEAwEAAWAAAAVjAQAA0AAADgLxAAHwAAAFwAAAAFAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQAAAAAAAAAAAAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5yc1suLi5dYnl0ZSBpbmRleCAgaXMgb3V0IG9mIGJvdW5kcyBvZiBgAAAApDEQAAsAAACvMRAAFgAAAPQtEAABAAAAhDEQABsAAABrAAAACQAAAGJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGAAAPAxEAAOAAAA/jEQAAQAAAACMhAAEAAAAPQtEAABAAAAhDEQABsAAABvAAAABQAAAIQxEAAbAAAAfQAAAC0AAAAgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlICAoYnl0ZXMgKSBvZiBgpDEQAAsAAABUMhAAJgAAAHoyEAAIAAAAgjIQAAYAAAD0LRAAAQAAAIQxEAAbAAAAfwAAAAUAAABsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAAAAwDIQACUAAAAaAAAANgAAAAABAwUFBgYCBwYIBwkRChwLGQwaDRAODQ8EEAMSEhMJFgEXBBgBGQMaBxsBHAIfFiADKwMtCy4BMAMxAjIBpwKpAqoEqwj6AvsF/QL+A/8JrXh5i42iMFdYi4yQHN0OD0tM+/wuLz9cXV/ihI2OkZKpsbq7xcbJyt7k5f8ABBESKTE0Nzo7PUlKXYSOkqmxtLq7xsrOz+TlAAQNDhESKTE0OjtFRklKXmRlhJGbncnOzw0RKTo7RUlXW1xeX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx87P2ttImL3Nxs7PSU5PV1leX4mOj7G2t7/BxsfXERYXW1z29/7/gG1x3t8OH25vHB1ffX6ur3+7vBYXHh9GR05PWFpcXn5/tcXU1dzw8fVyc490dZYmLi+nr7e/x8/X35pAl5gwjx/S1M7/Tk9aWwcIDxAnL+7vbm83PT9CRZCRU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUfCYEbAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBhYNUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgYvMU0DgKQIPAMPAzwHOAgrBYL/ERgILxEtAyEPIQ+AjASClxkLFYiUBS8FOwcCDhgJgL4idAyA1hoMBYD/BYDfDPKdAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IJAFqBGsCrwO8As8C0QLUDNUJ1gLXAtoB4AXhAucE6ALuIPAE+AL6AvsBDCc7Pk5Pj56en3uLk5aisrqGsQYHCTY9Plbz0NEEFBg2N1ZXf6qur7014BKHiY6eBA0OERIpMTQ6RUZJSk5PZGVctrcbHAcICgsUFzY5Oqip2NkJN5CRqAcKOz5maY+Sb1+/7u9aYvT8/5qbLi8nKFWdoKGjpKeorbq8xAYLDBUdOj9FUaanzM2gBxkaIiU+P+fs7//FxgQgIyUmKDM4OkhKTFBTVVZYWlxeYGNlZmtzeH1/iqSqr7DA0K6vbm+TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSTigIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULP0EqBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUmBB0YKHQNHSTcDDggKBjkHCoE2GYC3AQ8yDYObZnULgMSKTGMNhC+P0YJHobmCOQcqBFwGJgpGCigFE4KwW2VLBDkHEUAFCwIOl/gIhNYqCaLngTMtAxEECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUaAmhQMVwkZgIeBRwOFQg8VhFAfgOErgNUtAxoEAoFAHxE6BQGE4ID3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AUQAw0DdAxZBwwEAQ8MBDgICgYoCCJOgVQMFQMFAwcJHQMLBQYKCgYICAcJgMslCoQGbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwAAAGE4EAAoAAAASwAAACgAAABhOBAAKAAAAFcAAAAWAAAAYTgQACgAAABSAAAAPgAAAGxpYnJhcnkvY29yZS9zcmMvbnVtL2JpZ251bS5ycwAAvDgQAB4AAACsAQAAAQAAAGFzc2VydGlvbiBmYWlsZWQ6IG5vYm9ycm93YXNzZXJ0aW9uIGZhaWxlZDogZGlnaXRzIDwgNDBhc3NlcnRpb24gZmFpbGVkOiBvdGhlciA+IDBFcnJvcgAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLKArKjAgLG+m4CwCqGAtHvtgLgD+IDae/2A2/QHhNgEKITckDeE3qw5hOS8YoTkwHOFH8x4hTPBq4U9PbyFQnbyhUADPYVFl0aFRANohUgDg4VMw4WFVruKhVtDo4VYgAG5X8AH/VwBwAAcALQEBAQIBAgEBSAswFRABZQcCBgICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgECAjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNwEBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwIYgECCQsGSgIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAkACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIgBAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAApkLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBoAEDCBUCOQIBAQEBFgEOBwMFwwgCAwEBFwFRAQIGAQECAQECAQLrAQIEBgIBAhsCVQgCAQECagEBAQIGAQFlAwIEAQUACQEC9QEKAgEBBAGQBAICBAEgCigGAgQIAQkGAgMuDQECAAcBBgEBUhYCBwECAQJ6BgMBAQIBBwEBSAIDAQEBAAIABTsHAAE/BFEBAAIALgIXAAEBAwQFCAgCBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFAAcAAT0EAAdtBwBggPAAY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbi9ydXN0Yy84MzA4ODA2NDAzMDRiYTg2OTljNWY5YTBjNDY2NWMzOGEzMjcxOTYzL2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnPNPBAATwAAAKUBAAAaAAAAYWxyZWFkeSBib3Jyb3dlZHEAAAAAAAAAAQAAADMAAABxAAAAAAAAAAEAAAByAAAAL2hvbWUvcGF2ZWwvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbWFyaW5lLXJzLXNkay1tYWluLTAuNi4xNS9zcmMvcmVzdWx0LnJzAFw9EABjAAAAQwAAACMAAABzAAAAAEHY+8AACxiIBBAAlAQQAAEAAAAAAAAAAQAAABggEAAA362BgAAEbmFtZQHUrYGAANwCAEhfWk4xOG1hcmluZV9yc19zZGtfbWFpbjZsb2dnZXIyMGxvZ191dGY4X3N0cmluZ19pbXBsMTdoZGQ5NGY0NzFjMzYyZjE3ZUUBTF9aTjR3YXNpMTNsaWJfZ2VuZXJhdGVkMjJ3YXNpX3NuYXBzaG90X3ByZXZpZXcxOGZkX3dyaXRlMTdoODFlNzQwZmI4NjZkMmMxOUUCT19aTjR3YXNpMTNsaWJfZ2VuZXJhdGVkMjJ3YXNpX3NuYXBzaG90X3ByZXZpZXcxMTByYW5kb21fZ2V0MTdoNjE2NGI5NmNjZGRmYzcxYUUDLV9faW1wb3J0ZWRfd2FzaV9zbmFwc2hvdF9wcmV2aWV3MV9lbnZpcm9uX2dldAQzX19pbXBvcnRlZF93YXNpX3NuYXBzaG90X3ByZXZpZXcxX2Vudmlyb25fc2l6ZXNfZ2V0BStfX2ltcG9ydGVkX3dhc2lfc25hcHNob3RfcHJldmlldzFfcHJvY19leGl0BklfWk40Y29yZTNudW03Zmx0MmRlYzhzdHJhdGVneTZkcmFnb24xNWZvcm1hdF9zaG9ydGVzdDE3aGVkN2VhYzBiMWFiNzg2ODBFBwhkbG1hbGxvYwhGX1pONGNvcmUzbnVtN2ZsdDJkZWM4c3RyYXRlZ3k2ZHJhZ29uMTJmb3JtYXRfZXhhY3QxN2hhNzZkNGM5NjlmN2U5MDkyRQlCX1pONGNvcmUzbnVtN2ZsdDJkZWM4c3RyYXRlZ3k2ZHJhZ29uOW11bF9wb3cxMDE3aDI1NGI5MDc2OWE4M2ZlMGVFCkxfWk40Y29yZTNudW03Zmx0MmRlYzhzdHJhdGVneTVncmlzdTE5Zm9ybWF0X3Nob3J0ZXN0X29wdDE3aGU4ZjFlYjFjNGExYmUyZDNFCy9fWk41YWxsb2M1c2xpY2UxMG1lcmdlX3NvcnQxN2gwMzAzNWY0MDk4M2RhODRhRQwGZGxmcmVlDQ1kaXNwb3NlX2NodW5rDgZtZW1jcHkPB21lbW1vdmUQOV9aTjRjb3JlM251bTZiaWdudW04QmlnMzJ4NDA4bXVsX3BvdzIxN2gzMWFiZGI4ZTA4NTdmMTE2RRE1X1pONGNvcmUzc3RyMTlzbGljZV9lcnJvcl9mYWlsX3J0MTdoNjcwNDcyNjc5ZTFlNDgxMUUSNl9aTjRjb3JlM3N0cjVjb3VudDE0ZG9fY291bnRfY2hhcnMxN2g4MDZiZDU1NTI1NDc0ZDk2RRNJX1pONGNvcmUzbnVtN2ZsdDJkZWM4c3RyYXRlZ3k1Z3Jpc3UxNmZvcm1hdF9leGFjdF9vcHQxN2gyOGRhYzg4MDU0M2FhMTFmRRQHcmVhbGxvYxVhX1pONjNfJExUJGxvZy4uTGV2ZWxGaWx0ZXIkdTIwJGFzJHUyMCRjb3JlLi5zdHIuLnRyYWl0cy4uRnJvbVN0ciRHVCQ4ZnJvbV9zdHIxN2gzYmEwMzMwYmM5NGM4ZWU5RRYuX1pONGNvcmUzZm10OUZvcm1hdHRlcjNwYWQxN2hiOWZkYzQzNGNiYjBjM2E4RRdFX1pONGNvcmUzZm10NWZsb2F0MjlmbG9hdF90b19kZWNpbWFsX2NvbW1vbl9leGFjdDE3aDA4NDZiYzU2YmM0NDU0ZThFGDhfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMTJwYWRfaW50ZWdyYWwxN2hiYTUzODI4NTNlOTliOGYzRRlFX1pONDBfJExUJHN0ciR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aDYzYjYyZWI4NDZiMzg1YzVFGjtfWk4zc3RkOXBhbmlja2luZzIwcnVzdF9wYW5pY193aXRoX2hvb2sxN2hjY2IwNGUwZDg2ODExNmIwRRszX1pOM3N0ZDlwYW5pY2tpbmcxMmRlZmF1bHRfaG9vazE3aGZjNjA2MWQxZDM0NWIzOGVFHDhfWk4zc3RkMmlvNVdyaXRlMTh3cml0ZV9hbGxfdmVjdG9yZWQxN2hjOTA2MDUxYzRiMjgwZDFkRR1RX1pOM3N0ZDlwYW5pY2tpbmcxMmRlZmF1bHRfaG9vazI4XyR1N2IkJHU3YiRjbG9zdXJlJHU3ZCQkdTdkJDE3aDFjOWRhZWViOGU5MDQ0NDVFHmdfWk42OF8kTFQkY29yZS4uZm10Li5idWlsZGVycy4uUGFkQWRhcHRlciR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX3N0cjE3aDViZTYzNjcyNmFkMTEzZmVFH0hfWk40Y29yZTNmbXQ1ZmxvYXQzMmZsb2F0X3RvX2RlY2ltYWxfY29tbW9uX3Nob3J0ZXN0MTdoOGRjNDI5NzIzZDBhNmRlNEUgM19aTjRjb3JlM3N0cjhjb252ZXJ0czlmcm9tX3V0ZjgxN2g5MDZkMmZiMGNiYTdiOTA5RSFmX1pONzFfJExUJGNvcmUuLmhhc2guLnNpcC4uSGFzaGVyJExUJFMkR1QkJHUyMCRhcyR1MjAkY29yZS4uaGFzaC4uSGFzaGVyJEdUJDV3cml0ZTE3aGIxMTk4ZDI3YjkxYjk5OTNFIkFfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMjF3cml0ZV9mb3JtYXR0ZWRfcGFydHMxN2g2ZjA3NzNkYzljZGQyYWZiRSM2X1pOM3N0ZDRzeW5jNG9uY2U0T25jZTEwY2FsbF9pbm5lcjE3aDE4ZDE4YzAzMTI0NTg5ZTZFJCZfWk40Y29yZTNmbXQ1d3JpdGUxN2g3NWZlNWEyYmI2YjFmYzAyRSU/X1pONGNvcmUzZm10OUZvcm1hdHRlcjE5cGFkX2Zvcm1hdHRlZF9wYXJ0czE3aGM1NDcxZTM3ODI5MDk4MjlFJidfWk4zc3RkNnRocmVhZDRwYXJrMTdoNzk1NzI5MmVlYTk1ZTk1OUUnS19aTjE4bWFyaW5lX3JzX3Nka19tYWluNmxvZ2dlcjE3V2FzbUxvZ2dlckJ1aWxkZXI1YnVpbGQxN2g4ODc3Njg5ZDg5NzE2ZTQzRShgX1pONjdfJExUJG1hcmluZV9yc19zZGtfbWFpbi4ubG9nZ2VyLi5XYXNtTG9nZ2VyJHUyMCRhcyR1MjAkbG9nLi5Mb2ckR1QkM2xvZzE3aDI0NTc5NzllNGRjZWIxMGZFKThfWk4zc3RkMmlvNVdyaXRlMTh3cml0ZV9hbGxfdmVjdG9yZWQxN2g5NDY1OGU4NWY3YjNmZjVhRSo3X1pONGNvcmU0aGFzaDExQnVpbGRIYXNoZXI4aGFzaF9vbmUxN2g2ZGMyMTI5MzA5ZDFkOTVmRSsIYWxsb2NhdGUsXF9aTjRjb3JlM2ZtdDNudW01MF8kTFQkaW1wbCR1MjAkY29yZS4uZm10Li5EZWJ1ZyR1MjAkZm9yJHUyMCR1NjQkR1QkM2ZtdDE3aDRkOTU4MjBmNWUxNzg2YzNFLVlfWk40Y29yZTNudW03Zmx0MmRlYzhzdHJhdGVneTVncmlzdTE2Zm9ybWF0X2V4YWN0X29wdDE0cG9zc2libHlfcm91bmQxN2gwODY5MWYwOTJjYjNjMmYyRS5GX1pONDFfJExUJGNoYXIkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2g3OGNjMWYxMjdjNmQ1YzU2RS9wX1pONzJfJExUJCRSRiRzdHIkdTIwJGFzJHUyMCRhbGxvYy4uZmZpLi5jX3N0ci4uQ1N0cmluZy4ubmV3Li5TcGVjTmV3SW1wbCRHVCQxM3NwZWNfbmV3X2ltcGwxN2g0MGE1ZjQ3ZDczY2E5MTI2RTARaW50ZXJuYWxfbWVtYWxpZ24xgAFfWk4zc3RkMmlvNWltcGxzNzRfJExUJGltcGwkdTIwJHN0ZC4uaW8uLldyaXRlJHUyMCRmb3IkdTIwJGFsbG9jLi52ZWMuLlZlYyRMVCR1OCRDJEEkR1QkJEdUJDE0d3JpdGVfdmVjdG9yZWQxN2g5ZGY3MmU1NjNiZTNjM2RiRTJGX1pONGNvcmUzbnVtNmJpZ251bThCaWczMng0MDEwbXVsX2RpZ2l0czltdWxfaW5uZXIxN2gzNTk4MWU3NDdmZjIwODFmRTM7X1pONGNvcmUzbnVtN2ZsdDJkZWMxN2RpZ2l0c190b19kZWNfc3RyMTdoODE4MmYzZWM0YTk0NDM2MUU0T19aTjNzdGQyaW84YnVmZmVyZWQ5YnVmd3JpdGVyMThCdWZXcml0ZXIkTFQkVyRHVCQ5Zmx1c2hfYnVmMTdoOTJiZTVhMGVkZDA5MGE0ZEU1O19aTjRjb3JlOXBhbmlja2luZzE5YXNzZXJ0X2ZhaWxlZF9pbm5lcjE3aDI0MmM1ZDY5NGI3ZDZmYjdFNgZtZW1zZXQ3NF9aTjRjb3JlN3VuaWNvZGU5cHJpbnRhYmxlNWNoZWNrMTdoNTk4MDM1ZmYxODliM2E3YUU4PF9aTjRjb3JlM2ZtdDhidWlsZGVyczExRGVidWdTdHJ1Y3Q1ZmllbGQxN2g2ZGQ1MmNlYjYzMWEwODEzRTlSX1pOM3N0ZDRzeW5jNG9uY2U0T25jZTljYWxsX29uY2UyOF8kdTdiJCR1N2IkY2xvc3VyZSR1N2QkJHU3ZCQxN2gzNGE2ODVlMzhjYzg5Y2NhRTpKX1pONGNvcmU3dW5pY29kZTEydW5pY29kZV9kYXRhMTVncmFwaGVtZV9leHRlbmQ2bG9va3VwMTdoZDU5NzU5MTdiNzY5OWYwZUU7V19aTjUwXyRMVCQkUkYkbXV0JHUyMCRXJHUyMCRhcyR1MjAkY29yZS4uZm10Li5Xcml0ZSRHVCQxMHdyaXRlX2NoYXIxN2hmNTc5MDg4ZDJhZWZmODhhRTxmX1pONzNfJExUJGNvcmUuLnBhbmljLi5wYW5pY19pbmZvLi5QYW5pY0luZm8kdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aDVhNWY2NWFjZjgzNjczODFFPV9fWk41OF8kTFQkYWxsb2MuLnN0cmluZy4uU3RyaW5nJHUyMCRhcyR1MjAkY29yZS4uZm10Li5Xcml0ZSRHVCQxMHdyaXRlX2NoYXIxN2g1NzU1NjFlNjQyZjg1ODYzRT4IX19zdHBjcHk/X19aTjU4XyRMVCRhbGxvYy4uc3RyaW5nLi5TdHJpbmckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDEwd3JpdGVfY2hhcjE3aDU3NTU2MWU2NDJmODU4NjNFQAtfX3N0cmNocm51bEE+X1pONGNvcmU1c2xpY2U2bWVtY2hyMTltZW1jaHJfZ2VuZXJhbF9jYXNlMTdoY2E1MDhkMGUxZWNmNmQ0Y0VCMF9aTjRjb3JlM2ZtdDNudW0zaW1wN2ZtdF91NjQxN2hiMGNhYmI1NTdjMDZjMWRiRUM7X1pOM3N0ZDVhbGxvYzI0ZGVmYXVsdF9hbGxvY19lcnJvcl9ob29rMTdoYjFmYmM1NTA2ZTkxMzMwZkVEN19aTjNzdGQzc3lzNHdhc2kxN2RlY29kZV9lcnJvcl9raW5kMTdoODUyZGE4ZjU5YWU5NzI3Y0VFXF9aTjRjb3JlM2ZtdDNudW01MF8kTFQkaW1wbCR1MjAkY29yZS4uZm10Li5EZWJ1ZyR1MjAkZm9yJHUyMCR1MzIkR1QkM2ZtdDE3aGEwYzIxYTYxZmY0MmNmMGFFRjtfWk40Y29yZTNmbXQ4YnVpbGRlcnMxMERlYnVnVHVwbGU1ZmllbGQxN2gxZTU2MTBiYWE3NDhjNDA5RUcyX1pONGNvcmUzZm10NVdyaXRlMTB3cml0ZV9jaGFyMTdoMzE2NjBhNDk3ZjE1ZDI3MUVILF9aTjNzdGQzZW52MTFjdXJyZW50X2RpcjE3aGM0MzU4ODc3M2Q2OGViZGNFSURfWk41YWxsb2MzZmZpNWNfc3RyN0NTdHJpbmcxOV9mcm9tX3ZlY191bmNoZWNrZWQxN2g4ZmMzNDk1NjlmZTYyNDQwRUo7X1pONGNvcmUzZm10OGJ1aWxkZXJzMTBEZWJ1Z0lubmVyNWVudHJ5MTdoNjA3MjA4OTI2MGI0ZjUxYUVLCXRlc3RfbG9nc0xMX1pOM3N0ZDEwc3lzX2NvbW1vbjEzdGhyZWFkX3BhcmtlcjdnZW5lcmljNlBhcmtlcjZ1bnBhcmsxN2hjZGE4MWYyNmYwNjFmYzQzRU14X1pOOTFfJExUJHN0ZC4uc3lzX2NvbW1vbi4uYmFja3RyYWNlLi5fcHJpbnQuLkRpc3BsYXlCYWNrdHJhY2UkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGVkMmNkODQ4MWRlOGFjYjFFTlBfWk4zc3RkNnRocmVhZDVsb2NhbDRsYXp5MjFMYXp5S2V5SW5uZXIkTFQkVCRHVCQxMGluaXRpYWxpemUxN2g1MmZmZmE1YWM0MzBlMzNlRU9zX1pOODBfJExUJHN0ZC4uaW8uLldyaXRlLi53cml0ZV9mbXQuLkFkYXB0ZXIkTFQkVCRHVCQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDl3cml0ZV9zdHIxN2hhMzc3ZjYxNmM2NDRkMTU3RVBJX1pOMThtYXJpbmVfcnNfc2RrX21haW42bG9nZ2VyMTdXYXNtTG9nZ2VyQnVpbGRlcjNuZXcxN2hhNWZmYmYwNWU1MDdiZjY4RVEzX1pOM3N0ZDJydDE5bGFuZ19zdGFydF9pbnRlcm5hbDE3aDcwODg1NmRiYTBkMGUzMjBFUnxfWk45MF8kTFQkc3RkLi5wYW5pY2tpbmcuLmJlZ2luX3BhbmljX2hhbmRsZXIuLlBhbmljUGF5bG9hZCR1MjAkYXMkdTIwJGNvcmUuLnBhbmljLi5Cb3hNZVVwJEdUJDh0YWtlX2JveDE3aDFjNGE5MWU2NjNlN2VkNWNFUy1fWk4zc3RkNnRocmVhZDZUaHJlYWQzbmV3MTdoZWMxNDVkNTM2YjE3NjZmNUVUV19aTjUwXyRMVCQkUkYkbXV0JHUyMCRXJHUyMCRhcyR1MjAkY29yZS4uZm10Li5Xcml0ZSRHVCQxMHdyaXRlX2NoYXIxN2hiOGRlMWU2YzcyMDVmMjNiRVUkX1pOM3N0ZDNlbnY0X3ZhcjE3aDNiM2Y0MDIzYzZhZTMxNGVFVldfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkMTB3cml0ZV9jaGFyMTdoOTBjOTc3NzQ0ZjkzMmM0MEVXMl9aTjRjb3JlM2ZtdDVXcml0ZTEwd3JpdGVfY2hhcjE3aDk1NWYzNWY1NGY2ZGNhYzBFWDJfWk40Y29yZTNmbXQ1V3JpdGUxMHdyaXRlX2NoYXIxN2g3NDQ3MTNlN2I5ZDJiNDVkRVknX1pOM3N0ZDNlbnY3X3Zhcl9vczE3aGJjOGZlOTNiMTQwZGM4NGJFWi5fWk4zc3RkMmlvNVdyaXRlOXdyaXRlX2ZtdDE3aGYyNTgwZjg3OWYyMjI0NDhFWy5fWk4zc3RkMmlvNVdyaXRlOXdyaXRlX2ZtdDE3aDc3NjI5YWQ2YmY4NTQ5Y2FFXExfWk41YWxsb2M3cmF3X3ZlYzE5UmF3VmVjJExUJFQkQyRBJEdUJDE2cmVzZXJ2ZV9mb3JfcHVzaDE3aDI5ZjYyNmY4YjY5YWZlYWRFXUVfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMjVkZWJ1Z190dXBsZV9maWVsZDJfZmluaXNoMTdoMzM1OTVhZDAwNmFlYTZhNUVeRV9aTjRjb3JlM2ZtdDlGb3JtYXR0ZXIyNWRlYnVnX3R1cGxlX2ZpZWxkMV9maW5pc2gxN2hiZTYyNjY4NTNkM2JmNmZmRV82X1pOM3N0ZDVwYW5pYzE5Z2V0X2JhY2t0cmFjZV9zdHlsZTE3aDdlYmE3Y2FlYjZkNDIyZmNFYEBfWk4zc3RkNnRocmVhZDVsb2NhbDE3TG9jYWxLZXkkTFQkVCRHVCQ0d2l0aDE3aDY2ODAyNWNhYmJkMTliYjBFYS5fWk4zbG9nMTdfX3ByaXZhdGVfYXBpX2xvZzE3aGI4ODc0MjgwYTIyNzQ5ZTVFYi5fWk4zc3RkMmlvNVdyaXRlOXdyaXRlX2FsbDE3aGE3NTY5OWEwNGE1ZmU3YTZFYwZkaXZpZGVkTF9aTjVhbGxvYzdyYXdfdmVjMTlSYXdWZWMkTFQkVCRDJEEkR1QkMTZyZXNlcnZlX2Zvcl9wdXNoMTdoNDg2MDE1YWZkYjI2YTFmZkVlWV9aTjVhbGxvYzdyYXdfdmVjMTlSYXdWZWMkTFQkVCRDJEEkR1QkN3Jlc2VydmUyMWRvX3Jlc2VydmVfYW5kX2hhbmRsZTE3aGExM2QxYzE4YjYxOWRiZTJFZllfWk41YWxsb2M3cmF3X3ZlYzE5UmF3VmVjJExUJFQkQyRBJEdUJDdyZXNlcnZlMjFkb19yZXNlcnZlX2FuZF9oYW5kbGUxN2g2ZjI0NmE5NTRkZWU0YTZlRWdMX1pONWFsbG9jN3Jhd192ZWMxOVJhd1ZlYyRMVCRUJEMkQSRHVCQxNnJlc2VydmVfZm9yX3B1c2gxN2hkNmFiMWVkMDJhMTA1YTFkRWhMX1pONWFsbG9jN3Jhd192ZWMxOVJhd1ZlYyRMVCRUJEMkQSRHVCQxNnJlc2VydmVfZm9yX3B1c2gxN2gwZTdmMDE3OGU2MjU5MGJhRWkDYWRkaghzdWJ0cmFjdGsIbXVsdGlwbHlsBnN0cmxlbm04X1pOM3N0ZDEwc3lzX2NvbW1vbjExdGhyZWFkX2luZm8zc2V0MTdoZDVmMDUyMWE4ZDg3NzYyNUVuPF9aTjRjb3JlN3VuaWNvZGU5cHJpbnRhYmxlMTJpc19wcmludGFibGUxN2g4M2M4ZDAxMjkxZDViZmZjRW9dX1pONGNvcmUzcHRyNTlkcm9wX2luX3BsYWNlJExUJG1hcmluZV9yc19zZGtfbWFpbi4ubG9nZ2VyLi5XYXNtTG9nZ2VyJEdUJDE3aDkzMTIyNzY4ZjBlMDkxZTFFcE1fWk40Y29yZTNmbXQ4YnVpbGRlcnMxMURlYnVnU3RydWN0MjFmaW5pc2hfbm9uX2V4aGF1c3RpdmUxN2g4MzJkNjEwYTg0YzU2NzZhRXF3X1pOOTBfJExUJHN0ZC4ucGFuaWNraW5nLi5iZWdpbl9wYW5pY19oYW5kbGVyLi5QYW5pY1BheWxvYWQkdTIwJGFzJHUyMCRjb3JlLi5wYW5pYy4uQm94TWVVcCRHVCQzZ2V0MTdoYzhkNmQ2NGQ0Mzg2YTM3NkVyCnJ1c3RfcGFuaWNzMl9aTjVhbGxvYzdyYXdfdmVjMTFmaW5pc2hfZ3JvdzE3aDc2Y2JiMzFiM2VmYjFhZDlFdDJfWk41YWxsb2M3cmF3X3ZlYzExZmluaXNoX2dyb3cxN2g4MWRjYjY1NWI2YWY2YzYzRXVLX1pONWFsbG9jN3Jhd192ZWMxMWZpbmlzaF9ncm93MTdoMDliNzk0ODExZWZkMGRkNEUubGx2bS43MDQzNDUzNjExMTg5NzYzNzExdl9fWk40Y29yZTNmbXQzbnVtNTNfJExUJGltcGwkdTIwJGNvcmUuLmZtdC4uTG93ZXJIZXgkdTIwJGZvciR1MjAkaTE2JEdUJDNmbXQxN2hmZjVjYzMzMWExYmI0MzgzRXdeX1pONGNvcmUzZm10M251bTUyXyRMVCRpbXBsJHUyMCRjb3JlLi5mbXQuLkxvd2VySGV4JHUyMCRmb3IkdTIwJGk4JEdUJDNmbXQxN2hmZmI4NmQ0NWQxNzEwNDI4RXheX1pONGNvcmUzZm10M251bTUyXyRMVCRpbXBsJHUyMCRjb3JlLi5mbXQuLlVwcGVySGV4JHUyMCRmb3IkdTIwJGk4JEdUJDNmbXQxN2hkOGFjY2IxYmUxMjJkZTVkRXlfX1pONGNvcmUzZm10M251bTUzXyRMVCRpbXBsJHUyMCRjb3JlLi5mbXQuLlVwcGVySGV4JHUyMCRmb3IkdTIwJGkxNiRHVCQzZm10MTdoYjZiODQ4OWQ3NzUxOGM2N0V6X19aTjRjb3JlM2ZtdDNudW01M18kTFQkaW1wbCR1MjAkY29yZS4uZm10Li5Mb3dlckhleCR1MjAkZm9yJHUyMCRpMzIkR1QkM2ZtdDE3aGM5ZTIxNjEzNTIxNjlkOTBFe19fWk40Y29yZTNmbXQzbnVtNTNfJExUJGltcGwkdTIwJGNvcmUuLmZtdC4uVXBwZXJIZXgkdTIwJGZvciR1MjAkaTMyJEdUJDNmbXQxN2g2YjdkOWFiMDdlYWVjZmNhRXwdX193YXNpbGliY19pbml0aWFsaXplX2Vudmlyb259B3N0cm5jbXB+ZF9aTjY3XyRMVCRtYXJpbmVfcnNfc2RrX21haW4uLmxvZ2dlci4uV2FzbUxvZ2dlciR1MjAkYXMkdTIwJGxvZy4uTG9nJEdUJDdlbmFibGVkMTdoN2ExMjgwZTRhNzRkYTBlZkV/Y19aTjcwXyRMVCRjb3JlLi5wYW5pYy4ubG9jYXRpb24uLkxvY2F0aW9uJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EaXNwbGF5JEdUJDNmbXQxN2gxZjM3Mzc4YzAyYzI2OTA3RYABWF9aTjNzdGQ5cGFuaWNraW5nMTliZWdpbl9wYW5pY19oYW5kbGVyMjhfJHU3YiQkdTdiJGNsb3N1cmUkdTdkJCR1N2QkMTdoNTU0MWY3NGEwMzMxYTFkY0WBAQZnZXRlbnaCAVxfWk42M18kTFQkd2FzaS4ubGliX2dlbmVyYXRlZC4uRXJybm8kdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2g4ZTQwN2U5ZTIwYmNlMDQzRYMBMl9aTjRjb3JlNnJlc3VsdDEzdW53cmFwX2ZhaWxlZDE3aDg2OGEwMDYwMWEzZWI2ODdFhAFfX1pONjRfJExUJHN0ZC4uc3lzLi53YXNpLi5zdGRpby4uU3RkZXJyJHUyMCRhcyR1MjAkc3RkLi5pby4uV3JpdGUkR1QkNXdyaXRlMTdoOGRlNzk5NjUyNGZiM2FkZkWFAT1fWk40Y29yZTNmbXQ4YnVpbGRlcnMxMURlYnVnU3RydWN0NmZpbmlzaDE3aDE1ODY1OWZjZjc5YzU5ZjlFhgFkX1pONzFfJExUJGNvcmUuLm9wcy4ucmFuZ2UuLlJhbmdlJExUJElkeCRHVCQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2g2NzQzYWVkNmQyMzZhMzlhRYcBBmNhbGxvY4gBSV9aTjQ0XyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGlzcGxheSRHVCQzZm10MTdoMjMwZDVhOTZjNzhkZDRlN0WJAUdfWk40Ml8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2gxZmM4NGJmMDZlOTFkZWUwRYoBOV9aTjNzdGQzc3lzNHdhc2kxOWhhc2htYXBfcmFuZG9tX2tleXMxN2gxYzBjMGM4ZGQ1ZDQ3YmE4RYsBSV9aTjVhbGxvYzN2ZWMxNlZlYyRMVCRUJEMkQSRHVCQ2cmVtb3ZlMTNhc3NlcnRfZmFpbGVkMTdoYWYyNmM2ODIzNjUyOGZkNkWMAUdfWk40Y29yZTVzbGljZTVpbmRleDI5c2xpY2Vfc3RhcnRfaW5kZXhfbGVuX2ZhaWxfcnQxN2hhNGE1MTA5MTg5YmU2MDBiRY0BRV9aTjRjb3JlNXNsaWNlNWluZGV4MjdzbGljZV9lbmRfaW5kZXhfbGVuX2ZhaWxfcnQxN2gxYjk4OWE3YjkyYmY2Y2Y1RY4BQ19aTjRjb3JlNXNsaWNlNWluZGV4MjVzbGljZV9pbmRleF9vcmRlcl9mYWlsX3J0MTdoNTlmZTk3Mzc0MzdiZTljMUWPATpfWk40Y29yZTlwYW5pY2tpbmcxOHBhbmljX2JvdW5kc19jaGVjazE3aDk4NDRlNDZjMzM5YjliZmZFkAFYX1pONTlfJExUJGNvcmUuLmZtdC4uQXJndW1lbnRzJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EaXNwbGF5JEdUJDNmbXQxN2hhNjM1MjMyMTQxNzYyYTVlRZEBNF9aTjRjb3JlM2ZtdDlGb3JtYXR0ZXI5d3JpdGVfZm10MTdoNTVhZGViODYxNTYzM2VkMUWSATVfWk40Y29yZTlwYW5pY2tpbmcxM2Fzc2VydF9mYWlsZWQxN2g4OTZkODFlMmU3ZDI3MjAwRZMBNV9aTjRjb3JlOXBhbmlja2luZzEzYXNzZXJ0X2ZhaWxlZDE3aDRhNzEyZTM2ZmQwN2U5ZDdFlAE1X1pONGNvcmU5cGFuaWNraW5nMTNhc3NlcnRfZmFpbGVkMTdoM2NmYmY5MWI2NGRiMzljMEWVAVVfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX2ZtdDE3aDBmMzMwMTcwODg4OGU2ZTNFlgFVX1pONTBfJExUJCRSRiRtdXQkdTIwJFckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDl3cml0ZV9mbXQxN2gzYzY0ODYzMzk5NmZlMDc3RZcBVV9aTjUwXyRMVCQkUkYkbXV0JHUyMCRXJHUyMCRhcyR1MjAkY29yZS4uZm10Li5Xcml0ZSRHVCQ5d3JpdGVfZm10MTdoNjA5Zjc0NDg3MTYwNWU4YUWYAVVfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX2ZtdDE3aGU5ZThmNDI3ZGJhMWU1N2ZFmQFVX1pONTBfJExUJCRSRiRtdXQkdTIwJFckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDl3cml0ZV9mbXQxN2gwZTQ3NWRiNzM1NDYxZTQ5RZoBMF9aTjRjb3JlM2ZtdDVXcml0ZTl3cml0ZV9mbXQxN2hkMmIzMGJjOGFhNTczYzQ3RZsBLV9aTjNsb2cxNnNldF9ib3hlZF9sb2dnZXIxN2g1YzA4OTg2YmQxZDc2MDNkRZwBMF9aTjRjb3JlM2ZtdDVXcml0ZTl3cml0ZV9mbXQxN2g0OGE0MmFkNzU4OGY0ZWU5RZ0BMF9aTjRjb3JlM2ZtdDVXcml0ZTl3cml0ZV9mbXQxN2g2ZWE0NzQ0ZmU2M2IyMTk1RZ4BaV9aTjY0XyRMVCRzdGQuLnN5cy4ud2FzaS4uc3RkaW8uLlN0ZGVyciR1MjAkYXMkdTIwJHN0ZC4uaW8uLldyaXRlJEdUJDE0d3JpdGVfdmVjdG9yZWQxN2g2OWRkZjM2YTk3OTdhOWFiRZ8BMF9aTjRjb3JlM2ZtdDVXcml0ZTl3cml0ZV9mbXQxN2hjZWU1ZjNmZTQ1M2ZiZmQxRaABBXN0YXRloQE6X1pONWFsbG9jNHN5bmMxMkFyYyRMVCRUJEdUJDlkcm9wX3Nsb3cxN2gxOTI4YzYyNTVmYTMzMDdkRaIBdl9aTjNzdGQyaW81aW1wbHM3NF8kTFQkaW1wbCR1MjAkc3RkLi5pby4uV3JpdGUkdTIwJGZvciR1MjAkYWxsb2MuLnZlYy4uVmVjJExUJHU4JEMkQSRHVCQkR1QkNXdyaXRlMTdoMzk5MTU1OWFhYzY0NzBmMkWjAQtjbGVhcl9zdGF0ZaQBY19aTjcwXyRMVCRjb3JlLi5yZXN1bHQuLlJlc3VsdCRMVCRUJEMkRSRHVCQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2hiZjI5ODBhYmFjYmMxZGU4RaUBfV9aTjkxXyRMVCRzdGQuLnBhbmlja2luZy4uYmVnaW5fcGFuaWMuLlBhbmljUGF5bG9hZCRMVCRBJEdUJCR1MjAkYXMkdTIwJGNvcmUuLnBhbmljLi5Cb3hNZVVwJEdUJDh0YWtlX2JveDE3aGUyYTNiMTY3ZGZhYjliNjBFpgFVX1pONTBfJExUJCRSRiRtdXQkdTIwJFckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDl3cml0ZV9zdHIxN2g4YjdhNTE4MzA2ZWM2M2RiRacBVV9aTjUwXyRMVCQkUkYkbXV0JHUyMCRXJHUyMCRhcyR1MjAkY29yZS4uZm10Li5Xcml0ZSRHVCQ5d3JpdGVfc3RyMTdoMWI2MWEwMjJhZGMyNWRkYkWoAVVfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX3N0cjE3aDQ0ODczYjQ2ODNjZjk0M2FFqQF6X1pOM3N0ZDJpbzVpbXBsczc0XyRMVCRpbXBsJHUyMCRzdGQuLmlvLi5Xcml0ZSR1MjAkZm9yJHUyMCRhbGxvYy4udmVjLi5WZWMkTFQkdTgkQyRBJEdUJCRHVCQ5d3JpdGVfYWxsMTdoZThjYzI2MjMwNDQwNmUwYkWqAXNfWk44MF8kTFQkc3RkLi5pby4uV3JpdGUuLndyaXRlX2ZtdC4uQWRhcHRlciRMVCRUJEdUJCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX3N0cjE3aDkzNmQ4ZTkxYTE1NjhmNThFqwE0X1pONHdhc2kxM2xpYl9nZW5lcmF0ZWQ4ZmRfd3JpdGUxN2g1MDZlNmUxNGE4MGEwYmJiRawBXV9aTjU4XyRMVCRhbGxvYy4uc3RyaW5nLi5TdHJpbmckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDl3cml0ZV9zdHIxN2g1MTY4MGQyM2NjMWU2ZWIxRa0BBHNicmuuAXNfWk40Y29yZTNwdHI4MWRyb3BfaW5fcGxhY2UkTFQkY29yZS4ucmVzdWx0Li5SZXN1bHQkTFQkJExQJCRSUCQkQyRzdGQuLmlvLi5lcnJvci4uRXJyb3IkR1QkJEdUJDE3aGQ4NGFkYWIyYThlNWVjYmFFrwF5X1pONGNvcmUzcHRyODdkcm9wX2luX3BsYWNlJExUJHN0ZC4uaW8uLldyaXRlLi53cml0ZV9mbXQuLkFkYXB0ZXIkTFQkJFJGJG11dCR1MjAkJHU1YiR1OCR1NWQkJEdUJCRHVCQxN2g0ZjQzY2EyMGEwY2JhNmM0RbABDV9fcmRsX3JlYWxsb2OxAQZtZW1jbXCyAUZfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMTJwYWRfaW50ZWdyYWwxMndyaXRlX3ByZWZpeDE3aDhmMmU0ZmMzZGFhMjYzNzVFswEGZ2V0Y3dktAE6X1pONWFsbG9jNHN5bmMxMkFyYyRMVCRUJEdUJDlkcm9wX3Nsb3cxN2g2YzFmZGI4NjZlMmFlZmQ3RbUBXV9aTjY0XyRMVCRhbGxvYy4uZmZpLi5jX3N0ci4uTnVsRXJyb3IkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2hlOGFiOTlhZDhmZDZiOTA4RbYBLF9aTjRjb3JlOXBhbmlja2luZzVwYW5pYzE3aGVkZjQzNzhlMjA0NjFiMjVFtwE1X1pONGNvcmU5cGFuaWNraW5nMTNwYW5pY19kaXNwbGF5MTdoNjE0YmNmYTcyMzZmOTFhYUW4AX9fWk45M18kTFQkc3RkLi5wYW5pY2tpbmcuLmJlZ2luX3BhbmljX2hhbmRsZXIuLlN0clBhbmljUGF5bG9hZCR1MjAkYXMkdTIwJGNvcmUuLnBhbmljLi5Cb3hNZVVwJEdUJDh0YWtlX2JveDE3aGNmODc3ZmRiMGZjY2Q1NjFFuQFgX1pONGNvcmUzZm10NWZsb2F0NTJfJExUJGltcGwkdTIwJGNvcmUuLmZtdC4uRGlzcGxheSR1MjAkZm9yJHUyMCRmNjQkR1QkM2ZtdDE3aDY1NDMyN2NkNmY5ZWM1YTJFugERcnVzdF9iZWdpbl91bndpbmS7AThfWk41YWxsb2M3cmF3X3ZlYzE3Y2FwYWNpdHlfb3ZlcmZsb3cxN2hjYTIzZTA2MDBhOTUzNGY2RbwBMF9aTjRjb3JlOXBhbmlja2luZzlwYW5pY19mbXQxN2g3YTY1MWM3MGE5NDkyMjhjRb0BKl9aTjEyY2FsY19zZXJ2aWNlNG1haW4xN2gwY2E3NWE5OTZkODFiYTczRb4BVV9aTjU2XyRMVCRsb2cuLlNldExvZ2dlckVycm9yJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoNjUyYzYxNzYzODg0NTJhMkW/AUdfWk40Ml8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2gzZWJjMzNmYzA3ZjQwZmRmRcABYV9aTjY4XyRMVCRzdGQuLnRocmVhZC4ubG9jYWwuLkFjY2Vzc0Vycm9yJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoNTE3ZjAxOTlmNzk2OWU0ZEXBAWlfWk43Nl8kTFQkc3RkLi5zeW5jLi5wb2lzb24uLlBvaXNvbkVycm9yJExUJFQkR1QkJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoMTdhNDJkMjNlOGVjMWJjZEXCAUdfWk40Ml8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2g1Y2M3Njk4N2QxYWY4YzljRcMBR19aTjQyXyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aGMxOGRkNjA0OTVjZWZlMDBFxAEPX19vcmlnaW5hbF9tYWluxQFhX1pOM3N0ZDJydDEwbGFuZ19zdGFydDI4XyR1N2IkJHU3YiRjbG9zdXJlJHU3ZCQkdTdkJDE3aDY5ZmNlMWZmZGI2ZjVhOThFLmxsdm0uNzEzOTI0MTQxMTY3NDgxMjc1M8YBc19aTjRjb3JlM29wczhmdW5jdGlvbjZGbk9uY2U0MGNhbGxfb25jZSR1N2IkJHU3YiR2dGFibGUuc2hpbSR1N2QkJHU3ZCQxN2gyMjFjZWNjMmEwOGQ2ZTM4RS5sbHZtLjcxMzkyNDE0MTE2NzQ4MTI3NTPHAYoBX1pONGNvcmUzcHRyMTAzZHJvcF9pbl9wbGFjZSRMVCRzdGQuLnN5bmMuLnBvaXNvbi4uUG9pc29uRXJyb3IkTFQkc3RkLi5zeW5jLi5tdXRleC4uTXV0ZXhHdWFyZCRMVCQkTFAkJFJQJCRHVCQkR1QkJEdUJDE3aGEzYjY1YzIyMDJlZDhjOWNFyAFQX1pOM3N0ZDlwYW5pY2tpbmcxMWJlZ2luX3BhbmljMjhfJHU3YiQkdTdiJGNsb3N1cmUkdTdkJCR1N2QkMTdoM2ZhOWYwYzVkM2JkNzBmZEXJATJfWk40Y29yZTNzdHIxNnNsaWNlX2Vycm9yX2ZhaWwxN2hkNGY4MTcyYTA1YjExYTk5RcoBLl9aTjRjb3JlM2ZtdDlGb3JtYXR0ZXIzbmV3MTdoNDkxOGE3OWU1NTQyN2Y4OEXLAThfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMTJkZWJ1Z19zdHJ1Y3QxN2g5N2UxYzNkYjQ0YzU5YmE3RcwBNl9aTjRjb3JlM2ZtdDlGb3JtYXR0ZXIxMGRlYnVnX2xpc3QxN2hjZmE0NmI2NDgxODczMjEyRc0BXF9aTjRjb3JlM2ZtdDNudW01MF8kTFQkaW1wbCR1MjAkY29yZS4uZm10Li5EZWJ1ZyR1MjAkZm9yJHUyMCR1MTYkR1QkM2ZtdDE3aGRjNTNlOTE1M2E4MGM4ZWFFzgFaX1pONGNvcmUzb3BzOGZ1bmN0aW9uNkZuT25jZTQwY2FsbF9vbmNlJHU3YiQkdTdiJHZ0YWJsZS5zaGltJHU3ZCQkdTdkJDE3aGIwYzFkNzhjYWUyM2M5ODFFzwE6X1pONGNvcmUzZm10OGJ1aWxkZXJzOURlYnVnTGlzdDZmaW5pc2gxN2hjNmJlNTZkZDZiZDQxYWVkRdABMl9aTjNzdGQ5cGFuaWNraW5nMTFiZWdpbl9wYW5pYzE3aGQ2N2I5NTY5NmM3ZjRmZjVF0QFoX1pONGNvcmUzcHRyNzBkcm9wX2luX3BsYWNlJExUJHN0ZC4ucGFuaWNraW5nLi5iZWdpbl9wYW5pY19oYW5kbGVyLi5QYW5pY1BheWxvYWQkR1QkMTdoNGI1ODNhYTM0NDIzYzUwMkXSATBfWk40Y29yZTlwYW5pY2tpbmc5cGFuaWNfc3RyMTdoZTE2NDQzMDcwMTk4OGU1YUXTAQtfX3JkbF9hbGxvY9QBNl9aTjR3YXNpMTNsaWJfZ2VuZXJhdGVkNUVycm5vNG5hbWUxN2hmZDJlOWQ1YjM5NGFhNzljRdUBOV9aTjR3YXNpMTNsaWJfZ2VuZXJhdGVkNUVycm5vN21lc3NhZ2UxN2hlNjQ0MWI5OTQ1ZjI4YjM0RdYBBnN0cmR1cNcBTF9aTjRjb3JlM3B0cjQyZHJvcF9pbl9wbGFjZSRMVCRhbGxvYy4uc3RyaW5nLi5TdHJpbmckR1QkMTdoYzI0MWFmNWJhYTA2M2RkM0XYAYUCX1pONGNvcmUzcHRyMjI2ZHJvcF9pbl9wbGFjZSRMVCRzdGQuLmVycm9yLi4kTFQkaW1wbCR1MjAkY29yZS4uY29udmVydC4uRnJvbSRMVCRhbGxvYy4uc3RyaW5nLi5TdHJpbmckR1QkJHUyMCRmb3IkdTIwJGFsbG9jLi5ib3hlZC4uQm94JExUJGR5biR1MjAkc3RkLi5lcnJvci4uRXJyb3IkdTJiJGNvcmUuLm1hcmtlci4uU3luYyR1MmIkY29yZS4ubWFya2VyLi5TZW5kJEdUJCRHVCQuLmZyb20uLlN0cmluZ0Vycm9yJEdUJDE3aGU0NzcyOTQ5NTNmOTJhZWNF2QFIX1pONDNfJExUJGJvb2wkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGExY2M5ZWEzZDEyZGRjNDJF2gF4X1pOOTFfJExUJHN0ZC4ucGFuaWNraW5nLi5iZWdpbl9wYW5pYy4uUGFuaWNQYXlsb2FkJExUJEEkR1QkJHUyMCRhcyR1MjAkY29yZS4ucGFuaWMuLkJveE1lVXAkR1QkM2dldDE3aDliMDdiZjIyZThiZTZkYjdF2wE/X1pONWFsbG9jNnN0cmluZzEzRnJvbVV0ZjhFcnJvcjEwaW50b19ieXRlczE3aGExN2RmMTk0OGI3Njc4NGVF3AEIcnVzdF9vb23dATdfWk40d2FzaTEzbGliX2dlbmVyYXRlZDEwcmFuZG9tX2dldDE3aDkxN2JjYWNhOWU5YWY4MGNF3gENYWxpZ25lZF9hbGxvY98BTl9aTjE4bWFyaW5lX3JzX3Nka19tYWluNnJlc3VsdDE4T0JKRUNUU19UT19SRUxFQVNFN19fZ2V0aXQxN2hjYjA2MGU1MmVlNWY5NTU4ReABO19aTjRjb3JlMTBpbnRyaW5zaWNzMTdjb25zdF9ldmFsX3NlbGVjdDE3aGQ1YWZmYTBjOWNlZTZlY2VF4QFcX1pONjNfJExUJGNvcmUuLmNlbGwuLkJvcnJvd011dEVycm9yJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoMTI0MmQ5MTEyNjQ3MTI4MkXiAVJfWk41M18kTFQkY29yZS4uZm10Li5FcnJvciR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aGE2MGRhOGViOWMxMzQ5MThF4wE7X1pONGNvcmU2b3B0aW9uMTVPcHRpb24kTFQkVCRHVCQ2dW53cmFwMTdoNDRhNDBjZDU2YTcyNGUxY0XkATtfWk40Y29yZTZvcHRpb24xNU9wdGlvbiRMVCRUJEdUJDZ1bndyYXAxN2hiYzljMDJjZGNkZGNlMDE0ReUBBl9zdGFydOYBDl9fcnVzdF9yZWFsbG9j5wFNX1pOM3N0ZDEwc3lzX2NvbW1vbjliYWNrdHJhY2UyNl9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlMTdoODU1MzJmMzkwZGFlYWM0ZUXoAU1fWk4zc3RkMTBzeXNfY29tbW9uOWJhY2t0cmFjZTI2X19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2UxN2g3M2E0M2YzOGI1ZTZlZTA5RekBSV9aTjQ0XyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGlzcGxheSRHVCQzZm10MTdoMDY3YzhlZGUyYTNmYmQ3YkXqARlfX3dhc2lsaWJjX2Vuc3VyZV9lbnZpcm9u6wFHX1pONDJfJExUJCRSRiRUJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoMjAwNWIzMWM4OTYxOTIxOUXsAQxfX3J1c3RfYWxsb2PtAUlfWk40NF8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGEwOGZhZjdmN2M3MTgyNzNF7gFXX1pONTBfJExUJCRSRiRtdXQkdTIwJFckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDEwd3JpdGVfY2hhcjE3aDQyNTAzNDBiM2FjZTQyYzJF7wF6X1pOOTNfJExUJHN0ZC4ucGFuaWNraW5nLi5iZWdpbl9wYW5pY19oYW5kbGVyLi5TdHJQYW5pY1BheWxvYWQkdTIwJGFzJHUyMCRjb3JlLi5wYW5pYy4uQm94TWVVcCRHVCQzZ2V0MTdoN2VkNjU2ZThmZjhjNmIzZkXwAUdfWk40Ml8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2g0MWQzYTA2OTc1OTMzNTc1RfEBOl9aTjRjb3JlM29wczhmdW5jdGlvbjZGbk9uY2U5Y2FsbF9vbmNlMTdoYjdiZDgyYzY0MzM2OTI0Y0XyAUlfWk40NF8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGFjMGZkZjAzZWE5ODFmMmVF8wE7X1pONGNvcmUzZm10OUZvcm1hdHRlcjE1ZGVidWdfbG93ZXJfaGV4MTdoMzVkZWQxZDc5NGVhNWQ3MkX0ATtfWk40Y29yZTNmbXQ5Rm9ybWF0dGVyMTVkZWJ1Z191cHBlcl9oZXgxN2hmOWY5MmFjYTFlNTBkZDExRfUBDl9fcnVzdF9kZWFsbG9j9gFHX1pONDJfJExUJCRSRiRUJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoNGNmYzczNWI4NDgyYmNjYUX3AVVfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX3N0cjE3aDRjMmI3MDQ4N2EzZmQxMzVF+AESX193YXNpX2Vudmlyb25fZ2V0+QEYX193YXNpX2Vudmlyb25fc2l6ZXNfZ2V0+gEEZXhpdPsBBnN0cmNwefwBOl9aTjRjb3JlM29wczhmdW5jdGlvbjZGbk9uY2U5Y2FsbF9vbmNlMTdoYzVhODdmYmI0MDFhN2VlZUX9AWJfWk40Y29yZTNmbXQzbnVtM2ltcDUyXyRMVCRpbXBsJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkdTIwJGZvciR1MjAkdTMyJEdUJDNmbXQxN2hkNGI2ZmZjOGEwYzdlMzUyRf4BMl9aTjRjb3JlNm9wdGlvbjEzZXhwZWN0X2ZhaWxlZDE3aGI3ZWRkYzVhMTkzN2U2YmJF/wE4X1pONGNvcmUzZm10OGJ1aWxkZXJzOERlYnVnU2V0NWVudHJ5MTdoMDE0ZjlkNmYyZGMyZTQ2Y0WAAlVfWk41MF8kTFQkJFJGJG11dCR1MjAkVyR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uV3JpdGUkR1QkOXdyaXRlX3N0cjE3aDIxODAyY2EzZjM4MTRlZGZFgQJhX1pONGNvcmUzZm10M251bTNpbXA1MV8kTFQkaW1wbCR1MjAkY29yZS4uZm10Li5EaXNwbGF5JHUyMCRmb3IkdTIwJHU4JEdUJDNmbXQxN2g0MDBmMWYyNmZmMzI2Y2I2RYICYl9aTjRjb3JlM2ZtdDNudW0zaW1wNTJfJExUJGltcGwkdTIwJGNvcmUuLmZtdC4uRGlzcGxheSR1MjAkZm9yJHUyMCR1MTYkR1QkM2ZtdDE3aDI1NDk4MTU3MWU3OTU5NThFgwITbWFpbi5jb21tYW5kX2V4cG9ydIQCF2FsbG9jYXRlLmNvbW1hbmRfZXhwb3J0hQIaX19ydXN0X2FsbG9jX2Vycm9yX2hhbmRsZXKGAkdfWk40Ml8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRlYnVnJEdUJDNmbXQxN2gzYTIzMzM0ODlkZDVlNjM4RYcCR19aTjQyXyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aDBlOGZhNTFlM2UyYzJkZDBFiAJHX1pONDJfJExUJCRSRiRUJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EZWJ1ZyRHVCQzZm10MTdoZmNmMWQ4NDAxZWIxNzQwZkWJAklfWk40NF8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGI5ODMxNTk5NGYxODYwMmVFigJXX1pONTBfJExUJCRSRiRtdXQkdTIwJFckdTIwJGFzJHUyMCRjb3JlLi5mbXQuLldyaXRlJEdUJDEwd3JpdGVfY2hhcjE3aDZkOTY1Mjc3MmE3ZmE1YjhFiwI7X1pONGNvcmUxMGludHJpbnNpY3MxN2NvbnN0X2V2YWxfc2VsZWN0MTdoNzRlNzg5ZDUzNmFlMDYyYkWMAjpfWk40Y29yZTNvcHM4ZnVuY3Rpb242Rm5PbmNlOWNhbGxfb25jZTE3aGViYTk2ODMwZjRlYzc1YzdFjQJAX1pONWFsbG9jNWFsbG9jMThoYW5kbGVfYWxsb2NfZXJyb3I4cnRfZXJyb3IxN2hmMjhjYTFkNDc1YWU3OTQ4RY4CN19aTjVhbGxvYzVhbGxvYzE4aGFuZGxlX2FsbG9jX2Vycm9yMTdoMWVlMWNjZmRhZmU2YTQwYUWPAghfX3JnX29vbZACOl9aTjRjb3JlM29wczhmdW5jdGlvbjZGbk9uY2U5Y2FsbF9vbmNlMTdoMjQ4ZGJjYjIwNGNjMTRlNUWRAjpfWk40Y29yZTNvcHM4ZnVuY3Rpb242Rm5PbmNlOWNhbGxfb25jZTE3aDM4ZjFhYjY0YjJjZWM1MTRFkgI6X1pONGNvcmUzb3BzOGZ1bmN0aW9uNkZuT25jZTljYWxsX29uY2UxN2hkNWU1NThhODE1YzU0YWU3RZMCRF9aTjRjb3JlNXNsaWNlNWluZGV4MjZzbGljZV9zdGFydF9pbmRleF9sZW5fZmFpbDE3aDIzMWE0NDJlYWUyMDBkNmJFlAJCX1pONGNvcmU1c2xpY2U1aW5kZXgyNHNsaWNlX2VuZF9pbmRleF9sZW5fZmFpbDE3aGM5Mjg4ZWViMTkyN2M4ZDdFlQJAX1pONGNvcmU1c2xpY2U1aW5kZXgyMnNsaWNlX2luZGV4X29yZGVyX2ZhaWwxN2hmMTc0ZTA1NWFlNTMzNzNmRZYCO19aTjRjb3JlMTBpbnRyaW5zaWNzMTdjb25zdF9ldmFsX3NlbGVjdDE3aDA0MzllMDIyMmZhMjQ3MGFFlwI7X1pONGNvcmUxMGludHJpbnNpY3MxN2NvbnN0X2V2YWxfc2VsZWN0MTdoNDExYTg0ZjM2ODM4NWFmYUWYAjtfWk40Y29yZTEwaW50cmluc2ljczE3Y29uc3RfZXZhbF9zZWxlY3QxN2hlMDQxN2M3NjBiNGFhOTA3RZkCQF9aTjRjb3JlNXBhbmljMTBwYW5pY19pbmZvOVBhbmljSW5mbzdwYXlsb2FkMTdoNjk5YTNkYmZlZDIxMGQyNkWaAkdfWk40Ml8kTFQkc3RyJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EaXNwbGF5JEdUJDNmbXQxN2hiYTZmZTJhY2Q1NTE0YzJkRZsCR19aTjQyXyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aDdiMWQzZDMzMGE3YTgxMzFFnAISYWRkLmNvbW1hbmRfZXhwb3J0nQIXc3VidHJhY3QuY29tbWFuZF9leHBvcnSeAhdtdWx0aXBseS5jb21tYW5kX2V4cG9ydJ8CFWRpdmlkZS5jb21tYW5kX2V4cG9ydKACHXNldF9yZXN1bHRfcHRyLmNvbW1hbmRfZXhwb3J0oQIec2V0X3Jlc3VsdF9zaXplLmNvbW1hbmRfZXhwb3J0ogJFX1pOM3N0ZDlwYW5pY2tpbmcxMXBhbmljX2NvdW50MTdpc196ZXJvX3Nsb3dfcGF0aDE3aGZmNzI3ZTc1ODE2MThkNTVFowJ2X1pOM3N0ZDJpbzVpbXBsczc0XyRMVCRpbXBsJHUyMCRzdGQuLmlvLi5Xcml0ZSR1MjAkZm9yJHUyMCRhbGxvYy4udmVjLi5WZWMkTFQkdTgkQyRBJEdUJCRHVCQ1Zmx1c2gxN2hiNDY5NDA3NmQwNWYyYjhiRaQCX19aTjY0XyRMVCRzdGQuLnN5cy4ud2FzaS4uc3RkaW8uLlN0ZGVyciR1MjAkYXMkdTIwJHN0ZC4uaW8uLldyaXRlJEdUJDVmbHVzaDE3aDgzMzY1ZTNiMTQ1ZDA4NzZFpQIQX193YXNpX3Byb2NfZXhpdKYCBV9FeGl0pwIOc2V0X3Jlc3VsdF9wdHKoAg9zZXRfcmVzdWx0X3NpemWpAhVfc3RhcnQuY29tbWFuZF9leHBvcnSqAhh0ZXN0X2xvZ3MuY29tbWFuZF9leHBvcnSrAhpjbGVhcl9zdGF0ZS5jb21tYW5kX2V4cG9ydKwCFHN0YXRlLmNvbW1hbmRfZXhwb3J0rQIdZ2V0X3Jlc3VsdF9wdHIuY29tbWFuZF9leHBvcnSuAh5nZXRfcmVzdWx0X3NpemUuY29tbWFuZF9leHBvcnSvAh5yZWxlYXNlX29iamVjdHMuY29tbWFuZF9leHBvcnSwAk9fWk4zc3RkMTBzeXNfY29tbW9uOWJhY2t0cmFjZTI4X19ydXN0X2JlZ2luX3Nob3J0X2JhY2t0cmFjZTE3aDNkMTVlZmZkMDg2MzYzOTJFsQI0X1pOM3N0ZDNzeXM0d2FzaTE0YWJvcnRfaW50ZXJuYWwxN2hlMjU0NWYwYjAyYmQzNjJkRbICKV9aTjNzdGQ3cHJvY2VzczVhYm9ydDE3aDRjYzRjY2QwZjViZGM4OTFFswINX19yZGxfZGVhbGxvY7QCPF9aTjNzdGQzc3lzNHdhc2k3cHJvY2VzczhFeGl0Q29kZTZhc19pMzIxN2g2OWY4NTg2MjEzYzJlNmQ3RbUCNV9aTjR3YXNpMTNsaWJfZ2VuZXJhdGVkNUVycm5vM3JhdzE3aDg4MzgzNDkzOTY4NGE4YTlFtgIGbWFsbG9jtwIEZnJlZbgCEV9fd2FzbV9jYWxsX2R0b3JzuQJAX1pONGNvcmU1cGFuaWMxMHBhbmljX2luZm85UGFuaWNJbmZvN21lc3NhZ2UxN2hhMDI2YTM3Zjc1MTM1NGFjRboCQV9aTjRjb3JlNXBhbmljMTBwYW5pY19pbmZvOVBhbmljSW5mbzhsb2NhdGlvbjE3aDU5NzNiODU1YTE4N2E5ZDZFuwJEX1pONGNvcmU1cGFuaWMxMHBhbmljX2luZm85UGFuaWNJbmZvMTBjYW5fdW53aW5kMTdoMjFiZGQ3NTAyZDZlMzVlZkW8Ag5nZXRfcmVzdWx0X3B0cr0CD2dldF9yZXN1bHRfc2l6Zb4CD3JlbGVhc2Vfb2JqZWN0c78CEV9fd2FzbV9jYWxsX2N0b3JzwAIEbWFpbsECTF9aTjQzXyRMVCRsb2cuLk5vcExvZ2dlciR1MjAkYXMkdTIwJGxvZy4uTG9nJEdUJDdlbmFibGVkMTdoNzAwNDJmODk4NmE2NWU5N0XCAkVfWk4zNl8kTFQkVCR1MjAkYXMkdTIwJGNvcmUuLmFueS4uQW55JEdUJDd0eXBlX2lkMTdoZDg0ZjVlZGUwYzY3ZTAxZUXDAkVfWk4zNl8kTFQkVCR1MjAkYXMkdTIwJGNvcmUuLmFueS4uQW55JEdUJDd0eXBlX2lkMTdoMzAyYzRiYTdiZTViNzY4NUXEAkVfWk4zNl8kTFQkVCR1MjAkYXMkdTIwJGNvcmUuLmFueS4uQW55JEdUJDd0eXBlX2lkMTdoM2RmZjNmOTA0ZTRlMmJiMkXFAkVfWk4zNl8kTFQkVCR1MjAkYXMkdTIwJGNvcmUuLmFueS4uQW55JEdUJDd0eXBlX2lkMTdoNjc4M2NkNzgyNGFlZDY4NEXGAoMBX1pOM3N0ZDJpbzVpbXBsczc0XyRMVCRpbXBsJHUyMCRzdGQuLmlvLi5Xcml0ZSR1MjAkZm9yJHUyMCRhbGxvYy4udmVjLi5WZWMkTFQkdTgkQyRBJEdUJCRHVCQxN2lzX3dyaXRlX3ZlY3RvcmVkMTdoNzIzMmUyNTQwZWU5MjVjOEXHAmxfWk42NF8kTFQkc3RkLi5zeXMuLndhc2kuLnN0ZGlvLi5TdGRlcnIkdTIwJGFzJHUyMCRzdGQuLmlvLi5Xcml0ZSRHVCQxN2lzX3dyaXRlX3ZlY3RvcmVkMTdoMDY5YjFmODgzMGU4MzZkZUXIAhJfX3J1c3Rfc3RhcnRfcGFuaWPJAiVfX3dhc2lsaWJjX2luaXRpYWxpemVfZW52aXJvbl9lYWdlcmx5ygIFYWJvcnTLAkVfWk4zNl8kTFQkVCR1MjAkYXMkdTIwJGNvcmUuLmFueS4uQW55JEdUJDd0eXBlX2lkMTdoYTc4MjMzN2Y2YzZlYWNmOUXMAkpfWk40Y29yZTNwdHI0MGRyb3BfaW5fcGxhY2UkTFQkbG9nLi5TZXRMb2dnZXJFcnJvciRHVCQxN2hhOWVlYTFjZGFhNmZkNGVmRc0CkAFfWk40Y29yZTNwdHI4NWRyb3BfaW5fcGxhY2UkTFQkc3RkLi5ydC4ubGFuZ19zdGFydCRMVCQkTFAkJFJQJCRHVCQuLiR1N2IkJHU3YiRjbG9zdXJlJHU3ZCQkdTdkJCRHVCQxN2gxNWUxZWJkMGFkYzg5ZWIyRS5sbHZtLjcxMzkyNDE0MTE2NzQ4MTI3NTPOAlhfWk40Y29yZTNwdHI1NGRyb3BfaW5fcGxhY2UkTFQkJFJGJG11dCR1MjAkYWxsb2MuLnN0cmluZy4uU3RyaW5nJEdUJDE3aDI2OWU0NDFiNTA0NmVjMjlFzwJHX1pONGNvcmUzcHRyMzdkcm9wX2luX3BsYWNlJExUJGNvcmUuLmZtdC4uRXJyb3IkR1QkMTdoZGM2NzQxY2U1YjMyZGVmM0XQAmJfWk42N18kTFQkbWFyaW5lX3JzX3Nka19tYWluLi5sb2dnZXIuLldhc21Mb2dnZXIkdTIwJGFzJHUyMCRsb2cuLkxvZyRHVCQ1Zmx1c2gxN2hjNTU5OWU5YWZhMDQ3YTg3RdECQl9aTjRjb3JlM3B0cjMyZHJvcF9pbl9wbGFjZSRMVCQkUkYkJFJGJHN0ciRHVCQxN2g5YzYyM2JkNTFiNzk1YTYxRdICSF9aTjQzXyRMVCRsb2cuLk5vcExvZ2dlciR1MjAkYXMkdTIwJGxvZy4uTG9nJEdUJDNsb2cxN2g4NzI1YjgwOTY1NWJjMjEyRdMCSl9aTjQzXyRMVCRsb2cuLk5vcExvZ2dlciR1MjAkYXMkdTIwJGxvZy4uTG9nJEdUJDVmbHVzaDE3aDQ4MmNhZTIzZWMzYWZiNTRF1AJvX1pONGNvcmUzcHRyNzdkcm9wX2luX3BsYWNlJExUJHN0ZC4ucGFuaWNraW5nLi5iZWdpbl9wYW5pYy4uUGFuaWNQYXlsb2FkJExUJCRSRiRzdHIkR1QkJEdUJDE3aGIyMTFiMWMzNmZlYzM2ZThF1QI+X1pONGNvcmUzcHRyMjhkcm9wX2luX3BsYWNlJExUJCRSRiRzdHIkR1QkMTdoNjJiZTY3ZWM0ODNiMGVhZUXWAocBX1pONGNvcmUzcHRyMTAwZHJvcF9pbl9wbGFjZSRMVCQkUkYkbXV0JHUyMCRzdGQuLmlvLi5Xcml0ZS4ud3JpdGVfZm10Li5BZGFwdGVyJExUJGFsbG9jLi52ZWMuLlZlYyRMVCR1OCRHVCQkR1QkJEdUJDE3aDU4Y2JlYzFiOGUyNGE4MDZF1wI5X1pONGNvcmUzcHRyMjNkcm9wX2luX3BsYWNlJExUJHU4JEdUJDE3aDExMjIyOTU3MGNhOWEwMTZF2AIFZHVtbXnZAj1fWk40Y29yZTNwdHIyN2Ryb3BfaW5fcGxhY2UkTFQkJFJGJHU4JEdUJDE3aGE0YmY1OGZjMWU2YmI5YzhF2gKJAV9aTjRjb3JlM3B0cjEwMmRyb3BfaW5fcGxhY2UkTFQkJFJGJGNvcmUuLml0ZXIuLmFkYXB0ZXJzLi5jb3BpZWQuLkNvcGllZCRMVCRjb3JlLi5zbGljZS4uaXRlci4uSXRlciRMVCR1OCRHVCQkR1QkJEdUJDE3aGRkZDAxNjVkMjVmNWVjNTRF2wJrX1pONGNvcmUzcHRyNDdkcm9wX2luX3BsYWNlJExUJGNvcmUuLmNlbGwuLkJvcnJvd011dEVycm9yJEdUJDE3aDdjNWJmNDRiNmE2ZDBiOTZFLmxsdm0uMTU3Nzc2NDg0NDA1MzUyNzMyMTQA8ICAgAAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVjbGFuZwYxNC4wLjAFcnVzdGMlMS42NC4wLW5pZ2h0bHkgKDgzMDg4MDY0MCAyMDIyLTA2LTI4KQZ3YWxydXMGMC4xOS4wAKqBgIAAHV9fbV9nZW5lcmF0ZWRfc2VjdGlvbl9fZGl2aWRleyJhc3RfdHlwZSI6IkZ1bmN0aW9uIiwic2lnbmF0dXJlIjp7Im5hbWUiOiJkaXZpZGUiLCJhcmd1bWVudHMiOlt7Im5hbWUiOiJudW0iLCJ0eSI6eyJGNjQiOiJCeVZhbHVlIn19XSwib3V0cHV0X3R5cGVzIjpbeyJGNjQiOiJCeVZhbHVlIn1dfX0AroGAgAAfX19tX2dlbmVyYXRlZF9zZWN0aW9uX19tdWx0aXBseXsiYXN0X3R5cGUiOiJGdW5jdGlvbiIsInNpZ25hdHVyZSI6eyJuYW1lIjoibXVsdGlwbHkiLCJhcmd1bWVudHMiOlt7Im5hbWUiOiJudW0iLCJ0eSI6eyJGNjQiOiJCeVZhbHVlIn19XSwib3V0cHV0X3R5cGVzIjpbeyJGNjQiOiJCeVZhbHVlIn1dfX0Ag4GAgAAcX19tX2dlbmVyYXRlZF9zZWN0aW9uX19zdGF0ZXsiYXN0X3R5cGUiOiJGdW5jdGlvbiIsInNpZ25hdHVyZSI6eyJuYW1lIjoic3RhdGUiLCJhcmd1bWVudHMiOltdLCJvdXRwdXRfdHlwZXMiOlt7IkY2NCI6IkJ5VmFsdWUifV19fQD+gICAACJfX21fZ2VuZXJhdGVkX3NlY3Rpb25fX2NsZWFyX3N0YXRleyJhc3RfdHlwZSI6IkZ1bmN0aW9uIiwic2lnbmF0dXJlIjp7Im5hbWUiOiJjbGVhcl9zdGF0ZSIsImFyZ3VtZW50cyI6W10sIm91dHB1dF90eXBlcyI6W119fQCugYCAAB9fX21fZ2VuZXJhdGVkX3NlY3Rpb25fX3N1YnRyYWN0eyJhc3RfdHlwZSI6IkZ1bmN0aW9uIiwic2lnbmF0dXJlIjp7Im5hbWUiOiJzdWJ0cmFjdCIsImFyZ3VtZW50cyI6W3sibmFtZSI6Im51bSIsInR5Ijp7IkY2NCI6IkJ5VmFsdWUifX1dLCJvdXRwdXRfdHlwZXMiOlt7IkY2NCI6IkJ5VmFsdWUifV19fQCkgYCAABpfX21fZ2VuZXJhdGVkX3NlY3Rpb25fX2FkZHsiYXN0X3R5cGUiOiJGdW5jdGlvbiIsInNpZ25hdHVyZSI6eyJuYW1lIjoiYWRkIiwiYXJndW1lbnRzIjpbeyJuYW1lIjoibnVtIiwidHkiOnsiRjY0IjoiQnlWYWx1ZSJ9fV0sIm91dHB1dF90eXBlcyI6W3siRjY0IjoiQnlWYWx1ZSJ9XX19APqAgIAAIF9fbV9nZW5lcmF0ZWRfc2VjdGlvbl9fdGVzdF9sb2dzeyJhc3RfdHlwZSI6IkZ1bmN0aW9uIiwic2lnbmF0dXJlIjp7Im5hbWUiOiJ0ZXN0X2xvZ3MiLCJhcmd1bWVudHMiOltdLCJvdXRwdXRfdHlwZXMiOltdfX0A/4KAgAAPaW50ZXJmYWNlLXR5cGVzBQYwLjI0LjEAFAABBHNpemUMAQwAAAAAAAEMAAABDAABC3Jlc3VsdF9zaXplDAAAAQpyZXN1bHRfcHRyDAAAAQNudW0JAQkAAQNudW0JAQkAAQNudW0JAQkAAQNudW0JAQkAAAEJAAABCQAAAAAAAAABA251bQkBCQABA251bQkBCQABA251bQkBCQABA251bQkBCQAAAAAAAAIHBgIAAAEGCAIAAAEHCgEBCAwBAQkOAgAAAQoQAgAAAQsSAQEMAw0IYWxsb2NhdGUAD3JlbGVhc2Vfb2JqZWN0cwEPZ2V0X3Jlc3VsdF9zaXplAg5nZXRfcmVzdWx0X3B0cgMPc2V0X3Jlc3VsdF9zaXplBA5zZXRfcmVzdWx0X3B0cgUGZGl2aWRlBwhtdWx0aXBseQkFc3RhdGULC2NsZWFyX3N0YXRlDQhzdWJ0cmFjdA8DYWRkEQl0ZXN0X2xvZ3MTBAcHBgkICwoNDA8OERATEgCcgICAABVfX2ZsdWVuY2Vfc2RrX3ZlcnNpb24wLjYuMTU="; \ No newline at end of file diff --git a/packages/@tests/smoke/node/package.json b/packages/@tests/smoke/node/package.json index 6451dcc7..93a08ad0 100644 --- a/packages/@tests/smoke/node/package.json +++ b/packages/@tests/smoke/node/package.json @@ -11,7 +11,8 @@ "type": "module", "scripts": { "build": "tsc", - "test": "node --loader ts-node/esm ./src/index.ts" + "test": "node --loader ts-node/esm ./src/index.ts", + "test_logs": "DEBUG=fluence:particle:* node --loader ts-node/esm ./src/index.ts" }, "repository": "https://github.com/fluencelabs/fluence-js", "author": "Fluence Labs", diff --git a/packages/@tests/smoke/web-cra-ts/package.json b/packages/@tests/smoke/web-cra-ts/package.json index 0b44c83b..d7753528 100644 --- a/packages/@tests/smoke/web-cra-ts/package.json +++ b/packages/@tests/smoke/web-cra-ts/package.json @@ -23,7 +23,7 @@ "@test/test-utils": "workspace:^" }, "scripts": { - "test": "node --loader ts-node/esm ./test/index.ts", + "test_commented_out": "node --loader ts-node/esm ./test/index.ts", "start": "react-scripts start", "build": "react-scripts build", "_test": "react-scripts test", diff --git a/packages/@tests/smoke/web-cra-ts/src/App.tsx b/packages/@tests/smoke/web-cra-ts/src/App.tsx index 39654fb3..ba9d1e00 100644 --- a/packages/@tests/smoke/web-cra-ts/src/App.tsx +++ b/packages/@tests/smoke/web-cra-ts/src/App.tsx @@ -1,26 +1,18 @@ -import { runTest } from '@test/aqua_for_test'; +import { runTest, TestResult } from '@test/aqua_for_test'; import React from 'react'; import logo from './logo.svg'; import './App.css'; function App() { - const [result, setResult] = React.useState(null); - const [error, setError] = React.useState(null); + const [result, setResult] = React.useState(null); const onButtonClick = () => { runTest() .then((res) => { - if (res.errors.length === 0) { - setResult(JSON.stringify(res)); - setError(null); - } else { - setResult(null); - setError(res.errors.toString()); - } + setResult(res); }) .catch((err) => { - setResult(''); - setError(err.toString()); + setResult({ type: 'failure', error: err.toString() }); }); }; @@ -35,8 +27,8 @@ function App() { Click to run test - {result &&
{result}
} - {error &&
{error}
} + {result && result.type === 'success' &&
{result.data}
} + {result && result.type === 'failure' &&
{result.error}
} Learn React diff --git a/packages/@tests/smoke/web/package.json b/packages/@tests/smoke/web/package.json index 3936b33a..7a3602d1 100644 --- a/packages/@tests/smoke/web/package.json +++ b/packages/@tests/smoke/web/package.json @@ -11,7 +11,7 @@ "type": "module", "scripts": { "build": "tsc", - "test": "node --loader ts-node/esm ./src/index.ts", + "test_commented_out": "node --loader ts-node/esm ./src/index.ts", "serve": "http-server public" }, "repository": "https://github.com/fluencelabs/fluence-js", diff --git a/packages/client/js-client.node/src/index.ts b/packages/client/js-client.node/src/index.ts index 2971e0f5..7e200bbe 100644 --- a/packages/client/js-client.node/src/index.ts +++ b/packages/client/js-client.node/src/index.ts @@ -5,7 +5,6 @@ import { callAquaFunction } from '@fluencelabs/js-peer/dist/compilerSupport/call import { registerService } from '@fluencelabs/js-peer/dist/compilerSupport/registerService.js'; import { MarineBasedAvmRunner } from '@fluencelabs/js-peer/dist/js-peer/avm.js'; import { MarineBackgroundRunner } from '@fluencelabs/js-peer/dist/marine/worker/index.js'; -import { marineLogFunction } from '@fluencelabs/js-peer/dist/js-peer/utils.js'; import { WasmLoaderFromNpm } from '@fluencelabs/js-peer/dist/marine/deps-loader/node.js'; import { WorkerLoader } from '@fluencelabs/js-peer/dist/marine/worker-script/workerLoader.js'; @@ -27,8 +26,8 @@ export const createClient = () => { const controlModuleLoader = new WasmLoaderFromNpm(defaultNames.marine.package, defaultNames.marine.file); const avmModuleLoader = new WasmLoaderFromNpm(defaultNames.avm.package, defaultNames.avm.file); - const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); - const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, undefined); + const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader); + const avm = new MarineBasedAvmRunner(marine, avmModuleLoader); return new FluencePeer(marine, avm); }; diff --git a/packages/client/js-client.web.standalone/src/index.ts b/packages/client/js-client.web.standalone/src/index.ts index e69ccb26..0ecd3a2a 100644 --- a/packages/client/js-client.web.standalone/src/index.ts +++ b/packages/client/js-client.web.standalone/src/index.ts @@ -3,7 +3,6 @@ import { callAquaFunction } from '@fluencelabs/js-peer/dist/compilerSupport/call import { registerService } from '@fluencelabs/js-peer/dist/compilerSupport/registerService.js'; import { MarineBasedAvmRunner } from '@fluencelabs/js-peer/dist/js-peer/avm.js'; import { MarineBackgroundRunner } from '@fluencelabs/js-peer/dist/marine/worker'; -import { checkConnection, marineLogFunction } from '@fluencelabs/js-peer/dist/js-peer/utils.js'; import { InlinedWorkerLoader, InlinedWasmLoader } from '@fluencelabs/js-peer/dist/marine/deps-loader/common.js'; const createClient = () => { @@ -11,8 +10,8 @@ const createClient = () => { const controlModuleLoader = new InlinedWasmLoader('___marine___'); const avmModuleLoader = new InlinedWasmLoader('___avm___'); - const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); - const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, undefined); + const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader); + const avm = new MarineBasedAvmRunner(marine, avmModuleLoader); return new FluencePeer(marine, avm); }; diff --git a/packages/core/interfaces/src/fluenceClient.ts b/packages/core/interfaces/src/fluenceClient.ts index b979fd9a..7b67c5fa 100644 --- a/packages/core/interfaces/src/fluenceClient.ts +++ b/packages/core/interfaces/src/fluenceClient.ts @@ -110,10 +110,6 @@ export interface ClientOptions { * Useful to see what particle id is responsible for aqua function */ printParticleId?: boolean; - /** - * Log level for marine services. By default logging is turned off. - */ - marineLogLevel?: LogLevel; }; } diff --git a/packages/core/js-peer/package.json b/packages/core/js-peer/package.json index fd7bedbd..c643a8e9 100644 --- a/packages/core/js-peer/package.json +++ b/packages/core/js-peer/package.json @@ -1,65 +1,66 @@ { - "name": "@fluencelabs/js-peer", - "version": "0.8.5", - "description": "TypeScript implementation of Fluence Peer", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "type": "module", - "scripts": { - "build": "tsc", - "compile-aqua": "aqua -i ./aqua/ -o ./src/internal/_aqua", - "test:smoke": "node ./dist/js-peer/__test__/integration/smokeTest.js", - "test": "NODE_OPTIONS=--experimental-vm-modules pnpm jest", - "test:unit": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/unit", - "test:integration": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/integration" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "@fluencelabs/interfaces": "0.7.3", - "@fluencelabs/avm": "0.35.4", - "@fluencelabs/marine-js": "0.3.45", - "multiformats": "11.0.1", - "async": "3.2.4", - "bs58": "5.0.0", - "buffer": "6.0.3", - "loglevel": "1.8.1", - "@libp2p/peer-id": "2.0.1", - "rxjs": "7.5.5", - "ts-pattern": "3.3.3", - "uuid": "8.3.2", - "threads": "1.7.0", - "@libp2p/crypto": "1.0.8", - "@libp2p/peer-id-factory": "2.0.1", - "@libp2p/interface-peer-id": "2.0.1", - "@libp2p/interface-keys": "1.0.7", - "js-base64": "3.7.5", - "it-length-prefixed": "8.0.4", - "it-pipe": "2.0.5", - "it-map": "2.0.0", - "uint8arrays": "4.0.3", - "@chainsafe/libp2p-noise": "11.0.0", - "libp2p": "0.42.2", - "@libp2p/interfaces": "3.3.1", - "@libp2p/interface-connection": "3.0.8", - "@libp2p/mplex": "7.1.1", - "@libp2p/websockets": "5.0.3", - "@multiformats/multiaddr": "11.3.0" - }, - "devDependencies": { - "@fluencelabs/aqua": "0.7.7-362", - "@fluencelabs/aqua-api": "0.9.1-373", - "@fluencelabs/aqua-lib": "0.6.0", - "@fluencelabs/fluence-network-environment": "1.0.13", - "@types/bs58": "4.0.1", - "@types/uuid": "8.3.2", - "@types/jest": "29.4.0", - "jest": "29.4.1", - "ts-jest": "next" - } + "name": "@fluencelabs/js-peer", + "version": "0.8.5", + "description": "TypeScript implementation of Fluence Peer", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "engines": { + "node": ">=10", + "pnpm": ">=3" + }, + "type": "module", + "scripts": { + "build": "tsc", + "compile-aqua": "aqua -i ./aqua/ -o ./src/internal/_aqua", + "test:smoke": "node ./dist/js-peer/__test__/integration/smokeTest.js", + "test": "NODE_OPTIONS=--experimental-vm-modules pnpm jest", + "test:unit": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/unit", + "test:integration": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/integration" + }, + "repository": "https://github.com/fluencelabs/fluence-js", + "author": "Fluence Labs", + "license": "Apache-2.0", + "dependencies": { + "@fluencelabs/interfaces": "0.7.3", + "@fluencelabs/avm": "0.35.4", + "@fluencelabs/marine-js": "0.3.45", + "multiformats": "11.0.1", + "debug": "4.3.4", + "async": "3.2.4", + "bs58": "5.0.0", + "buffer": "6.0.3", + "@libp2p/peer-id": "2.0.1", + "rxjs": "7.5.5", + "ts-pattern": "3.3.3", + "uuid": "8.3.2", + "threads": "1.7.0", + "@libp2p/crypto": "1.0.8", + "@libp2p/peer-id-factory": "2.0.1", + "@libp2p/interface-peer-id": "2.0.1", + "@libp2p/interface-keys": "1.0.7", + "js-base64": "3.7.5", + "it-length-prefixed": "8.0.4", + "it-pipe": "2.0.5", + "it-map": "2.0.0", + "uint8arrays": "4.0.3", + "@chainsafe/libp2p-noise": "11.0.0", + "libp2p": "0.42.2", + "@libp2p/interfaces": "3.3.1", + "@libp2p/interface-connection": "3.0.8", + "@libp2p/mplex": "7.1.1", + "@libp2p/websockets": "5.0.3", + "@multiformats/multiaddr": "11.3.0" + }, + "devDependencies": { + "@fluencelabs/aqua": "0.7.7-362", + "@fluencelabs/aqua-api": "0.9.1-373", + "@fluencelabs/aqua-lib": "0.6.0", + "@fluencelabs/fluence-network-environment": "1.0.13", + "@types/bs58": "4.0.1", + "@types/uuid": "8.3.2", + "@types/jest": "29.4.0", + "@types/debug": "4.1.7", + "jest": "29.4.1", + "ts-jest": "next" + } } diff --git a/packages/core/js-peer/src/compilerSupport/callFunction.ts b/packages/core/js-peer/src/compilerSupport/callFunction.ts index bd5adefe..945b6169 100644 --- a/packages/core/js-peer/src/compilerSupport/callFunction.ts +++ b/packages/core/js-peer/src/compilerSupport/callFunction.ts @@ -19,6 +19,10 @@ import { injectValueService, } from './services.js'; +import { logger } from '../util/logger.js'; + +const log = logger('aqua'); + /** * Convenience function which does all the internal work of creating particles * and making necessary service registrations in order to support Aqua function calls @@ -31,6 +35,7 @@ import { * @returns */ export const callAquaFunction: CallAquaFunction = ({ def, script, config, peer, args }) => { + log.trace('calling aqua function %j', { def, script, config, args }); const argumentTypes = getArgumentTypes(def); const promise = new Promise((resolve, reject) => { diff --git a/packages/core/js-peer/src/compilerSupport/registerService.ts b/packages/core/js-peer/src/compilerSupport/registerService.ts index 0581ff2a..a9786c88 100644 --- a/packages/core/js-peer/src/compilerSupport/registerService.ts +++ b/packages/core/js-peer/src/compilerSupport/registerService.ts @@ -1,7 +1,13 @@ import type { RegisterService } from '@fluencelabs/interfaces'; import { registerGlobalService, userHandlerService } from './services.js'; +import { logger } from '../util/logger.js'; + +const log = logger('aqua'); + export const registerService: RegisterService = ({ peer, def, serviceId, service }) => { + log.trace('registering aqua service %o', { def, serviceId, service }); + // Checking for missing keys const requiredKeys = def.functions.tag === 'nil' ? [] : Object.keys(def.functions.fields); const incorrectServiceDefinitions = requiredKeys.filter((f) => !(f in service)); @@ -30,4 +36,5 @@ export const registerService: RegisterService = ({ peer, def, serviceId, service const serviceDescription = userHandlerService(serviceId, singleFunction, userDefinedHandler); registerGlobalService(peer, serviceDescription); } + log.trace('aqua service registered %s', serviceId); }; diff --git a/packages/core/js-peer/src/connection/index.ts b/packages/core/js-peer/src/connection/index.ts index 2ddf6587..da601d1e 100644 --- a/packages/core/js-peer/src/connection/index.ts +++ b/packages/core/js-peer/src/connection/index.ts @@ -32,7 +32,9 @@ import map from 'it-map'; import { fromString } from 'uint8arrays/from-string'; import { toString } from 'uint8arrays/to-string'; -import log from 'loglevel'; +import { logger } from '../util/logger.js'; + +const log = logger('connection'); export const PROTOCOL_NAME = '/fluence/particle/2.0.0'; @@ -134,37 +136,41 @@ export class RelayConnection extends FluenceConnection { async connect(onIncomingParticle: ParticleHandler) { await this._lib2p2Peer.start(); - + // TODO: make it configurable const handleOptions = { maxInboundStreams: 1024, - maxOutboundStreams: 1024 - } + maxOutboundStreams: 1024, + }; - this._lib2p2Peer.handle([PROTOCOL_NAME], async ({ connection, stream }) => { - pipe( - stream.source, - // @ts-ignore - decode(), - // @ts-ignore - (source) => map(source, (buf) => toString(buf.subarray())), - async (source) => { - try { - for await (const msg of source) { - try { - onIncomingParticle(msg); - } catch (e) { - log.error('error on handling a new incoming message: ' + e); + this._lib2p2Peer.handle( + [PROTOCOL_NAME], + async ({ connection, stream }) => { + pipe( + stream.source, + // @ts-ignore + decode(), + // @ts-ignore + (source) => map(source, (buf) => toString(buf.subarray())), + async (source) => { + try { + for await (const msg of source) { + try { + onIncomingParticle(msg); + } catch (e) { + log.error('error on handling a new incoming message: %j', e); + } } + } catch (e) { + log.error('connection closed: %j', e); } - } catch (e) { - log.debug('connection closed: ' + e); - } - }, - ); - }, handleOptions); + }, + ); + }, + handleOptions, + ); - log.debug(`dialing to the node with client's address: ` + this._lib2p2Peer.peerId.toString()); + log.debug("dialing to the node with client's address: %s", this._lib2p2Peer.peerId.toString()); try { this._connection = await this._lib2p2Peer.dial(this._relayAddress); diff --git a/packages/core/js-peer/src/interfaces/index.ts b/packages/core/js-peer/src/interfaces/index.ts index 506a1a62..1617f513 100644 --- a/packages/core/js-peer/src/interfaces/index.ts +++ b/packages/core/js-peer/src/interfaces/index.ts @@ -33,7 +33,7 @@ export abstract class FluenceConnection { } export interface IMarine extends IModule { - createService(serviceModule: SharedArrayBuffer | Buffer, serviceId: string, logLevel?: LogLevel): Promise; + createService(serviceModule: SharedArrayBuffer | Buffer, serviceId: string): Promise; callService( serviceId: string, diff --git a/packages/core/js-peer/src/js-peer/FluencePeer.ts b/packages/core/js-peer/src/js-peer/FluencePeer.ts index 98d1564b..4c5bb504 100644 --- a/packages/core/js-peer/src/js-peer/FluencePeer.ts +++ b/packages/core/js-peer/src/js-peer/FluencePeer.ts @@ -33,9 +33,8 @@ import type { ConnectionState, } from '@fluencelabs/interfaces/dist/fluenceClient'; import { Particle, ParticleExecutionStage, ParticleQueueItem } from './Particle.js'; -import { dataToString, jsonify, isString, ServiceError } from './utils.js'; +import { jsonify, isString, ServiceError } from './utils.js'; import { concatMap, filter, pipe, Subject, tap } from 'rxjs'; -import log from 'loglevel'; import { builtInServices } from './builtins/common.js'; import { defaultSigGuard, Sig } from './builtins/Sig.js'; import { registerSig } from './_aqua/services.js'; @@ -43,11 +42,14 @@ import { registerSrv } from './_aqua/single-module-srv.js'; import { Buffer } from 'buffer'; import { JSONValue } from '@fluencelabs/avm'; -import { LogLevel } from '@fluencelabs/marine-js/dist/types'; import { NodeUtils, Srv } from './builtins/SingleModuleSrv.js'; import { registerNodeUtils } from './_aqua/node-utils.js'; import type { MultiaddrInput } from '@multiformats/multiaddr'; +import { logger } from '../util/logger.js'; + +const log = logger('particle'); + const DEFAULT_TTL = 7000; export type PeerConfig = ClientOptions & { relay?: RelayOptions }; @@ -220,7 +222,7 @@ export class FluencePeer implements IFluenceClient { throw new Error(`Service with '${serviceId}' id already exists`); } - await this.marine.createService(wasm, serviceId, this._marineLogLevel); + await this.marine.createService(wasm, serviceId); this._marineServices.add(serviceId); } @@ -377,10 +379,6 @@ export class FluencePeer implements IFluenceClient { this._defaultTTL = config?.defaultTtlMs ?? DEFAULT_TTL; - if (config?.debug?.marineLogLevel) { - this._marineLogLevel = config.debug.marineLogLevel; - } - await this.marine.start(); await this.avmRunner.start(); @@ -434,7 +432,6 @@ export class FluencePeer implements IFluenceClient { // Call service handler private _marineServices = new Set(); - private _marineLogLevel?: LogLevel; private _particleSpecificHandlers = new Map>(); private _commonHandlers = new Map(); @@ -465,7 +462,16 @@ export class FluencePeer implements IFluenceClient { this._incomingParticles .pipe( tap((x) => { - x.particle.logTo('debug', 'particle received:'); + log.debug('id %s. received:', x.particle.id); + log.trace('id %s. data: %j', x.particle.id, { + initPeerId: x.particle.initPeerId, + timestamp: x.particle.timestamp, + tttl: x.particle.ttl, + signature: x.particle.signature, + }); + + log.trace('id %s. script: %s', x.particle.id, x.particle.script); + log.trace('id %s. call results: %j', x.particle.id, x.particle.callResults); }), filterExpiredParticles(this._expireParticle.bind(this)), ) @@ -494,26 +500,28 @@ export class FluencePeer implements IFluenceClient { } if (!this.connection) { - item.particle.logTo('error', 'cannot send particle, peer is not connected'); + log.error('id %s. cannot send, peer is not connected', item.particle.id); item.onStageChange({ stage: 'sendingError' }); return; } - item.particle.logTo('debug', 'sending particle:'); - this.connection?.sendParticle(item.nextPeerIds, item.particle.toString()).then( - () => { + log.debug('id %s. sending particle into network', item.particle.id); + this.connection + ?.sendParticle(item.nextPeerIds, item.particle.toString()) + .then(() => { item.onStageChange({ stage: 'sent' }); - }, - (e: any) => { - log.error(e); - }, - ); + }) + .catch((e: any) => { + log.error('id %s. send failed %j', item.particle.id, e); + }); }); } private _expireParticle(item: ParticleQueueItem) { const particleId = item.particle.id; log.debug( - `particle ${particleId} has expired after ${item.particle.ttl}. Deleting particle-related queues and handlers`, + 'id %s. particle has expired after %d. Deleting particle-related queues and handlers', + item.particle.id, + item.particle.ttl, ); this._particleQueues.delete(particleId); @@ -540,11 +548,10 @@ export class FluencePeer implements IFluenceClient { // IMPORTANT! // AVM runner execution and prevData <-> newData swapping // MUST happen sequentially (in a critical section). - // Otherwise the race between runner might occur corrupting the prevData - - item.particle.logTo('debug', 'Sending particle to interpreter'); - log.debug('prevData: ', dataToString(prevData)); + // Otherwise the race might occur corrupting the prevData + log.debug('id %s. sending particle to interpreter', item.particle.id); + log.trace('id %s. prevData: %a', item.particle.id, prevData); const avmCallResult = await this.avmRunner.run( { initPeerId: item.particle.initPeerId, @@ -582,19 +589,29 @@ export class FluencePeer implements IFluenceClient { // Do not continue if there was an error in particle interpretation if (item.result instanceof Error) { - log.error('Interpreter failed: ', jsonify(item.result.message)); + log.error('id %s. interpreter failed: %s', item.particle.id, item.result.message); item.onStageChange({ stage: 'interpreterError', errorMessage: item.result.message }); return; } - const toLog = { ...item.result, data: dataToString(item.result.data) }; if (item.result.retCode !== 0) { - log.error('Interpreter failed: ', jsonify(toLog)); + log.error( + 'id %s. interpreter failed: retCode: %d, message: %s', + item.particle.id, + item.result.retCode, + item.result.errorMessage, + ); + log.trace('id %s. avm data: %a', item.particle.id, item.result.data); item.onStageChange({ stage: 'interpreterError', errorMessage: item.result.errorMessage }); return; } - log.debug('Interpreter result: ', jsonify(toLog)); + log.trace( + 'id %s. interpreter result: retCode: %d, avm data: %a', + item.particle.id, + item.result.retCode, + item.result.data, + ); setTimeout(() => { item.onStageChange({ stage: 'interpreted' }); @@ -666,8 +683,8 @@ export class FluencePeer implements IFluenceClient { } private async _execSingleCallRequest(req: CallServiceData): Promise { - log.debug('executing call service handler', jsonify(req)); const particleId = req.particleContext.particleId; + log.trace('id %s. executing call service handler %j', particleId, req); if (this.marine && this._marineServices.has(req.serviceId)) { const result = await this.marine.callService(req.serviceId, req.fnName, req.args, undefined); @@ -711,7 +728,7 @@ export class FluencePeer implements IFluenceClient { res.result = null; } - log.debug('executed call service handler, req and res are: ', jsonify(req), jsonify(res)); + log.trace('id %s. executed call service handler, req: %j, res: %j ', particleId, req, res); return res; } diff --git a/packages/core/js-peer/src/js-peer/Particle.ts b/packages/core/js-peer/src/js-peer/Particle.ts index aed892fa..b5ed8846 100644 --- a/packages/core/js-peer/src/js-peer/Particle.ts +++ b/packages/core/js-peer/src/js-peer/Particle.ts @@ -17,9 +17,7 @@ import { fromUint8Array, toUint8Array } from 'js-base64'; import { CallResultsArray, LogLevel } from '@fluencelabs/avm'; import { v4 as uuidv4 } from 'uuid'; -import log from 'loglevel'; import { ParticleContext } from '../interfaces/commonTypes.js'; -import { dataToString, jsonify } from './utils.js'; import { Buffer } from 'buffer'; export class Particle { @@ -95,43 +93,6 @@ export class Particle { data: this.data && fromUint8Array(this.data), }); } - - logTo(level: LogLevel, message: string) { - let fn; - let data: string | undefined; - switch (level) { - case 'debug': - fn = log.debug; - data = dataToString(this.data); - break; - case 'error': - fn = log.error; - break; - case 'info': - case 'trace': - fn = log.info; - break; - case 'warn': - fn = log.warn; - break; - default: - return; - } - - fn( - message, - jsonify({ - id: this.id, - init_peer_id: this.initPeerId, - timestamp: this.timestamp, - ttl: this.ttl, - script: this.script, - signature: this.signature, - callResults: this.callResults, - data, - }), - ); - } } export type ParticleExecutionStage = diff --git a/packages/core/js-peer/src/js-peer/__test__/util.ts b/packages/core/js-peer/src/js-peer/__test__/util.ts index 8d9d8071..e03ccb97 100644 --- a/packages/core/js-peer/src/js-peer/__test__/util.ts +++ b/packages/core/js-peer/src/js-peer/__test__/util.ts @@ -8,7 +8,6 @@ import { avmModuleLoader, controlModuleLoader } from '../utilsForNode.js'; import { ServiceDef } from '@fluencelabs/interfaces'; import { callAquaFunction } from '../../compilerSupport/callFunction.js'; -import { marineLogFunction } from '../utils.js'; import { MarineBackgroundRunner } from '../../marine/worker/index.js'; import { MarineBasedAvmRunner } from '../avm.js'; import { nodes } from './connection.js'; @@ -60,8 +59,8 @@ export const compileAqua = async (aquaFile: string): Promise => { export const mkTestPeer = () => { const workerLoader = new WorkerLoaderFromFs('../../marine/worker-script'); - const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); - const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, undefined); + const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader); + const avm = new MarineBasedAvmRunner(marine, avmModuleLoader); return new FluencePeer(marine, avm); }; diff --git a/packages/core/js-peer/src/js-peer/avm.ts b/packages/core/js-peer/src/js-peer/avm.ts index 1cc77282..b154130b 100644 --- a/packages/core/js-peer/src/js-peer/avm.ts +++ b/packages/core/js-peer/src/js-peer/avm.ts @@ -1,10 +1,9 @@ import type { CallResultsArray, InterpreterResult, RunParameters } from '@fluencelabs/avm'; import { deserializeAvmResult, serializeAvmArgs } from '@fluencelabs/avm'; -import type { LogLevel } from '@fluencelabs/marine-js/dist/types'; import type { IMarine, IAvmRunner, IWasmLoader } from '../interfaces/index.js'; export class MarineBasedAvmRunner implements IAvmRunner { - constructor(private marine: IMarine, private avmWasmLoader: IWasmLoader, private logLevel: LogLevel | undefined) {} + constructor(private marine: IMarine, private avmWasmLoader: IWasmLoader) {} async run( runParams: RunParameters, @@ -29,7 +28,7 @@ export class MarineBasedAvmRunner implements IAvmRunner { async start(): Promise { await this.marine.start(); await this.avmWasmLoader.start(); - await this.marine.createService(this.avmWasmLoader.getValue(), 'avm', this.logLevel); + await this.marine.createService(this.avmWasmLoader.getValue(), 'avm'); } async stop(): Promise {} diff --git a/packages/core/js-peer/src/js-peer/ephemeral.ts b/packages/core/js-peer/src/js-peer/ephemeral.ts index 904dd015..3718ce55 100644 --- a/packages/core/js-peer/src/js-peer/ephemeral.ts +++ b/packages/core/js-peer/src/js-peer/ephemeral.ts @@ -4,12 +4,12 @@ import { fromBase64Sk } from '../keypair/index.js'; import { FluencePeer } from './FluencePeer.js'; import { MarineBackgroundRunner } from '../marine/worker/index.js'; import { avmModuleLoader, controlModuleLoader } from './utilsForNode.js'; -import { marineLogFunction } from './utils.js'; import { MarineBasedAvmRunner } from './avm.js'; -import log from 'loglevel'; import { WorkerLoaderFromFs } from '../marine/deps-loader/node.js'; +import { logger } from '../util/logger.js'; + interface EphemeralConfig { peers: Array<{ peerId: PeerIdB58; @@ -25,6 +25,8 @@ interface PeerAdapter { connections: Set; } +const log = logger('ephemeral'); + export const defaultConfig = { peers: [ { @@ -123,15 +125,14 @@ export class EphemeralNetwork { * Starts the Ephemeral network up */ async up(): Promise { - log.debug('Starting ephemeral network up...'); + log.trace('starting ephemeral network up...'); const allPeerIds = this.config.peers.map((x) => x.peerId); // shared worker for all the peers const workerLoader = new WorkerLoaderFromFs('../../marine/worker-script'); const promises = this.config.peers.map(async (x) => { - const logLevel = undefined; - const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); - const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, logLevel); + const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader); + const avm = new MarineBasedAvmRunner(marine, avmModuleLoader); const peer = new FluencePeer(marine, avm); const sendParticle = async (nextPeerIds: string[], particle: string): Promise => { this._send(peer.getStatus().peerId!, nextPeerIds, particle); @@ -171,21 +172,21 @@ export class EphemeralNetwork { }); const values = await Promise.all(promises); this._peers = new Map(values); - log.debug('Ephemeral network started...'); + log.trace('ephemeral network started...'); } /** * Shuts the ephemeral network down. Will disconnect all connected peers. */ async down(): Promise { - log.debug('Shutting down ephemeral network...'); + log.trace('shutting down ephemeral network...'); const peers = Array.from(this._peers.entries()); const promises = peers.map(([k, p]) => { return p.isEphemeral ? p.peer.stop() : p.peer._disconnect(); }); await Promise.all(promises); this._peers.clear(); - log.debug('Ephemeral network shut down'); + log.trace('ephemeral network shut down'); } /** @@ -226,7 +227,7 @@ export class EphemeralNetwork { } private async _send(from: PeerIdB58, to: PeerIdB58[], particle: string) { - log.info(`Sending particle from ${from}, to ${JSON.stringify(to)}`); + log.trace(`Sending particle from %s, to %j`, from, to); const peer = this._peers.get(from); if (peer === undefined) { log.error(`Peer ${from} cannot be found in ephemeral network`); diff --git a/packages/core/js-peer/src/js-peer/utils.ts b/packages/core/js-peer/src/js-peer/utils.ts index 6e5bca50..4b838749 100644 --- a/packages/core/js-peer/src/js-peer/utils.ts +++ b/packages/core/js-peer/src/js-peer/utils.ts @@ -14,13 +14,14 @@ * limitations under the License. */ -import log from 'loglevel'; - import { Buffer } from 'buffer'; import { CallServiceData, CallServiceResult, CallServiceResultType, ResultCodes } from '../interfaces/commonTypes.js'; import { FluencePeer } from './FluencePeer.js'; import { ParticleExecutionStage } from './Particle.js'; -import { LogFunction } from '@fluencelabs/marine-js/dist/types'; + +import { logger } from '../util/logger.js'; + +const log = logger('connection'); export const MakeServiceCall = (fn: (args: any[]) => CallServiceResultType) => @@ -126,25 +127,15 @@ export const checkConnection = async (peer: FluencePeer, ttl?: number): Promise< try { const result = await promise; if (result != msg) { - log.warn("unexpected behavior. 'identity' must return the passed arguments."); + log.error("unexpected behavior. 'identity' must return the passed arguments."); } return true; } catch (e) { - log.error('Error on establishing connection: ', e); + log.error('error on establishing connection. Relay: %s error: %j', e, peer.getStatus().relayPeerId); return false; } }; -export function dataToString(data: Uint8Array) { - const text = new TextDecoder().decode(Buffer.from(data)); - // try to treat data as json and pretty-print it - try { - return JSON.stringify(JSON.parse(text), null, 4); - } catch { - return text; - } -} - export function jsonify(obj: unknown) { return JSON.stringify(obj, null, 4); } @@ -160,29 +151,3 @@ export class ServiceError extends Error { Object.setPrototypeOf(this, ServiceError.prototype); } } - -export const marineLogFunction: LogFunction = (message) => { - const str = `[marine service "${message.service}"]: ${message.message}`; - - const nodeProcess = (globalThis as any).process ? (globalThis as any).process : undefined; - if (nodeProcess && nodeProcess.stderr) { - nodeProcess.stderr.write(str); - return; - } - - switch (message.level) { - case 'warn': - console.warn(str); - break; - - case 'error': - console.error(str); - break; - - case 'debug': - case 'trace': - case 'info': - console.log(str); - break; - } -}; diff --git a/packages/core/js-peer/src/marine/worker/index.ts b/packages/core/js-peer/src/marine/worker/index.ts index c6cb9c61..4ac9cf9e 100644 --- a/packages/core/js-peer/src/marine/worker/index.ts +++ b/packages/core/js-peer/src/marine/worker/index.ts @@ -23,14 +23,14 @@ import { spawn, Thread } from 'threads'; // @ts-ignore import type { ModuleThread } from 'threads'; +import { MarineLogger, marineLogger } from '../../util/logger.js'; + export class MarineBackgroundRunner implements IMarine { private workerThread?: ModuleThread; - constructor( - private workerLoader: IWorkerLoader, - private controlModuleLoader: IWasmLoader, - private logFunction: LogFunction, - ) {} + private loggers: Map = new Map(); + + constructor(private workerLoader: IWorkerLoader, private controlModuleLoader: IWasmLoader) {} async start(): Promise { if (this.workerThread) { @@ -42,16 +42,26 @@ export class MarineBackgroundRunner implements IMarine { const worker = this.workerLoader.getValue(); const wasm = this.controlModuleLoader.getValue(); this.workerThread = await spawn(worker, { timeout: 99999999 }); - this.workerThread.onLogMessage().subscribe(this.logFunction); + const logfn: LogFunction = (message) => { + const serviceLogger = this.loggers.get(message.service); + if (!serviceLogger) { + return; + } + serviceLogger[message.level](message.message); + }; + this.workerThread.onLogMessage().subscribe(logfn); await this.workerThread.init(wasm); } - createService(serviceModule: SharedArrayBuffer | Buffer, serviceId: string, logLevel?: LogLevel): Promise { + createService(serviceModule: SharedArrayBuffer | Buffer, serviceId: string): Promise { if (!this.workerThread) { throw 'Worker is not initialized'; } - const env = logLevel ? logLevelToEnv(logLevel) : {}; + // The logging level is controlled by the environment variable passed to enable debug logs. + // We enable all possible log levels passing the control for exact printouts to the logger + const env = logLevelToEnv('trace'); + this.loggers.set(serviceId, marineLogger(serviceId)); return this.workerThread.createService(serviceModule, serviceId, undefined, env); } diff --git a/packages/core/js-peer/src/util/logger.ts b/packages/core/js-peer/src/util/logger.ts new file mode 100644 index 00000000..7ae9bedb --- /dev/null +++ b/packages/core/js-peer/src/util/logger.ts @@ -0,0 +1,54 @@ +import debug from 'debug'; +import { Particle } from '../js-peer/Particle.js'; + +// Format avm data as a string +debug.formatters.a = (avmData: Uint8Array) => { + return new TextDecoder().decode(Buffer.from(avmData)); +}; + +type Logger = (formatter: any, ...args: any[]) => void; + +export interface CommonLogger { + error: Logger; + trace: Logger; + debug: Logger; +} + +export interface MarineLogger { + warn: Logger; + error: Logger; + debug: Logger; + trace: Logger; + info: Logger; +} + +export function logger(name: string): CommonLogger { + return { + error: debug(`fluence:${name}:error`), + trace: debug(`fluence:${name}:trace`), + debug: debug(`fluence:${name}:debug`), + }; +} + +export function marineLogger(serviceId: string): MarineLogger { + const name = `fluence:marine:${serviceId}`; + return { + warn: debug(`${name}:warn`), + error: debug(`${name}:error`), + debug: debug(`${name}:debug`), + trace: debug(`${name}:trace`), + info: debug(`${name}:info`), + }; +} + +export function disable() { + debug.disable(); +} + +export function enable(namespaces: string) { + debug.enable(namespaces); +} + +export function enabled(namespaces: string) { + return debug.enabled(namespaces); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 674fa2f3..0c5ed000 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,18 +22,22 @@ importers: packages/@tests/aqua: specifiers: - '@fluencelabs/aqua': 0.9.4 + '@fluencelabs/aqua-lib': 0.6.0 + '@fluencelabs/cli': 0.3.9 '@fluencelabs/fluence-network-environment': 1.0.14 '@fluencelabs/js-client.api': workspace:^ - '@fluencelabs/registry': 0.7.0 + '@fluencelabs/registry': 0.8.2 + '@fluencelabs/trust-graph': 3.1.2 base64-js: 1.5.1 dependencies: '@fluencelabs/fluence-network-environment': 1.0.14 '@fluencelabs/js-client.api': link:../../client/api base64-js: 1.5.1 devDependencies: - '@fluencelabs/aqua': 0.9.4_sxyfz5frysr7cnkewysdljfvwu - '@fluencelabs/registry': 0.7.0 + '@fluencelabs/aqua-lib': 0.6.0 + '@fluencelabs/cli': 0.3.9_mhciodunqktqftpx562wx5v3rq + '@fluencelabs/registry': 0.8.2 + '@fluencelabs/trust-graph': 3.1.2 packages/@tests/smoke/node: specifiers: @@ -201,18 +205,19 @@ importers: '@libp2p/websockets': 5.0.3 '@multiformats/multiaddr': 11.3.0 '@types/bs58': 4.0.1 + '@types/debug': 4.1.7 '@types/jest': 29.4.0 '@types/uuid': 8.3.2 async: 3.2.4 bs58: 5.0.0 buffer: 6.0.3 + debug: 4.3.4 it-length-prefixed: 8.0.4 it-map: 2.0.0 it-pipe: 2.0.5 jest: 29.4.1 js-base64: 3.7.5 libp2p: 0.42.2 - loglevel: 1.8.1 multiformats: 11.0.1 rxjs: 7.5.5 threads: 1.7.0 @@ -238,12 +243,12 @@ importers: async: 3.2.4 bs58: 5.0.0 buffer: 6.0.3 + debug: 4.3.4 it-length-prefixed: 8.0.4 it-map: 2.0.0 it-pipe: 2.0.5 js-base64: 3.7.5 libp2p: 0.42.2 - loglevel: 1.8.1 multiformats: 11.0.1 rxjs: 7.5.5 threads: 1.7.0 @@ -256,6 +261,7 @@ importers: '@fluencelabs/aqua-lib': 0.6.0 '@fluencelabs/fluence-network-environment': 1.0.13 '@types/bs58': 4.0.1 + '@types/debug': 4.1.7 '@types/jest': 29.4.0 '@types/uuid': 8.3.2 jest: 29.4.1 @@ -2031,6 +2037,353 @@ packages: - supports-color dev: false + /@ethereumjs/common/2.5.0: + resolution: {integrity: sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==} + dependencies: + crc-32: 1.2.2 + ethereumjs-util: 7.1.5 + dev: true + + /@ethereumjs/common/2.6.5: + resolution: {integrity: sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==} + dependencies: + crc-32: 1.2.2 + ethereumjs-util: 7.1.5 + dev: true + + /@ethereumjs/tx/3.3.2: + resolution: {integrity: sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==} + dependencies: + '@ethereumjs/common': 2.5.0 + ethereumjs-util: 7.1.5 + dev: true + + /@ethereumjs/tx/3.5.2: + resolution: {integrity: sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==} + dependencies: + '@ethereumjs/common': 2.6.5 + ethereumjs-util: 7.1.5 + dev: true + + /@ethersproject/abi/5.7.0: + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + dev: true + + /@ethersproject/abstract-provider/5.7.0: + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + dev: true + + /@ethersproject/abstract-signer/5.7.0: + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + dev: true + + /@ethersproject/address/5.7.0: + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + dev: true + + /@ethersproject/base64/5.7.0: + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + dependencies: + '@ethersproject/bytes': 5.7.0 + dev: true + + /@ethersproject/basex/5.7.0: + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 + dev: true + + /@ethersproject/bignumber/5.7.0: + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 + dev: true + + /@ethersproject/bytes/5.7.0: + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + dependencies: + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/constants/5.7.0: + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + dev: true + + /@ethersproject/contracts/5.7.0: + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + dev: true + + /@ethersproject/hash/5.7.0: + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + dev: true + + /@ethersproject/hdnode/5.7.0: + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + dev: true + + /@ethersproject/json-wallets/5.7.0: + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + dev: true + + /@ethersproject/keccak256/5.7.0: + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + dependencies: + '@ethersproject/bytes': 5.7.0 + js-sha3: 0.8.0 + dev: true + + /@ethersproject/logger/5.7.0: + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + dev: true + + /@ethersproject/networks/5.7.1: + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + dependencies: + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/pbkdf2/5.7.0: + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/sha2': 5.7.0 + dev: true + + /@ethersproject/properties/5.7.0: + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + dependencies: + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/providers/5.7.2: + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bech32: 1.1.4 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /@ethersproject/random/5.7.0: + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/rlp/5.7.0: + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/sha2/5.7.0: + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + dev: true + + /@ethersproject/signing-key/5.7.0: + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + bn.js: 5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + dev: true + + /@ethersproject/solidity/5.7.0: + resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + dev: true + + /@ethersproject/strings/5.7.0: + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/transactions/5.7.0: + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + dev: true + + /@ethersproject/units/5.7.0: + resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + dev: true + + /@ethersproject/wallet/5.7.0: + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + dev: true + + /@ethersproject/web/5.7.1: + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + dependencies: + '@ethersproject/base64': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + dev: true + + /@ethersproject/wordlists/5.7.0: + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + dev: true + + /@fluencelabs/aqua-api/0.10.3: + resolution: {integrity: sha512-OBRH6HEJQlD6qqVyit491OsI/Vr3GfSzEaf9GkHe9tOABZsu58gpiTQDFIC/cpmTG1YGq2oZcx9nsyRc5CkNTw==} + dev: true + /@fluencelabs/aqua-api/0.9.1-373: resolution: {integrity: sha512-q0A2z/FXOlc9UKCQ/Kf00ig0VpgdJ9woITYSj1tnVo9X3kR71gSv4loCQmukJoqlVZXzfQ8r+spalwBerin89A==} dev: true @@ -2101,29 +2454,6 @@ packages: - utf-8-validate dev: true - /@fluencelabs/aqua/0.9.4_sxyfz5frysr7cnkewysdljfvwu: - resolution: {integrity: sha512-DAy2XT4E4oR4Imgsc9ns8jd14StwxktHcZe3MTaZT1PDo3KdbrXda5MBGWFiuqhZcB/Xr4EruCvH/LscrsKlQg==} - hasBin: true - dependencies: - '@fluencelabs/aqua-ipfs': 0.5.8 - '@fluencelabs/aqua-lib': 0.6.0 - '@fluencelabs/fluence': 0.28.0_sxyfz5frysr7cnkewysdljfvwu - '@fluencelabs/fluence-network-environment': 1.0.13 - ipfs-http-client: 50.1.2_node-fetch@3.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@types/jest' - - babel-jest - - bufferutil - - encoding - - esbuild - - jest - - node-fetch - - supports-color - - typescript - - utf-8-validate - dev: true - /@fluencelabs/avm/0.31.10: resolution: {integrity: sha512-tkpjdHyRmsTwAEZCJt15//jXEgC2Nw2qFiD1NenvK127SlgKeuzQU9IMReUYY3dowb2IGeC578/uGMu96jHYKw==} dev: true @@ -2139,6 +2469,102 @@ packages: /@fluencelabs/avm/0.35.4: resolution: {integrity: sha512-J070t5AOYIzQnNcBcYjDPUDzJTcpVboZxcrjGN4qYiOjcrtCtnnXeQKedLuBto5bRztHJdL9BzLLvzcFXhgmFQ==} + /@fluencelabs/cli/0.3.9_mhciodunqktqftpx562wx5v3rq: + resolution: {integrity: sha512-xJYi7+AHrWt6RgWnr7Efr8Jpv0dNLoWhiCMvgSbXoFpIZzQAyNDgk5hnCdwIQ/eiJcNg0GHY0gyC+Q/d5YKc1Q==} + engines: {node: '=16'} + hasBin: true + dependencies: + '@fluencelabs/aqua-api': 0.10.3 + '@fluencelabs/deal-aurora': 0.1.8_gc7gatgk3jrcbnir3tz2izmvqi + '@fluencelabs/fluence': 0.28.0_zchmlqqvawdfhvpuz6nrqhtseq + '@fluencelabs/fluence-network-environment': 1.0.14 + '@iarna/toml': 2.2.5 + '@mswjs/interceptors': 0.19.5 + '@oclif/color': 1.0.4 + '@oclif/core': 2.6.2_4bewfcp2iebiwuold25d6rgcsy + '@oclif/plugin-autocomplete': 2.1.4_4bewfcp2iebiwuold25d6rgcsy + '@oclif/plugin-help': 5.2.7_4bewfcp2iebiwuold25d6rgcsy + '@oclif/plugin-not-found': 2.3.21_4bewfcp2iebiwuold25d6rgcsy + '@walletconnect/universal-provider': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + ajv: 8.12.0 + camelcase: 7.0.1 + chokidar: 3.5.3 + countly-sdk-nodejs: 22.6.0 + decompress: 4.2.1 + dotenv: 16.0.3 + ethers: 5.7.2 + filenamify: 5.1.1 + inquirer: 9.1.4 + ipfs-http-client: 60.0.0 + it-all: 1.0.6 + lodash-es: 4.17.21 + lokijs: 1.5.12 + multiaddr: 10.0.1_node-fetch@2.6.9 + node-fetch: 2.6.9 + platform: 1.3.6 + replace-homedir: 2.0.0 + web3: 1.8.2 + yaml: 2.2.1 + yaml-diff-patch: 2.0.0 + transitivePeerDependencies: + - '@babel/core' + - '@ethersproject/abi' + - '@ethersproject/providers' + - '@nomicfoundation/hardhat-chai-matchers' + - '@nomicfoundation/hardhat-network-helpers' + - '@nomiclabs/hardhat-ethers' + - '@nomiclabs/hardhat-etherscan' + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@typechain/ethers-v5' + - '@typechain/hardhat' + - '@types/chai' + - '@types/jest' + - '@types/mocha' + - '@types/node' + - babel-jest + - bufferutil + - chai + - debug + - encoding + - esbuild + - hardhat + - hardhat-gas-reporter + - jest + - solidity-coverage + - supports-color + - ts-node + - typechain + - typescript + - utf-8-validate + dev: true + + /@fluencelabs/connection/0.2.0_node-fetch@2.6.9: + resolution: {integrity: sha512-0jTRI1h/j/fR2VaLIlcIm6VoP3j2jL2lI6/OaYaOnwGXmI6CbZWHNeq9eaKWycT9B1vpN9wHu0Vi7vH3pFplhg==} + engines: {node: '>=10', pnpm: '>=3'} + dependencies: + '@chainsafe/libp2p-noise': 4.1.2 + '@fluencelabs/interfaces': 0.1.0 + browser-or-node: 2.1.1 + buffer: 6.0.3 + it-length-prefixed: 5.0.3 + it-pipe: 1.1.0 + libp2p: 0.36.2_node-fetch@2.6.9 + libp2p-interfaces: 4.0.6_node-fetch@2.6.9 + libp2p-mplex: 0.10.7 + libp2p-websockets: 0.16.2_node-fetch@2.6.9 + loglevel: 1.8.0 + multiaddr: 10.0.1_node-fetch@2.6.9 + peer-id: 0.16.0 + transitivePeerDependencies: + - bufferutil + - encoding + - node-fetch + - supports-color + - utf-8-validate + dev: true + /@fluencelabs/connection/0.2.0_node-fetch@3.3.0: resolution: {integrity: sha512-0jTRI1h/j/fR2VaLIlcIm6VoP3j2jL2lI6/OaYaOnwGXmI6CbZWHNeq9eaKWycT9B1vpN9wHu0Vi7vH3pFplhg==} engines: {node: '>=10', pnpm: '>=3'} @@ -2164,13 +2590,41 @@ packages: - utf-8-validate dev: true + /@fluencelabs/deal-aurora/0.1.8_gc7gatgk3jrcbnir3tz2izmvqi: + resolution: {integrity: sha512-h2L3F67AsFxJy+mBAAUy8gMUGf85sgT3kuLhqEstdbQ20ASjxrSsXmyVZeVQLUx4nR1ygbGll9Y+FmRFgpNwMQ==} + dependencies: + '@nomicfoundation/hardhat-toolbox': 1.0.2_gc7gatgk3jrcbnir3tz2izmvqi + '@openzeppelin/contracts': 4.8.2 + '@openzeppelin/contracts-upgradeable': 4.8.2 + dotenv: 16.0.3 + transitivePeerDependencies: + - '@ethersproject/abi' + - '@ethersproject/providers' + - '@nomicfoundation/hardhat-chai-matchers' + - '@nomicfoundation/hardhat-network-helpers' + - '@nomiclabs/hardhat-ethers' + - '@nomiclabs/hardhat-etherscan' + - '@typechain/ethers-v5' + - '@typechain/hardhat' + - '@types/chai' + - '@types/mocha' + - '@types/node' + - chai + - ethers + - hardhat + - hardhat-gas-reporter + - solidity-coverage + - ts-node + - typechain + - typescript + dev: true + /@fluencelabs/fluence-network-environment/1.0.13: resolution: {integrity: sha512-2pci3T0sUHE08jwEs1r/vHKVT4XUh/A3j/QJ0eIhddsxyIjEksjdn05X7DF6STD14CF8GgBVOJEPgav8qaUMpA==} dev: true /@fluencelabs/fluence-network-environment/1.0.14: resolution: {integrity: sha512-lMiH+7obmJW2Q+PMUR/vNAuX6TcVqlKmsWAHvnBogH7s8IeMT+UGN8qrweILWmE57G7MfauB302dIFQowR9tug==} - dev: false /@fluencelabs/fluence/0.26.3-snapshot-4_4ybkoodcah37urerzfcwvnjsoe: resolution: {integrity: sha512-M/iQhnViXfMaATj3gFPQXrZe9zSVcyN9F9A9hfJBUn0VLamhmbfeIoSZeheK8VGBxYbRGcrtoqLPTy1vJQVgVw==} @@ -2246,13 +2700,13 @@ packages: - utf-8-validate dev: true - /@fluencelabs/fluence/0.28.0_sxyfz5frysr7cnkewysdljfvwu: + /@fluencelabs/fluence/0.28.0_zchmlqqvawdfhvpuz6nrqhtseq: resolution: {integrity: sha512-SXb2vjTj8m/nw4jEILV0tu9VIFprGo8mNb2nOB5btxdsOI8GzQZkpGzTLrSd/+UagIo2GdxAu0GhBP8dxZXaqg==} engines: {node: '>=10', pnpm: '>=3'} hasBin: true dependencies: '@fluencelabs/avm': 0.35.3 - '@fluencelabs/connection': 0.2.0_node-fetch@3.3.0 + '@fluencelabs/connection': 0.2.0_node-fetch@2.6.9 '@fluencelabs/interfaces': 0.1.0 '@fluencelabs/keypair': 0.2.0 '@fluencelabs/marine-js': 0.3.37_cnngzrja2umb46xxazlucyx2qu @@ -2361,11 +2815,17 @@ packages: '@wasmer/wasmfs': 0.12.0 default-import: 1.1.5 - /@fluencelabs/registry/0.7.0: - resolution: {integrity: sha512-9yL/CFqGgw6RvPSJZGYM7dCEVQUXrC+cHFAcNWLAcFkA3RaB4znqFYFQRFeo5VUvv1mda9l1BEdv1Q4uO17/hw==} + /@fluencelabs/registry/0.8.2: + resolution: {integrity: sha512-4feKLsqqhSRi3b2PDlsCJs6/tLWyRrupOEBTrK/RliaHOGtz/zv1r4ghIYkzatUgDNodPB4L96JbojJ4LKGvIw==} + dependencies: + '@fluencelabs/aqua-lib': 0.6.0 + '@fluencelabs/trust-graph': 3.0.4 + dev: true + + /@fluencelabs/trust-graph/3.0.4: + resolution: {integrity: sha512-4CWe/dBuZwrj5iU6mTrLz5JCSy5v1fw7dYjD65Pz05xWAbLH2jw72YIJfbMX0utzb1qiM8CooXv1XKPgutCIHQ==} dependencies: '@fluencelabs/aqua-lib': 0.5.2 - '@fluencelabs/trust-graph': 3.1.2 dev: true /@fluencelabs/trust-graph/3.1.2: @@ -2394,6 +2854,33 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: false + /@iarna/toml/2.2.5: + resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + dev: true + + /@ipld/dag-cbor/9.0.0: + resolution: {integrity: sha512-zdsiSiYDEOIDW7mmWOYWC9gukjXO+F8wqxz/LfN7iSwTfIyipC8+UQrCbPupFMRb/33XQTZk8yl3My8vUQBRoA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + cborg: 1.10.0 + multiformats: 11.0.1 + dev: true + + /@ipld/dag-json/10.0.1: + resolution: {integrity: sha512-XE1Eqw3eNVrSfOhtqCM/gwCxEgYFBzkDlkwhEeMmMvhd0rLBfSyVzXbahZSlv97tiTPEIx5rt41gcFAda3W8zg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + cborg: 1.10.0 + multiformats: 11.0.1 + dev: true + + /@ipld/dag-pb/4.0.2: + resolution: {integrity: sha512-me9oEPb7UNPWSplUFCXyxnQE3/WlsjOljqO2RZN44XOmGkBY0/WVklbXorVE1eiv0Rt3p6dBS2x36Rq8A0Am8A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + multiformats: 11.0.1 + dev: true + /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2485,6 +2972,7 @@ packages: - supports-color - ts-node - utf-8-validate + dev: false /@jest/core/27.5.1_ts-node@10.9.1: resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} @@ -3098,6 +3586,35 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@json-rpc-tools/provider/1.7.6: + resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dependencies: + '@json-rpc-tools/utils': 1.7.6 + axios: 0.21.4 + safe-json-utils: 1.1.1 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + dev: true + + /@json-rpc-tools/types/1.7.6: + resolution: {integrity: sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dependencies: + keyvaluestorage-interface: 1.0.0 + dev: true + + /@json-rpc-tools/utils/1.7.6: + resolution: {integrity: sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dependencies: + '@json-rpc-tools/types': 1.7.6 + '@pedrouid/environment': 1.0.1 + dev: true + /@leichtgewicht/ip-codec/2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: false @@ -3176,7 +3693,6 @@ packages: uint8arraylist: 2.4.3 transitivePeerDependencies: - supports-color - dev: false /@libp2p/interface-content-routing/2.0.1: resolution: {integrity: sha512-M3rYXMhH+102qyZzc0GzkKq10x100nWVXGns2qtN3O82Hy/6FxXdgLUGIGWMdCj/7ilaVAuTwx8V3+DGmDIiMw==} @@ -3208,7 +3724,6 @@ packages: dependencies: '@libp2p/interface-peer-id': 2.0.1 multiformats: 11.0.1 - dev: false /@libp2p/interface-keys/1.0.7: resolution: {integrity: sha512-DRMPY9LfcnGJKrjaqIkY62U3fW2dya3VLy4x986ExtMrGn4kxIHeQ1IKk8/Vs9CJHTKmXEMID4of1Cjnw4aJpA==} @@ -3260,7 +3775,6 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: multiformats: 11.0.1 - dev: false /@libp2p/interface-peer-info/1.0.8: resolution: {integrity: sha512-LRvZt/9bZFYW7seAwuSg2hZuPl+FRTAsij5HtyvVwmpfVxipm6yQrKjQ+LiK/SZhIDVsSJ+UjF0mluJj+jeAzQ==} @@ -3270,7 +3784,6 @@ packages: '@multiformats/multiaddr': 11.4.0 transitivePeerDependencies: - supports-color - dev: false /@libp2p/interface-peer-routing/1.0.7: resolution: {integrity: sha512-0zxOOmKD6nA3LaArcP9UdRO4vJzEyoRtE34vvQP41UxjcSTaj4em5Fl4Q0RuOMXYPtRp+LdXRYbjJgCSeQoxwA==} @@ -3307,7 +3820,6 @@ packages: uint8arraylist: 2.4.3 transitivePeerDependencies: - supports-color - dev: false /@libp2p/interface-record/2.0.6: resolution: {integrity: sha512-4EtDkY3sbYapWM8++gVHlv31HZXoLmj9I7CRXUKXzFkVE0GLK/A8jYWl7K0lmf2juPjeYm2eHITeA9/wAtIS3w==} @@ -3354,7 +3866,6 @@ packages: /@libp2p/interfaces/3.3.1: resolution: {integrity: sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /@libp2p/logger/2.0.5: resolution: {integrity: sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==} @@ -3366,7 +3877,6 @@ packages: multiformats: 11.0.1 transitivePeerDependencies: - supports-color - dev: false /@libp2p/mplex/7.1.1: resolution: {integrity: sha512-0owK1aWgXXtjiohXtjwLV7Ehjdj96eBtsapVt7AzlHA+W8uYnI+x058thq3MisyMDlHiiE3BTh6fEf+t2/0dUw==} @@ -3443,7 +3953,6 @@ packages: '@libp2p/interfaces': 3.3.1 multiformats: 11.0.1 uint8arrays: 4.0.3 - dev: false /@libp2p/peer-record/5.0.0: resolution: {integrity: sha512-qGaqYQSRqI/vol1NEMR9Z3ncLjIkyIF0o/CQYXzXCDjA91i9+0iMjXGgIgBLn3bfA1b9pHuz4HvwjgYUKMYOkQ==} @@ -3553,6 +4062,51 @@ packages: - utf-8-validate dev: false + /@metamask/eth-sig-util/4.0.1: + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} + dependencies: + ethereumjs-abi: 0.6.8 + ethereumjs-util: 6.2.1 + ethjs-util: 0.1.6 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + dev: true + + /@morgan-stanley/ts-mocking-bird/0.6.4_cnngzrja2umb46xxazlucyx2qu: + resolution: {integrity: sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==} + peerDependencies: + jasmine: 2.x || 3.x || 4.x + jest: 26.x || 27.x || 28.x + typescript: '>=4.2' + peerDependenciesMeta: + jasmine: + optional: true + jest: + optional: true + dependencies: + jest: 27.5.1_ts-node@10.9.1 + lodash: 4.17.21 + typescript: 4.9.5 + uuid: 7.0.3 + dev: true + + /@mswjs/interceptors/0.19.5: + resolution: {integrity: sha512-kFlcrlgd8on6fe+ZRNcHcBjQgkNvjna5uJC0ufWLVcbQTTo1MhQHkDNgmId1kPmGVZVQ1gAUY3AC+QFbRwAiGw==} + engines: {node: '>=14'} + dependencies: + '@open-draft/until': 1.0.3 + '@remix-run/web-fetch': 4.3.2 + '@types/debug': 4.1.7 + debug: 4.3.4 + headers-polyfill: 3.1.2 + outvariant: 1.3.0 + strict-event-emitter: 0.4.6 + web-encoding: 1.1.5 + transitivePeerDependencies: + - supports-color + dev: true + /@multiformats/base-x/4.0.1: resolution: {integrity: sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==} dev: true @@ -3573,7 +4127,6 @@ packages: '@multiformats/multiaddr': 11.4.0 transitivePeerDependencies: - supports-color - dev: false /@multiformats/multiaddr/11.3.0: resolution: {integrity: sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==} @@ -3600,7 +4153,6 @@ packages: varint: 6.0.0 transitivePeerDependencies: - supports-color - dev: false /@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} @@ -3611,6 +4163,10 @@ packages: /@noble/ed25519/1.7.3: resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + /@noble/hashes/1.2.0: + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + dev: true + /@noble/secp256k1/1.7.1: resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -3620,12 +4176,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: false /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: false /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -3633,7 +4187,463 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - dev: false + + /@nomicfoundation/ethereumjs-block/4.0.0: + resolution: {integrity: sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-trie': 5.0.0 + '@nomicfoundation/ethereumjs-tx': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-blockchain/6.0.0: + resolution: {integrity: sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-block': 4.0.0 + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-ethash': 2.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-trie': 5.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + abstract-level: 1.0.3 + debug: 4.3.4 + ethereum-cryptography: 0.1.3 + level: 8.0.0 + lru-cache: 5.1.1 + memory-level: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-common/3.0.0: + resolution: {integrity: sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==} + dependencies: + '@nomicfoundation/ethereumjs-util': 8.0.0 + crc-32: 1.2.2 + dev: true + + /@nomicfoundation/ethereumjs-ethash/2.0.0: + resolution: {integrity: sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-block': 4.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + abstract-level: 1.0.3 + bigint-crypto-utils: 3.1.8 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-evm/1.0.0: + resolution: {integrity: sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + '@types/async-eventemitter': 0.2.1 + async-eventemitter: 0.2.4 + debug: 4.3.4 + ethereum-cryptography: 0.1.3 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-rlp/4.0.0: + resolution: {integrity: sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /@nomicfoundation/ethereumjs-statemanager/1.0.0: + resolution: {integrity: sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-trie': 5.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + debug: 4.3.4 + ethereum-cryptography: 0.1.3 + functional-red-black-tree: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-trie/5.0.0: + resolution: {integrity: sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + ethereum-cryptography: 0.1.3 + readable-stream: 3.6.0 + dev: true + + /@nomicfoundation/ethereumjs-tx/4.0.0: + resolution: {integrity: sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-util/8.0.0: + resolution: {integrity: sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-vm/6.0.0: + resolution: {integrity: sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-block': 4.0.0 + '@nomicfoundation/ethereumjs-blockchain': 6.0.0 + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-evm': 1.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-statemanager': 1.0.0 + '@nomicfoundation/ethereumjs-trie': 5.0.0 + '@nomicfoundation/ethereumjs-tx': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + '@types/async-eventemitter': 0.2.1 + async-eventemitter: 0.2.4 + debug: 4.3.4 + ethereum-cryptography: 0.1.3 + functional-red-black-tree: 1.0.1 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/hardhat-chai-matchers/1.0.6_dntrasblfyeflsnrtjxr3d547a: + resolution: {integrity: sha512-f5ZMNmabZeZegEfuxn/0kW+mm7+yV7VNDxLpMOMGXWFJ2l/Ct3QShujzDRF9cOkK9Ui/hbDeOWGZqyQALDXVCQ==} + peerDependencies: + '@nomiclabs/hardhat-ethers': ^2.0.0 + chai: ^4.2.0 + ethers: ^5.0.0 + hardhat: ^2.9.4 + dependencies: + '@ethersproject/abi': 5.7.0 + '@nomiclabs/hardhat-ethers': 2.2.2_wknqauzjtp3mhprkntsmqpccee + '@types/chai-as-promised': 7.1.5 + chai: 4.3.7 + chai-as-promised: 7.1.1_chai@4.3.7 + deep-eql: 4.1.3 + ethers: 5.7.2 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + ordinal: 1.0.3 + dev: true + + /@nomicfoundation/hardhat-network-helpers/1.0.8_hardhat@2.13.0: + resolution: {integrity: sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==} + peerDependencies: + hardhat: ^2.9.5 + dependencies: + ethereumjs-util: 7.1.5 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + dev: true + + /@nomicfoundation/hardhat-toolbox/1.0.2_gc7gatgk3jrcbnir3tz2izmvqi: + resolution: {integrity: sha512-8CEgWSKUK2aMit+76Sez8n7UB0Ze1lwT+LcWxj4EFP30lQWOwOws048t6MTPfThH0BlSWjC6hJRr0LncIkc1Sw==} + peerDependencies: + '@ethersproject/abi': ^5.4.7 + '@ethersproject/providers': ^5.4.7 + '@nomicfoundation/hardhat-chai-matchers': ^1.0.0 + '@nomicfoundation/hardhat-network-helpers': ^1.0.0 + '@nomiclabs/hardhat-ethers': ^2.0.0 + '@nomiclabs/hardhat-etherscan': ^3.0.0 + '@typechain/ethers-v5': ^10.1.0 + '@typechain/hardhat': ^6.1.2 + '@types/chai': ^4.2.0 + '@types/mocha': ^9.1.0 + '@types/node': '>=12.0.0' + chai: ^4.2.0 + ethers: ^5.4.7 + hardhat: ^2.9.9 + hardhat-gas-reporter: ^1.0.8 + solidity-coverage: ^0.7.21 + ts-node: '>=8.0.0' + typechain: ^8.1.0 + typescript: '>=4.5.0' + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/hardhat-chai-matchers': 1.0.6_dntrasblfyeflsnrtjxr3d547a + '@nomicfoundation/hardhat-network-helpers': 1.0.8_hardhat@2.13.0 + '@nomiclabs/hardhat-ethers': 2.2.2_wknqauzjtp3mhprkntsmqpccee + '@nomiclabs/hardhat-etherscan': 3.1.7_hardhat@2.13.0 + '@typechain/ethers-v5': 10.2.0_kuvqdvnhbslgxdpi2awxjzdvhe + '@typechain/hardhat': 6.1.5_i2fwc4p7n2iltkzqmr3qbux6yq + '@types/chai': 4.3.4 + '@types/mocha': 9.1.1 + '@types/node': 18.13.0 + chai: 4.3.7 + ethers: 5.7.2 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + hardhat-gas-reporter: 1.0.9_hardhat@2.13.0 + solidity-coverage: 0.7.22 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy + typechain: 8.1.1_cnngzrja2umb46xxazlucyx2qu + typescript: 4.9.5 + dev: true + + /@nomicfoundation/solidity-analyzer-darwin-arm64/0.1.1: + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-darwin-x64/0.1.1: + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-freebsd-x64/0.1.1: + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-linux-arm64-gnu/0.1.1: + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-linux-arm64-musl/0.1.1: + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-linux-x64-gnu/0.1.1: + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-linux-x64-musl/0.1.1: + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-win32-arm64-msvc/0.1.1: + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-win32-ia32-msvc/0.1.1: + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer-win32-x64-msvc/0.1.1: + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nomicfoundation/solidity-analyzer/0.1.1: + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + engines: {node: '>= 12'} + optionalDependencies: + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-freebsd-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 + dev: true + + /@nomiclabs/hardhat-ethers/2.2.2_wknqauzjtp3mhprkntsmqpccee: + resolution: {integrity: sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==} + peerDependencies: + ethers: ^5.0.0 + hardhat: ^2.0.0 + dependencies: + ethers: 5.7.2 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + dev: true + + /@nomiclabs/hardhat-etherscan/3.1.7_hardhat@2.13.0: + resolution: {integrity: sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ==} + peerDependencies: + hardhat: ^2.0.4 + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/address': 5.7.0 + cbor: 8.1.0 + chalk: 2.4.2 + debug: 4.3.4 + fs-extra: 7.0.1 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + lodash: 4.17.21 + semver: 6.3.0 + table: 6.8.1 + undici: 5.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@oclif/color/1.0.4: + resolution: {integrity: sha512-HEcVnSzpQkjskqWJyVN3tGgR0H0F8GrBmDjgQ1N0ZwwktYa4y9kfV07P/5vt5BjPXNyslXHc4KAO8Bt7gmErCA==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-styles: 4.3.0 + chalk: 4.1.2 + strip-ansi: 6.0.1 + supports-color: 8.1.1 + tslib: 2.5.0 + dev: true + + /@oclif/core/2.6.2_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-roxcBLr4BuoOEDEkMQk4Yy0Tolr39n6i+A63qPLa19vrgxjZZJygh2HpThsn69/UPuEzMq051FnvJ9tNln3Y5g==} + engines: {node: '>=14.0.0'} + dependencies: + '@types/cli-progress': 3.11.0 + ansi-escapes: 4.3.2 + ansi-styles: 4.3.0 + cardinal: 2.1.1 + chalk: 4.1.2 + clean-stack: 3.0.1 + cli-progress: 3.12.0 + debug: 4.3.4_supports-color@8.1.1 + ejs: 3.1.8 + fs-extra: 9.1.0 + get-package-type: 0.1.0 + globby: 11.1.0 + hyperlinker: 1.0.0 + indent-string: 4.0.0 + is-wsl: 2.2.0 + js-yaml: 3.14.1 + natural-orderby: 2.0.3 + object-treeify: 1.1.33 + password-prompt: 1.1.2 + semver: 7.3.8 + string-width: 4.2.3 + strip-ansi: 6.0.1 + supports-color: 8.1.1 + supports-hyperlinks: 2.3.0 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy + tslib: 2.5.0 + widest-line: 3.1.0 + wordwrap: 1.0.0 + wrap-ansi: 7.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + dev: true + + /@oclif/plugin-autocomplete/2.1.4_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-MwjXXE05fho7bMuilCbXt7DAc5jFKnKMzeE95VUOCCc390Ma9fmY32sNZH/COkJxnxBhFj7rUVy/PiCqimBiyQ==} + engines: {node: '>=12.0.0'} + dependencies: + '@oclif/core': 2.6.2_4bewfcp2iebiwuold25d6rgcsy + chalk: 4.1.2 + debug: 4.3.4 + fs-extra: 9.1.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - supports-color + - typescript + dev: true + + /@oclif/plugin-help/5.2.7_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-p6DJk0QMfzGvXGqrSZTQPitUGi68oGzr48tRKdrVxDDPMAELxHeXXFbkNRNdvjldPpTk44m0PbxV5tWhwurRwg==} + engines: {node: '>=12.0.0'} + dependencies: + '@oclif/core': 2.6.2_4bewfcp2iebiwuold25d6rgcsy + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + dev: true + + /@oclif/plugin-not-found/2.3.21_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-6N0gTWQhl5nuE5bXipv5+8vH5cHyGgEd3MKJHQYxFnHIFwwb9jJnFl0BZ0fo7Jrjd9HZYCLT7rjnouS7p1Dl1w==} + engines: {node: '>=12.0.0'} + dependencies: + '@oclif/color': 1.0.4 + '@oclif/core': 2.6.2_4bewfcp2iebiwuold25d6rgcsy + fast-levenshtein: 3.0.0 + lodash: 4.17.21 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + dev: true + + /@open-draft/until/1.0.3: + resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} + dev: true + + /@openzeppelin/contracts-upgradeable/4.8.2: + resolution: {integrity: sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==} + dev: true + + /@openzeppelin/contracts/4.8.2: + resolution: {integrity: sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==} + dev: true + + /@pedrouid/environment/1.0.1: + resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==} + dev: true /@pmmmwh/react-refresh-webpack-plugin/0.5.10_unmakpayn7vcxadrrsbqlrpehy: resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} @@ -3708,6 +4718,38 @@ packages: /@protobufjs/utf8/1.1.0: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + /@remix-run/web-blob/3.0.4: + resolution: {integrity: sha512-AfegzZvSSDc+LwnXV+SwROTrDtoLiPxeFW+jxgvtDAnkuCX1rrzmVJ6CzqZ1Ai0bVfmJadkG5GxtAfYclpPmgw==} + dependencies: + '@remix-run/web-stream': 1.0.3 + web-encoding: 1.1.5 + dev: true + + /@remix-run/web-fetch/4.3.2: + resolution: {integrity: sha512-aRNaaa0Fhyegv/GkJ/qsxMhXvyWGjPNgCKrStCvAvV1XXphntZI0nQO/Fl02LIQg3cGL8lDiOXOS1gzqDOlG5w==} + engines: {node: ^10.17 || >=12.3} + dependencies: + '@remix-run/web-blob': 3.0.4 + '@remix-run/web-form-data': 3.0.4 + '@remix-run/web-stream': 1.0.3 + '@web3-storage/multipart-parser': 1.0.0 + abort-controller: 3.0.0 + data-uri-to-buffer: 3.0.1 + mrmime: 1.0.1 + dev: true + + /@remix-run/web-form-data/3.0.4: + resolution: {integrity: sha512-UMF1jg9Vu9CLOf8iHBdY74Mm3PUvMW8G/XZRJE56SxKaOFWGSWlfxfG+/a3boAgHFLTkP7K4H1PxlRugy1iQtw==} + dependencies: + web-encoding: 1.1.5 + dev: true + + /@remix-run/web-stream/1.0.3: + resolution: {integrity: sha512-wlezlJaA5NF6SsNMiwQnnAW6tnPzQ5I8qk0Y0pSohm0eHKa2FQ1QhEKLVVcDDu02TmkfHgnux0igNfeYhDOXiA==} + dependencies: + web-streams-polyfill: 3.2.1 + dev: true + /@rollup/plugin-alias/3.1.9_rollup@2.79.1: resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} @@ -3834,12 +4876,111 @@ packages: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: false + /@scure/base/1.1.1: + resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + dev: true + + /@scure/bip32/1.1.5: + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/base': 1.1.1 + dev: true + + /@scure/bip39/1.1.1: + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + dependencies: + '@noble/hashes': 1.2.0 + '@scure/base': 1.1.1 + dev: true + + /@sentry/core/5.30.0: + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/hub/5.30.0: + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/minimal/5.30.0: + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/node/5.30.0: + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + dependencies: + '@sentry/core': 5.30.0 + '@sentry/hub': 5.30.0 + '@sentry/tracing': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + cookie: 0.4.2 + https-proxy-agent: 5.0.1 + lru_map: 0.3.3 + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@sentry/tracing/5.30.0: + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/types/5.30.0: + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + dev: true + + /@sentry/utils/5.30.0: + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: true + /@sinclair/typebox/0.24.51: resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} /@sinclair/typebox/0.25.21: resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} + /@sindresorhus/is/0.14.0: + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + dev: true + + /@sindresorhus/is/4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: true + /@sinonjs/commons/1.8.6: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} dependencies: @@ -3868,6 +5009,12 @@ packages: '@sinonjs/commons': 1.8.6 dev: true + /@solidity-parser/parser/0.14.5: + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + dependencies: + antlr4ts: 0.5.0-alpha.4 + dev: true + /@sovpro/delimited-stream/1.1.0: resolution: {integrity: sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw==} engines: {node: '>= 8'} @@ -3903,6 +5050,14 @@ packages: /@stablelib/constant-time/1.0.1: resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + /@stablelib/ed25519/1.0.3: + resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + dependencies: + '@stablelib/random': 1.0.2 + '@stablelib/sha512': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + /@stablelib/hash/1.0.1: resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} @@ -3947,6 +5102,14 @@ packages: '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 + /@stablelib/sha512/1.0.1: + resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + /@stablelib/wipe/1.0.1: resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} @@ -4074,6 +5237,27 @@ packages: - supports-color dev: false + /@szmarczak/http-timer/1.1.2: + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + dependencies: + defer-to-connect: 1.1.3 + dev: true + + /@szmarczak/http-timer/4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: true + + /@szmarczak/http-timer/5.0.1: + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + dependencies: + defer-to-connect: 2.0.1 + dev: true + /@testing-library/dom/8.20.0: resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} engines: {node: '>=12'} @@ -4131,6 +5315,37 @@ packages: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} + /@truffle/error/0.1.1: + resolution: {integrity: sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA==} + dev: true + + /@truffle/interface-adapter/0.5.30: + resolution: {integrity: sha512-wyCcESeZJBkAfuSGU8GHCusIWDUDyQjJZMcyShv59ZTSAwQR7xx0+a0Q1LlS532G/pGFLYe2VzKSY1pRHRwgug==} + dependencies: + bn.js: 5.2.1 + ethers: 4.0.49 + web3: 1.8.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + + /@truffle/provider/0.2.64: + resolution: {integrity: sha512-ZwPsofw4EsCq/2h0t73SPnnFezu4YQWBmK4FxFaOUX0F+o8NsZuHKyfJzuZwyZbiktYmefM3yD9rM0Dj4BhNbw==} + dependencies: + '@truffle/error': 0.1.1 + '@truffle/interface-adapter': 0.5.30 + debug: 4.3.4 + web3: 1.7.4 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + /@trysound/sax/0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -4151,10 +5366,53 @@ packages: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true + /@typechain/ethers-v5/10.2.0_kuvqdvnhbslgxdpi2awxjzdvhe: + resolution: {integrity: sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w==} + peerDependencies: + '@ethersproject/abi': ^5.0.0 + '@ethersproject/bytes': ^5.0.0 + '@ethersproject/providers': ^5.0.0 + ethers: ^5.1.3 + typechain: ^8.1.1 + typescript: '>=4.3.0' + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/providers': 5.7.2 + ethers: 5.7.2 + lodash: 4.17.21 + ts-essentials: 7.0.3_typescript@4.9.5 + typechain: 8.1.1_cnngzrja2umb46xxazlucyx2qu + typescript: 4.9.5 + dev: true + + /@typechain/hardhat/6.1.5_i2fwc4p7n2iltkzqmr3qbux6yq: + resolution: {integrity: sha512-lg7LW4qDZpxFMknp3Xool61Fg6Lays8F8TXdFGBG+MxyYcYU5795P1U2XdStuzGq9S2Dzdgh+1jGww9wvZ6r4Q==} + peerDependencies: + '@ethersproject/abi': ^5.4.7 + '@ethersproject/providers': ^5.4.7 + '@typechain/ethers-v5': ^10.2.0 + ethers: ^5.4.7 + hardhat: ^2.9.9 + typechain: ^8.1.1 + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@typechain/ethers-v5': 10.2.0_kuvqdvnhbslgxdpi2awxjzdvhe + ethers: 5.7.2 + fs-extra: 9.1.0 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + typechain: 8.1.1_cnngzrja2umb46xxazlucyx2qu + dev: true + /@types/aria-query/5.0.1: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: false + /@types/async-eventemitter/0.2.1: + resolution: {integrity: sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==} + dev: true + /@types/babel__core/7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: @@ -4180,6 +5438,18 @@ packages: dependencies: '@babel/types': 7.20.7 + /@types/bn.js/4.11.6: + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + dependencies: + '@types/node': 18.13.0 + dev: true + + /@types/bn.js/5.1.1: + resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/body-parser/1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: @@ -4199,6 +5469,37 @@ packages: base-x: 3.0.9 dev: true + /@types/cacheable-request/6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.1 + '@types/keyv': 3.1.4 + '@types/node': 18.13.0 + '@types/responselike': 1.0.0 + dev: true + + /@types/chai-as-promised/7.1.5: + resolution: {integrity: sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==} + dependencies: + '@types/chai': 4.3.4 + dev: true + + /@types/chai/4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true + + /@types/cli-progress/3.11.0: + resolution: {integrity: sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==} + dependencies: + '@types/node': 18.13.0 + dev: true + + /@types/concat-stream/1.6.1: + resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/connect-history-api-fallback/1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: @@ -4212,6 +5513,12 @@ packages: '@types/node': 18.13.0 dev: false + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + dev: true + /@types/eslint-scope/3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: @@ -4253,6 +5560,19 @@ packages: '@types/serve-static': 1.15.0 dev: false + /@types/form-data/0.0.33: + resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + dependencies: + '@types/node': 18.13.0 + dev: true + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 3.0.5 + '@types/node': 18.13.0 + dev: true + /@types/graceful-fs/4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: @@ -4262,6 +5582,10 @@ packages: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: false + /@types/http-cache-semantics/4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true + /@types/http-proxy/1.17.9: resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: @@ -4309,10 +5633,20 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false + /@types/keyv/3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/long/4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} dev: true + /@types/lru-cache/5.1.1: + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + dev: true + /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: false @@ -4321,6 +5655,22 @@ packages: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true + /@types/mocha/9.1.1: + resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} + dev: true + + /@types/ms/0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: true + + /@types/node/10.17.60: + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + dev: true + + /@types/node/12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + /@types/node/16.11.59: resolution: {integrity: sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==} dev: true @@ -4332,9 +5682,19 @@ packages: /@types/node/18.13.0: resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} + /@types/node/8.10.66: + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} + dev: true + /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/pbkdf2/3.1.0: + resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/platform/1.3.4: resolution: {integrity: sha512-U0o4K+GNiK0PNxoDwd8xRnvLVe4kzei6opn3/FCjAriqaP+rfrDdSl1kP/hLL6Y3/Y3hhGnBwD4dCkkAqs1W/Q==} dev: true @@ -4352,7 +5712,6 @@ packages: /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: false /@types/range-parser/1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} @@ -4377,6 +5736,12 @@ packages: dependencies: '@types/node': 18.13.0 + /@types/responselike/1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/retry/0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -4388,6 +5753,12 @@ packages: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: false + /@types/secp256k1/4.0.3: + resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: false @@ -4608,6 +5979,275 @@ packages: resolution: {integrity: sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w==} dev: true + /@walletconnect/core/2.4.7_mqijgjbnahaa3tnbkktxyzzb3a: + resolution: {integrity: sha512-w92NrtziqrWs070HJICGh80Vp60PaXu06OjNvOnVZEorbTipCWx4xxgcC2NhsT4TCQ8r1FOut6ahLe1PILuRsg==} + dependencies: + '@walletconnect/heartbeat': 1.2.0_4bewfcp2iebiwuold25d6rgcsy + '@walletconnect/jsonrpc-provider': 1.0.8 + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/jsonrpc-ws-connection': 1.0.9 + '@walletconnect/keyvaluestorage': 1.0.2_lokijs@1.5.12 + '@walletconnect/logger': 2.0.1 + '@walletconnect/relay-api': 1.0.9 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.1 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/utils': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + events: 3.3.0 + lodash.isequal: 4.5.0 + pino: 7.11.0 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - bufferutil + - lokijs + - typescript + - utf-8-validate + dev: true + + /@walletconnect/environment/1.0.1: + resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + dependencies: + tslib: 1.14.1 + dev: true + + /@walletconnect/events/1.0.1: + resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + dependencies: + keyvaluestorage-interface: 1.0.0 + tslib: 1.14.1 + dev: true + + /@walletconnect/heartbeat/1.2.0_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==} + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/time': 1.0.2 + chai: 4.3.7 + mocha: 10.2.0 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy + tslib: 1.14.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + dev: true + + /@walletconnect/jsonrpc-http-connection/1.0.6: + resolution: {integrity: sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw==} + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/safe-json': 1.0.1 + cross-fetch: 3.1.5 + tslib: 1.14.1 + transitivePeerDependencies: + - encoding + dev: true + + /@walletconnect/jsonrpc-provider/1.0.8: + resolution: {integrity: sha512-M44vzTrF0TeDcxQorm2lJ5klmfqchYOZqmIHb5T9lIPA/rj22643P83j44flZLyzycPqy5UUlIH6foeBPwjxMg==} + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/safe-json': 1.0.1 + tslib: 1.14.1 + dev: true + + /@walletconnect/jsonrpc-types/1.0.2: + resolution: {integrity: sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==} + dependencies: + keyvaluestorage-interface: 1.0.0 + tslib: 1.14.1 + dev: true + + /@walletconnect/jsonrpc-utils/1.0.6: + resolution: {integrity: sha512-snp0tfkjPiDLQp/jrBewI+9SM33GPV4+Gjgldod6XQ7rFyQ5FZjnBxUkY4xWH0+arNxzQSi6v5iDXjCjSaorpg==} + dependencies: + '@walletconnect/environment': 1.0.1 + '@walletconnect/jsonrpc-types': 1.0.2 + tslib: 1.14.1 + dev: true + + /@walletconnect/jsonrpc-ws-connection/1.0.9: + resolution: {integrity: sha512-x1COaW6hhMLEo+ND5zF/siBGg5SEwC/gHjeRbJtK1CRiq9atkg/XR7JwtSNfMvYX/O3PRCVmuc5SP0RQio9JUw==} + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/safe-json': 1.0.1 + events: 3.3.0 + tslib: 1.14.1 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /@walletconnect/keyvaluestorage/1.0.2_lokijs@1.5.12: + resolution: {integrity: sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==} + peerDependencies: + '@react-native-async-storage/async-storage': 1.x + lokijs: 1.x + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + lokijs: + optional: true + dependencies: + lokijs: 1.5.12 + safe-json-utils: 1.1.1 + tslib: 1.14.1 + dev: true + + /@walletconnect/logger/2.0.1: + resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==} + dependencies: + pino: 7.11.0 + tslib: 1.14.1 + dev: true + + /@walletconnect/relay-api/1.0.9: + resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==} + dependencies: + '@walletconnect/jsonrpc-types': 1.0.2 + tslib: 1.14.1 + dev: true + + /@walletconnect/relay-auth/1.0.4: + resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} + dependencies: + '@stablelib/ed25519': 1.0.3 + '@stablelib/random': 1.0.2 + '@walletconnect/safe-json': 1.0.1 + '@walletconnect/time': 1.0.2 + tslib: 1.14.1 + uint8arrays: 3.1.1 + dev: true + + /@walletconnect/safe-json/1.0.1: + resolution: {integrity: sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==} + dependencies: + tslib: 1.14.1 + dev: true + + /@walletconnect/sign-client/2.4.7_mqijgjbnahaa3tnbkktxyzzb3a: + resolution: {integrity: sha512-x5uxnHQkNSn0QNXUdPEfwy4o1Vyi2QIWkDGUh+pfSP4s2vN0+IJAcwqBqkPn+zJ1X7eKYLs+v0ih1eieciYMPA==} + dependencies: + '@walletconnect/core': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.0_4bewfcp2iebiwuold25d6rgcsy + '@walletconnect/jsonrpc-provider': 1.0.8 + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/logger': 2.0.1 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/utils': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + events: 3.3.0 + pino: 7.11.0 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - bufferutil + - lokijs + - typescript + - utf-8-validate + dev: true + + /@walletconnect/time/1.0.2: + resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} + dependencies: + tslib: 1.14.1 + dev: true + + /@walletconnect/types/2.4.7_mqijgjbnahaa3tnbkktxyzzb3a: + resolution: {integrity: sha512-1VaPdPJrE+UrEjAhK5bdxq2+MTo3DvUMmQeNUsp3vUGhocQXB9hJQQ1rYBknYYSyDu2rTksGCQ4nv3ZOqfxvHw==} + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.0_4bewfcp2iebiwuold25d6rgcsy + '@walletconnect/jsonrpc-types': 1.0.2 + '@walletconnect/keyvaluestorage': 1.0.2_lokijs@1.5.12 + '@walletconnect/logger': 2.0.1 + events: 3.3.0 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - lokijs + - typescript + dev: true + + /@walletconnect/universal-provider/2.4.7_mqijgjbnahaa3tnbkktxyzzb3a: + resolution: {integrity: sha512-xlefq2ahAsH3SpcsofWQQ5JT3Tz9NLAViA8FW07PHhfuf9p7OLp+Mu1wKxQEoBilyvfYRF4R5MTyTPy1wqJiRA==} + dependencies: + '@walletconnect/jsonrpc-http-connection': 1.0.6 + '@walletconnect/jsonrpc-provider': 1.0.8 + '@walletconnect/jsonrpc-types': 1.0.2 + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/logger': 2.0.1 + '@walletconnect/sign-client': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/types': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/utils': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + eip1193-provider: 1.0.1 + events: 3.3.0 + pino: 7.11.0 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - bufferutil + - debug + - encoding + - lokijs + - typescript + - utf-8-validate + dev: true + + /@walletconnect/utils/2.4.7_mqijgjbnahaa3tnbkktxyzzb3a: + resolution: {integrity: sha512-t3kW0qLClnejTTKg3y/o/MmJb5ZDGfD13YT9Nw56Up3qq/pwVfTtWjt8vJOQWMIm0hZgjgESivcf6/wuu3/Oqw==} + dependencies: + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/hkdf': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + '@walletconnect/jsonrpc-utils': 1.0.6 + '@walletconnect/relay-api': 1.0.9 + '@walletconnect/safe-json': 1.0.1 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.4.7_mqijgjbnahaa3tnbkktxyzzb3a + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + query-string: 7.1.1 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - lokijs + - typescript + dev: true + + /@walletconnect/window-getters/1.0.1: + resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} + dependencies: + tslib: 1.14.1 + dev: true + + /@walletconnect/window-metadata/1.0.1: + resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + dependencies: + '@walletconnect/window-getters': 1.0.1 + tslib: 1.14.1 + dev: true + /@wasmer/wasi/0.12.0: resolution: {integrity: sha512-FJhLZKAfLWm/yjQI7eCRHNbA8ezmb7LSpUYFkHruZXs2mXk2+DaQtSElEtOoNrVQ4vApTyVaAd5/b7uEu8w6wQ==} dependencies: @@ -4623,6 +6263,10 @@ packages: pako: 1.0.11 tar-stream: 2.2.0 + /@web3-storage/multipart-parser/1.0.0: + resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} + dev: true + /@webassemblyjs/ast/1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: @@ -4737,9 +6381,19 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: false + /@zxing/text-encoding/0.9.0: + resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} + requiresBuild: true + dev: true + optional: true + /abab/2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + /abbrev/1.0.9: + resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + dev: true + /abort-controller/3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -4760,13 +6414,29 @@ packages: it-stream-types: 1.0.5 dev: false + /abortcontroller-polyfill/1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: true + + /abstract-level/1.0.3: + resolution: {integrity: sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==} + engines: {node: '>=12'} + dependencies: + buffer: 6.0.3 + catering: 2.1.1 + is-buffer: 2.0.5 + level-supports: 4.0.1 + level-transcoder: 1.0.1 + module-error: 1.0.2 + queue-microtask: 1.2.3 + dev: true + /accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: false /acorn-globals/6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} @@ -4820,7 +6490,6 @@ packages: /address/1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} - dev: false /adjust-sourcemap-loader/4.0.0: resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} @@ -4830,6 +6499,15 @@ packages: regex-parser: 2.2.11 dev: false + /adm-zip/0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + dev: true + + /aes-js/3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + dev: true + /agent-base/6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -4889,7 +6567,32 @@ packages: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: false + + /amdefine/1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + dev: true + optional: true + + /ansi-colors/3.2.3: + resolution: {integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==} + engines: {node: '>=6'} + dev: true + + /ansi-colors/4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: true + + /ansi-colors/4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes/3.2.0: + resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} + engines: {node: '>=4'} + dev: true /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -4897,6 +6600,13 @@ packages: dependencies: type-fest: 0.21.3 + /ansi-escapes/6.0.0: + resolution: {integrity: sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 3.6.1 + dev: true + /ansi-html-community/0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} @@ -4908,6 +6618,16 @@ packages: engines: {node: '>=0.10.0'} dev: true + /ansi-regex/3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + dev: true + + /ansi-regex/4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + dev: true + /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -4915,7 +6635,6 @@ packages: /ansi-regex/6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: false /ansi-styles/2.2.1: resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} @@ -4938,6 +6657,19 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + /ansi-styles/6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /ansicolors/0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + dev: true + + /antlr4ts/0.5.0-alpha.4: + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + dev: true + /any-signal/2.1.2: resolution: {integrity: sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==} dependencies: @@ -4977,9 +6709,18 @@ packages: deep-equal: 2.2.0 dev: false + /array-back/3.1.0: + resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} + engines: {node: '>=6'} + dev: true + + /array-back/4.0.2: + resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} + engines: {node: '>=8'} + dev: true + /array-flatten/1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: false /array-flatten/2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} @@ -4999,7 +6740,11 @@ packages: /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: false + + /array-uniq/1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true /array.prototype.flat/1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} @@ -5030,7 +6775,6 @@ packages: es-abstract: 1.21.1 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 - dev: false /array.prototype.tosorted/1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} @@ -5044,7 +6788,6 @@ packages: /asap/2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: false /asn1.js/5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} @@ -5066,10 +6809,33 @@ packages: engines: {node: '>=0.8'} dev: true + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + /ast-types-flow/0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: false + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-eventemitter/0.2.4: + resolution: {integrity: sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==} + dependencies: + async: 2.6.4 + dev: true + + /async-limiter/1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + dev: true + + /async/1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + dev: true + /async/2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} dependencies: @@ -5093,7 +6859,11 @@ packages: /at-least-node/1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - dev: false + + /atomic-sleep/1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: true /autoprefixer/10.4.13_postcss@8.4.21: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} @@ -5127,6 +6897,14 @@ packages: engines: {node: '>=4'} dev: false + /axios/0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + dependencies: + follow-redirects: 1.15.2 + transitivePeerDependencies: + - debug + dev: true + /axobject-query/3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: @@ -5416,6 +7194,10 @@ packages: tweetnacl: 0.14.5 dev: true + /bech32/1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + dev: true + /benchmark/2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} dependencies: @@ -5437,6 +7219,18 @@ packages: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: false + /bigint-crypto-utils/3.1.8: + resolution: {integrity: sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==} + engines: {node: '>=10.4.0'} + dependencies: + bigint-mod-arith: 3.1.2 + dev: true + + /bigint-mod-arith/3.1.2: + resolution: {integrity: sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==} + engines: {node: '>=10.4.0'} + dev: true + /bignumber.js/9.1.1: resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} dev: true @@ -5444,7 +7238,6 @@ packages: /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: false /bindings/1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -5452,6 +7245,13 @@ packages: file-uri-to-path: 1.0.0 dev: true + /bl/1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + dependencies: + readable-stream: 2.3.7 + safe-buffer: 5.2.1 + dev: true + /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -5477,14 +7277,28 @@ packages: browser-readablestream-to-it: 1.0.3 dev: true + /blob-to-it/2.0.1: + resolution: {integrity: sha512-JdrAMsN0JmsI2fPfd5MpBqVUZHlETNQka/tBWzWXjixj9WttW6Lgti2MyEPAaQrjTJ/TZZMkeyJovH39qyF21A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + browser-readablestream-to-it: 2.0.1 + dev: true + /bluebird/3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: false + + /bn.js/4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + dev: true /bn.js/4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true + /bn.js/5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + dev: true + /body-parser/1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -5503,7 +7317,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: false /bonjour-service/1.1.0: resolution: {integrity: sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==} @@ -5559,6 +7372,15 @@ packages: duplexer: 0.1.1 dev: true + /browser-level/1.0.1: + resolution: {integrity: sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==} + dependencies: + abstract-level: 1.0.3 + catering: 2.1.1 + module-error: 1.0.2 + run-parallel-limit: 1.1.0 + dev: true + /browser-or-node/2.0.0: resolution: {integrity: sha512-3Lrks/Okgof+/cRguUNG+qRXSeq79SO3hY4QrXJayJofwJwHiGC0qi99uDjsfTwULUFSr1OGVsBkdIkygKjTUA==} dev: true @@ -5574,6 +7396,64 @@ packages: resolution: {integrity: sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==} dev: true + /browser-readablestream-to-it/2.0.1: + resolution: {integrity: sha512-X9zw312iV6yVozvrwmZNFVNRxkOJZC7XL+G7sVoRoDGKQkcoCzK/TdkBlnLOzmO5HsnpZzmW67dNlsAIstuhjQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: true + + /browser-stdout/1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + dev: true + + /browserify-aes/1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-cipher/1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: true + + /browserify-des/1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.0.1 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-rsa/4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + dev: true + + /browserify-sign/4.2.1: + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + /browserslist/4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -5591,16 +7471,41 @@ packages: fast-json-stable-stringify: 2.1.0 dev: true + /bs58/4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + dependencies: + base-x: 3.0.9 + dev: true + /bs58/5.0.0: resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} dependencies: base-x: 4.0.0 + /bs58check/2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + dependencies: + bs58: 4.0.1 + create-hash: 1.2.0 + safe-buffer: 5.2.1 + dev: true + /bser/2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 + /buffer-alloc-unsafe/1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + dev: true + + /buffer-alloc/1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + dev: true + /buffer-crc32/0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -5608,9 +7513,21 @@ packages: /buffer-es6/4.9.3: resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} + /buffer-fill/1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + dev: true + /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer-to-arraybuffer/0.0.5: + resolution: {integrity: sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==} + dev: true + + /buffer-xor/1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: true + /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -5623,6 +7540,14 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 + /bufferutil/4.0.7: + resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==} + engines: {node: '>=6.14.2'} + requiresBuild: true + dependencies: + node-gyp-build: 4.6.0 + dev: true + /builtin-modules/3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -5648,7 +7573,42 @@ packages: /bytes/3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: false + + /cacheable-lookup/5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: true + + /cacheable-lookup/6.1.0: + resolution: {integrity: sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==} + engines: {node: '>=10.6.0'} + dev: true + + /cacheable-request/6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.1 + responselike: 1.0.2 + dev: true + + /cacheable-request/7.0.2: + resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: true /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} @@ -5680,6 +7640,11 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + /camelcase/7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + /caniuse-api/3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: @@ -5691,6 +7656,14 @@ packages: /caniuse-lite/1.0.30001451: resolution: {integrity: sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==} + /cardinal/2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + dependencies: + ansicolors: 0.3.2 + redeyed: 2.1.1 + dev: true + /case-sensitive-paths-webpack-plugin/2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} @@ -5700,6 +7673,45 @@ packages: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true + /catering/2.1.1: + resolution: {integrity: sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==} + engines: {node: '>=6'} + dev: true + + /cbor/8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} + dependencies: + nofilter: 3.1.0 + dev: true + + /cborg/1.10.0: + resolution: {integrity: sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==} + hasBin: true + dev: true + + /chai-as-promised/7.1.1_chai@4.3.7: + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + peerDependencies: + chai: '>= 2.1.2 < 5' + dependencies: + chai: 4.3.7 + check-error: 1.0.2 + dev: true + + /chai/4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -5734,6 +7746,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk/5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /char-regex/1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -5743,10 +7760,37 @@ packages: engines: {node: '>=12.20'} dev: false + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /charenc/0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + dev: true + + /check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: true + /check-types/11.2.2: resolution: {integrity: sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==} dev: false + /chokidar/3.3.0: + resolution: {integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.2.0 + optionalDependencies: + fsevents: 2.1.3 + dev: true + /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -5760,7 +7804,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.2 - dev: false /chownr/1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -5780,10 +7823,26 @@ packages: mitt: 3.0.0 dev: true + /ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + /ci-info/3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} + /cids/0.7.5: + resolution: {integrity: sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==} + engines: {node: '>=4.0.0', npm: '>=3.0.0'} + deprecated: This module has been superseded by the multiformats module + dependencies: + buffer: 5.7.1 + class-is: 1.1.0 + multibase: 0.6.1 + multicodec: 1.0.4 + multihashes: 0.4.21 + dev: true + /cids/1.1.9: resolution: {integrity: sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==} engines: {node: '>=4.0.0', npm: '>=3.0.0'} @@ -5795,6 +7854,13 @@ packages: uint8arrays: 3.1.1 dev: true + /cipher-base/1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + /cjs-module-lexer/1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} @@ -5802,6 +7868,18 @@ packages: resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} dev: true + /classic-level/1.2.0: + resolution: {integrity: sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + abstract-level: 1.0.3 + catering: 2.1.1 + module-error: 1.0.2 + napi-macros: 2.0.0 + node-gyp-build: 4.6.0 + dev: true + /clean-css/5.3.2: resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} engines: {node: '>= 10.0'} @@ -5814,6 +7892,55 @@ packages: engines: {node: '>=6'} dev: true + /clean-stack/3.0.1: + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 4.0.0 + dev: true + + /cli-cursor/4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-progress/3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + dependencies: + string-width: 4.2.3 + dev: true + + /cli-spinners/2.7.0: + resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + engines: {node: '>=6'} + dev: true + + /cli-table3/0.5.1: + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} + dependencies: + object-assign: 4.1.1 + string-width: 2.1.1 + optionalDependencies: + colors: 1.4.0 + dev: true + + /cli-width/4.0.0: + resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} + engines: {node: '>= 12'} + dev: true + + /cliui/5.0.0: + resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + dev: true + /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -5830,6 +7957,17 @@ packages: wrap-ansi: 7.0.0 dev: true + /clone-response/1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /clone/1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + /co/4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -5870,15 +8008,48 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: false + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + dev: true + /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + /command-exists/1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + dev: true + + /command-line-args/5.2.1: + resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} + engines: {node: '>=4.0.0'} + dependencies: + array-back: 3.1.0 + find-replace: 3.0.0 + lodash.camelcase: 4.3.0 + typical: 4.0.0 + dev: true + + /command-line-usage/6.1.3: + resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} + engines: {node: '>=8.0.0'} + dependencies: + array-back: 4.0.2 + chalk: 2.4.2 + table-layout: 1.0.2 + typical: 5.2.0 + dev: true + /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + /commander/3.0.2: + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + dev: true + /commander/7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -5925,6 +8096,16 @@ packages: /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /concat-stream/1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.7 + typedarray: 0.0.6 + dev: true + /concat-with-sourcemaps/1.1.0: resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} dependencies: @@ -5950,12 +8131,18 @@ packages: engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 - dev: false + + /content-hash/2.5.2: + resolution: {integrity: sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==} + dependencies: + cids: 0.7.5 + multicodec: 0.5.7 + multihashes: 0.4.21 + dev: true /content-type/1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: false /convert-source-map/1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -5966,12 +8153,19 @@ packages: /cookie-signature/1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false + + /cookie/0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - dev: false + + /cookiejar/2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + dev: true /core-js-compat/3.27.2: resolution: {integrity: sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==} @@ -5994,7 +8188,14 @@ packages: /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: false + + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true /corser/2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} @@ -6032,6 +8233,44 @@ packages: path-type: 4.0.0 dev: true + /countly-sdk-nodejs/22.6.0: + resolution: {integrity: sha512-vw6YRGJJu6sq9oZEz00SyAL7oyru+w1ct3P6TS0avMPRSZ/mqEXYq3l+Wtl89L/HwXcDymh8gY7JOOAPnI7vEg==} + dev: true + + /crc-32/1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + dev: true + + /create-ecdh/4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + dev: true + + /create-hash/1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: true + + /create-hmac/1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -6044,6 +8283,17 @@ packages: - encoding dev: true + /cross-spawn/6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6052,6 +8302,26 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /crypt/0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: true + + /crypto-browserify/3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.1 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: true + /crypto-random-string/2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -6279,6 +8549,20 @@ packages: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} dev: false + /d/1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: true + + /dag-jose/4.0.0: + resolution: {integrity: sha512-tw595L3UYoOUT9dSJPbBEG/qpRpw24kRZxa5SLRnlnr+g5L7O8oEs1d3W5TiVA1oJZbthVsf0Vi3zFN66qcEBA==} + dependencies: + '@ipld/dag-cbor': 9.0.0 + multiformats: 11.0.1 + dev: true + /damerau-levenshtein/1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: false @@ -6290,6 +8574,11 @@ packages: assert-plus: 1.0.0 dev: true + /data-uri-to-buffer/3.0.1: + resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} + engines: {node: '>= 6'} + dev: true + /data-uri-to-buffer/4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -6342,6 +8631,10 @@ packages: - supports-color dev: false + /death/1.1.0: + resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + dev: true + /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -6351,7 +8644,19 @@ packages: optional: true dependencies: ms: 2.0.0 - dev: false + + /debug/3.2.6_supports-color@6.0.0: + resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + supports-color: 6.0.0 + dev: true /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -6374,12 +8679,114 @@ packages: dependencies: ms: 2.1.2 + /debug/4.3.4_supports-color@8.1.1: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decamelize/4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + dev: true + /decimal.js/10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + /decode-uri-component/0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /decompress-response/3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /decompress-response/6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + + /decompress-tar/4.1.1: + resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} + engines: {node: '>=4'} + dependencies: + file-type: 5.2.0 + is-stream: 1.1.0 + tar-stream: 1.6.2 + dev: true + + /decompress-tarbz2/4.1.1: + resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 6.2.0 + is-stream: 1.1.0 + seek-bzip: 1.0.6 + unbzip2-stream: 1.4.3 + dev: true + + /decompress-targz/4.1.1: + resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 5.2.0 + is-stream: 1.1.0 + dev: true + + /decompress-unzip/4.0.1: + resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} + engines: {node: '>=4'} + dependencies: + file-type: 3.9.0 + get-stream: 2.3.1 + pify: 2.3.0 + yauzl: 2.10.0 + dev: true + + /decompress/4.2.1: + resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + decompress-tarbz2: 4.1.1 + decompress-targz: 4.1.1 + decompress-unzip: 4.0.1 + graceful-fs: 4.2.10 + make-dir: 1.3.0 + pify: 2.3.0 + strip-dirs: 2.1.0 + dev: true + /dedent/0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-equal/2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: @@ -6402,6 +8809,11 @@ packages: which-typed-array: 1.1.9 dev: false + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -6419,6 +8831,21 @@ packages: resolution: {integrity: sha512-aaJ6uzZlmaEcN1U8yvtiyV7MG3/zZQf1XtGSW5dTfAVvfk0VZuriJelXxVL9a0ni42vMkhjWcztFfpIhwFcfOQ==} engines: {node: '>=14'} + /defaults/1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /defer-to-connect/1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + dev: true + + /defer-to-connect/2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: true + /define-lazy-prop/2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -6446,12 +8873,21 @@ packages: /depd/2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: false + + /des.js/1.0.1: + resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true /destroy/1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false + + /detect-browser/5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + dev: true /detect-newline/3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} @@ -6472,6 +8908,16 @@ packages: - supports-color dev: false + /detect-port/1.5.1: + resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} + hasBin: true + dependencies: + address: 1.2.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /detective/5.2.1: resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} engines: {node: '>=0.8.0'} @@ -6503,17 +8949,34 @@ packages: resolution: {integrity: sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /diff/3.5.0: + resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} + engines: {node: '>=0.3.1'} + dev: true + /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} dev: true + /diff/5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + dev: true + + /diffie-hellman/5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: false /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -6523,6 +8986,17 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: false + /dns-over-http-resolver/1.2.3_node-fetch@2.6.9: + resolution: {integrity: sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==} + dependencies: + debug: 4.3.4 + native-fetch: 3.0.0_node-fetch@2.6.9 + receptacle: 1.3.2 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /dns-over-http-resolver/1.2.3_node-fetch@3.3.0: resolution: {integrity: sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==} dependencies: @@ -6590,6 +9064,10 @@ packages: domhandler: 4.3.1 entities: 2.2.0 + /dom-walk/0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + dev: true + /domelementtype/1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} dev: false @@ -6639,6 +9117,11 @@ packages: engines: {node: '>=10'} dev: false + /dotenv/16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dev: true + /dts-bundle-generator/7.2.0: resolution: {integrity: sha512-pHjRo52hvvLDRijzIYRTS9eJR7vAOs3gd/7jx+7YVnLU8ay3yPUWGtHXPtuMBSlJYk/s4nq1SvXObDCZVguYMg==} engines: {node: '>=14.0.0'} @@ -6655,6 +9138,23 @@ packages: /duplexer/0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /duplexify/4.1.2: + resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.0 + stream-shift: 1.0.1 + dev: true + + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ecc-jsbn/0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -6664,7 +9164,16 @@ packages: /ee-first/1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false + + /eip1193-provider/1.0.1: + resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==} + dependencies: + '@json-rpc-tools/provider': 1.7.6 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + dev: true /ejs/3.1.8: resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} @@ -6708,12 +9217,15 @@ packages: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} + /emoji-regex/7.0.3: + resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + dev: true + /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex/9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: false /emojis-list/3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} @@ -6723,7 +9235,6 @@ packages: /encodeurl/1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: false /encoding/0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -6744,9 +9255,21 @@ packages: tapable: 2.2.1 dev: false + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + /entities/2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + /env-paths/2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + /err-code/3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} @@ -6801,7 +9324,6 @@ packages: /es-array-method-boxes-properly/1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - dev: false /es-get-iterator/1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -6843,11 +9365,40 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 + /es5-ext/0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: true + + /es6-iterator/2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: true + + /es6-promise/4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + dev: true + /es6-promisify/7.0.0: resolution: {integrity: sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==} engines: {node: '>=6'} dev: true + /es6-symbol/3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: true + /esbuild/0.16.17: resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} engines: {node: '>=12'} @@ -6884,7 +9435,6 @@ packages: /escape-html/1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false /escape-string-regexp/1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -6898,6 +9448,24 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /escodegen/1.8.1: + resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} + engines: {node: '>=0.12.0'} + hasBin: true + dependencies: + esprima: 2.7.3 + estraverse: 1.9.3 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.2.0 + dev: true + /escodegen/2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} @@ -7239,6 +9807,12 @@ packages: eslint-visitor-keys: 3.3.0 dev: false + /esprima/2.7.3: + resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -7258,6 +9832,11 @@ packages: estraverse: 5.3.0 dev: false + /estraverse/1.9.3: + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} + dev: true + /estraverse/4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} @@ -7285,7 +9864,194 @@ packages: /etag/1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: false + + /eth-ens-namehash/2.0.8: + resolution: {integrity: sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==} + dependencies: + idna-uts46-hx: 2.3.1 + js-sha3: 0.5.7 + dev: true + + /eth-gas-reporter/0.2.25: + resolution: {integrity: sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==} + peerDependencies: + '@codechecks/client': ^0.1.0 + peerDependenciesMeta: + '@codechecks/client': + optional: true + dependencies: + '@ethersproject/abi': 5.7.0 + '@solidity-parser/parser': 0.14.5 + cli-table3: 0.5.1 + colors: 1.4.0 + ethereum-cryptography: 1.2.0 + ethers: 4.0.49 + fs-readdir-recursive: 1.1.0 + lodash: 4.17.21 + markdown-table: 1.1.3 + mocha: 7.2.0 + req-cwd: 2.0.0 + request: 2.88.2 + request-promise-native: 1.0.9_request@2.88.2 + sha1: 1.1.1 + sync-request: 6.1.0 + dev: true + + /eth-lib/0.1.29: + resolution: {integrity: sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + nano-json-stream-parser: 0.1.2 + servify: 0.1.12 + ws: 3.3.3 + xhr-request-promise: 0.1.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /eth-lib/0.2.8: + resolution: {integrity: sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + xhr-request-promise: 0.1.3 + dev: true + + /ethereum-bloom-filters/1.0.10: + resolution: {integrity: sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==} + dependencies: + js-sha3: 0.8.0 + dev: true + + /ethereum-cryptography/0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + dependencies: + '@types/pbkdf2': 3.1.0 + '@types/secp256k1': 4.0.3 + blakejs: 1.2.1 + browserify-aes: 1.2.0 + bs58check: 2.1.2 + create-hash: 1.2.0 + create-hmac: 1.1.7 + hash.js: 1.1.7 + keccak: 3.0.3 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + scrypt-js: 3.0.1 + secp256k1: 4.0.3 + setimmediate: 1.0.5 + dev: true + + /ethereum-cryptography/1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/bip32': 1.1.5 + '@scure/bip39': 1.1.1 + dev: true + + /ethereumjs-abi/0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + dependencies: + bn.js: 4.12.0 + ethereumjs-util: 6.2.1 + dev: true + + /ethereumjs-util/6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + dependencies: + '@types/bn.js': 4.11.6 + bn.js: 4.12.0 + create-hash: 1.2.0 + elliptic: 6.5.4 + ethereum-cryptography: 0.1.3 + ethjs-util: 0.1.6 + rlp: 2.2.7 + dev: true + + /ethereumjs-util/7.1.5: + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + bn.js: 5.2.1 + create-hash: 1.2.0 + ethereum-cryptography: 0.1.3 + rlp: 2.2.7 + dev: true + + /ethers/4.0.49: + resolution: {integrity: sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==} + dependencies: + aes-js: 3.0.0 + bn.js: 4.12.0 + elliptic: 6.5.4 + hash.js: 1.1.3 + js-sha3: 0.5.7 + scrypt-js: 2.0.4 + setimmediate: 1.0.4 + uuid: 2.0.1 + xmlhttprequest: 1.8.0 + dev: true + + /ethers/5.7.2: + resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/solidity': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/units': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@ethersproject/web': 5.7.1 + '@ethersproject/wordlists': 5.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /ethjs-unit/0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + dev: true + + /ethjs-util/0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + dev: true /event-iterator/2.0.0: resolution: {integrity: sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ==} @@ -7295,6 +10061,10 @@ packages: engines: {node: '>=6'} dev: true + /eventemitter3/4.0.4: + resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} + dev: true + /eventemitter3/4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -7302,6 +10072,13 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + /evp_bytestokey/1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: true + /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -7387,12 +10164,26 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: false + + /ext/1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: true /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + /extract-zip/2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -7430,7 +10221,10 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: false + + /fast-json-patch/3.1.1: + resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} + dev: true /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -7438,17 +10232,32 @@ packages: /fast-levenshtein/2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + /fast-levenshtein/3.0.0: + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + dependencies: + fastest-levenshtein: 1.0.16 + dev: true + + /fast-redact/3.1.2: + resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} + engines: {node: '>=6'} + dev: true + /fast-url-parser/1.1.3: resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} dependencies: punycode: 1.4.1 dev: false + /fastest-levenshtein/1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + /fastq/1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - dev: false /faye-websocket/0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} @@ -7484,6 +10293,14 @@ packages: object-assign: 4.1.1 dev: true + /figures/5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + dev: true + /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -7502,6 +10319,21 @@ packages: webpack: 5.75.0 dev: false + /file-type/3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + dev: true + + /file-type/5.2.0: + resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} + engines: {node: '>=4'} + dev: true + + /file-type/6.2.0: + resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} + engines: {node: '>=4'} + dev: true + /file-uri-to-path/1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: true @@ -7511,6 +10343,20 @@ packages: dependencies: minimatch: 5.1.6 + /filename-reserved-regex/3.0.0: + resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /filenamify/5.1.1: + resolution: {integrity: sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==} + engines: {node: '>=12.20'} + dependencies: + filename-reserved-regex: 3.0.0 + strip-outer: 2.0.0 + trim-repeated: 2.0.0 + dev: true + /filesize/6.4.0: resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==} engines: {node: '>= 0.4.0'} @@ -7527,6 +10373,11 @@ packages: dependencies: to-regex-range: 5.0.1 + /filter-obj/1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + dev: true + /finalhandler/1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -7540,7 +10391,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: false /find-cache-dir/3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} @@ -7550,12 +10400,25 @@ packages: make-dir: 3.1.0 pkg-dir: 4.2.0 + /find-replace/3.0.0: + resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} + engines: {node: '>=4.0.0'} + dependencies: + array-back: 3.1.0 + dev: true + + /find-up/2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + /find-up/3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} dependencies: locate-path: 3.0.0 - dev: false /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -7570,7 +10433,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: false /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} @@ -7580,6 +10442,18 @@ packages: rimraf: 3.0.2 dev: false + /flat/4.1.1: + resolution: {integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==} + hasBin: true + dependencies: + is-buffer: 2.0.5 + dev: true + + /flat/5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + /flatted/3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: false @@ -7634,6 +10508,10 @@ packages: webpack: 5.75.0 dev: false + /form-data-encoder/1.7.1: + resolution: {integrity: sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==} + dev: true + /form-data/2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} @@ -7670,7 +10548,10 @@ packages: /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: false + + /fp-ts/1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + dev: true /fraction.js/4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} @@ -7683,11 +10564,20 @@ packages: /fresh/0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: false /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + /fs-extra/0.30.0: + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.7.1 + dev: true + /fs-extra/10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -7696,6 +10586,32 @@ packages: jsonfile: 6.1.0 universalify: 2.0.0 + /fs-extra/4.0.3: + resolution: {integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra/7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs-extra/9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -7704,7 +10620,12 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: false + + /fs-minipass/1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: true /fs-monkey/0.3.3: resolution: {integrity: sha512-FNUvuTAJ3CqCQb5ELn+qCbGR/Zllhf2HtwsdAtBi59s1WeCjKMT81fHcSu7dwIskqGVK+MmOrb7VOBlq3/SItw==} @@ -7713,9 +10634,22 @@ packages: resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} dev: false + /fs-readdir-recursive/1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + /fsevents/2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + deprecated: '"Please update to latest v2.3 or v2.2"' + requiresBuild: true + dev: true + optional: true + /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -7735,6 +10669,10 @@ packages: es-abstract: 1.21.1 functions-have-names: 1.2.3 + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: true + /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -7752,6 +10690,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + /get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: true + /get-intrinsic/1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: @@ -7775,6 +10717,26 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} + /get-port/3.2.0: + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} + dev: true + + /get-stream/2.3.1: + resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + pinkie-promise: 2.0.1 + dev: true + + /get-stream/4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + dev: true + /get-stream/5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -7799,12 +10761,19 @@ packages: assert-plus: 1.0.0 dev: true + /ghost-testrpc/0.0.2: + resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} + hasBin: true + dependencies: + chalk: 2.4.2 + node-emoji: 1.11.0 + dev: true + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: false /glob-parent/6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -7817,6 +10786,49 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false + /glob/5.0.15: + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + dependencies: + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob/7.1.3: + resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob/7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -7832,7 +10844,6 @@ packages: engines: {node: '>=6'} dependencies: global-prefix: 3.0.0 - dev: false /global-prefix/3.0.0: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} @@ -7841,7 +10852,13 @@ packages: ini: 1.3.8 kind-of: 6.0.3 which: 1.3.1 - dev: false + + /global/4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + dependencies: + min-document: 2.19.0 + process: 0.11.10 + dev: true /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -7864,6 +10881,20 @@ packages: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true + /globby/10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7874,7 +10905,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: false /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -7885,6 +10915,61 @@ packages: dependencies: get-intrinsic: 1.2.0 + /got/11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.0 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.2 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + dev: true + + /got/12.1.0: + resolution: {integrity: sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==} + engines: {node: '>=14.16'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 5.0.1 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.0 + cacheable-lookup: 6.1.0 + cacheable-request: 7.0.2 + decompress-response: 6.0.0 + form-data-encoder: 1.7.1 + get-stream: 6.0.1 + http2-wrapper: 2.2.0 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 2.0.1 + dev: true + + /got/9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: true + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -7892,6 +10977,11 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: false + /growl/1.10.5: + resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} + engines: {node: '>=4.x'} + dev: true + /gzip-size/3.0.0: resolution: {integrity: sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==} engines: {node: '>=0.12.0'} @@ -7909,6 +10999,19 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: false + /handlebars/4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + dev: true + /har-schema/2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} @@ -7923,6 +11026,90 @@ packages: har-schema: 2.0.0 dev: true + /hardhat-gas-reporter/1.0.9_hardhat@2.13.0: + resolution: {integrity: sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==} + peerDependencies: + hardhat: ^2.0.2 + dependencies: + array-uniq: 1.0.3 + eth-gas-reporter: 0.2.25 + hardhat: 2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi + sha1: 1.1.1 + transitivePeerDependencies: + - '@codechecks/client' + dev: true + + /hardhat/2.13.0_6qtx7vkbdhwvdm4crzlegk4mvi: + resolution: {integrity: sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + dependencies: + '@ethersproject/abi': 5.7.0 + '@metamask/eth-sig-util': 4.0.1 + '@nomicfoundation/ethereumjs-block': 4.0.0 + '@nomicfoundation/ethereumjs-blockchain': 6.0.0 + '@nomicfoundation/ethereumjs-common': 3.0.0 + '@nomicfoundation/ethereumjs-evm': 1.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@nomicfoundation/ethereumjs-statemanager': 1.0.0 + '@nomicfoundation/ethereumjs-trie': 5.0.0 + '@nomicfoundation/ethereumjs-tx': 4.0.0 + '@nomicfoundation/ethereumjs-util': 8.0.0 + '@nomicfoundation/ethereumjs-vm': 6.0.0 + '@nomicfoundation/solidity-analyzer': 0.1.1 + '@sentry/node': 5.30.0 + '@types/bn.js': 5.1.1 + '@types/lru-cache': 5.1.1 + abort-controller: 3.0.0 + adm-zip: 0.4.16 + aggregate-error: 3.1.0 + ansi-escapes: 4.3.2 + chalk: 2.4.2 + chokidar: 3.5.3 + ci-info: 2.0.0 + debug: 4.3.4 + enquirer: 2.3.6 + env-paths: 2.2.1 + ethereum-cryptography: 1.2.0 + ethereumjs-abi: 0.6.8 + find-up: 2.1.0 + fp-ts: 1.19.3 + fs-extra: 7.0.1 + glob: 7.2.0 + immutable: 4.2.4 + io-ts: 1.10.4 + keccak: 3.0.3 + lodash: 4.17.21 + mnemonist: 0.38.5 + mocha: 10.2.0 + p-map: 4.0.0 + qs: 6.11.0 + raw-body: 2.5.1 + resolve: 1.17.0 + semver: 6.3.0 + solc: 0.7.3_debug@4.3.4 + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy + tsort: 0.0.1 + typescript: 4.9.5 + undici: 5.18.0 + uuid: 8.3.2 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /harmony-reflect/1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: false @@ -7937,6 +11124,11 @@ packages: /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + /has-flag/1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true + /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -7970,6 +11162,22 @@ packages: dependencies: function-bind: 1.1.1 + /hash-base/3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + + /hash.js/1.1.3: + resolution: {integrity: sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + /hash.js/1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: @@ -7984,6 +11192,10 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + /headers-polyfill/3.1.2: + resolution: {integrity: sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA==} + dev: true + /hmac-drbg/1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: @@ -8063,6 +11275,20 @@ packages: entities: 2.2.0 dev: false + /http-basic/8.1.3: + resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} + engines: {node: '>=6.0.0'} + dependencies: + caseless: 0.12.0 + concat-stream: 1.6.2 + http-response-object: 3.0.2 + parse-cache-control: 1.0.1 + dev: true + + /http-cache-semantics/4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + /http-deceiver/1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} dev: false @@ -8086,7 +11312,10 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: false + + /http-https/1.0.0: + resolution: {integrity: sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==} + dev: true /http-parser-js/0.5.8: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} @@ -8131,6 +11360,12 @@ packages: transitivePeerDependencies: - debug + /http-response-object/3.0.2: + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + dependencies: + '@types/node': 10.17.60 + dev: true + /http-server/14.1.1: resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==} engines: {node: '>=12'} @@ -8163,6 +11398,22 @@ packages: sshpk: 1.17.0 dev: true + /http2-wrapper/1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: true + + /http2-wrapper/2.2.0: + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: true + /https-proxy-agent/5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -8176,6 +11427,11 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + /hyperlinker/1.0.0: + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} + dev: true + /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -8211,18 +11467,28 @@ packages: harmony-reflect: 1.6.2 dev: false + /idna-uts46-hx/2.3.1: + resolution: {integrity: sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==} + engines: {node: '>=4.0.0'} + dependencies: + punycode: 2.1.0 + dev: true + /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} /ignore/5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: false /immer/9.0.19: resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==} dev: false + /immutable/4.2.4: + resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} + dev: true + /import-cwd/3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} @@ -8275,7 +11541,27 @@ packages: /ini/1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: false + + /inquirer/9.1.4: + resolution: {integrity: sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 6.0.0 + chalk: 5.2.0 + cli-cursor: 4.0.0 + cli-width: 4.0.0 + external-editor: 3.1.0 + figures: 5.0.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 6.1.2 + run-async: 2.4.1 + rxjs: 7.8.0 + string-width: 5.1.2 + strip-ansi: 7.0.1 + through: 2.3.8 + wrap-ansi: 8.1.0 + dev: true /interface-datastore/4.0.2: resolution: {integrity: sha512-/XRmD7oagZMTaK25rV3WFrejLoUwxZcpgE+eNyZNYvb2jlB5P3MwJCIbetJSlVYK7yvaFmJi8s3f9VLcxJjdog==} @@ -8307,7 +11593,6 @@ packages: interface-store: 3.0.4 nanoid: 4.0.1 uint8arrays: 4.0.3 - dev: false /interface-ipld-format/1.0.1: resolution: {integrity: sha512-WV/ar+KQJVoQpqRDYdo7YPGYIUHJxCuOEhdvsRpzLqoOIVCqPKdMMYmsLL1nCRsF3yYNio+PAJbCKiv6drrEAg==} @@ -8329,7 +11614,6 @@ packages: /interface-store/3.0.4: resolution: {integrity: sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /internal-slot/1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} @@ -8339,6 +11623,17 @@ packages: has: 1.0.3 side-channel: 1.0.4 + /interpret/1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + dev: true + + /io-ts/1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + dependencies: + fp-ts: 1.19.3 + dev: true + /ip-address/8.1.0: resolution: {integrity: sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA==} engines: {node: '>= 12'} @@ -8360,12 +11655,29 @@ packages: /ipaddr.js/1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: false /ipaddr.js/2.0.1: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} + /ipfs-core-types/0.14.0: + resolution: {integrity: sha512-qO1xVO3n5m7scTXXtMz8hDTLdwXInnwqadIDQpXC446BIlaYyRWUvLcFQ2bOjQql9/CPNTaPHzjzr5Y1XxqpJw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@ipld/dag-pb': 4.0.2 + '@libp2p/interface-keychain': 2.0.4 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interface-pubsub': 3.0.6 + '@multiformats/multiaddr': 11.4.0 + '@types/node': 18.13.0 + interface-datastore: 7.0.4 + ipfs-unixfs: 9.0.1 + multiformats: 11.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /ipfs-core-types/0.5.2_node-fetch@3.3.0: resolution: {integrity: sha512-DOQeL+GFGYMTlnbdtMeBzvfVnyAalSgCfPr8XUCI+FVBZZWwzkt5jZZzGDmF87HVRrMR3FuVyBKZj772mcXKyQ==} dependencies: @@ -8379,6 +11691,35 @@ packages: - supports-color dev: true + /ipfs-core-utils/0.18.0: + resolution: {integrity: sha512-7N/KfsOPGJu9mwN8EQwrW9HXgS5RNM3WUyjIMWk49KlpYmsXectXuC9i6npI1vn1W/oUaIOZt3lHx37jecnepw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/logger': 2.0.5 + '@multiformats/multiaddr': 11.4.0 + '@multiformats/multiaddr-to-uri': 9.0.2 + any-signal: 3.0.1 + blob-to-it: 2.0.1 + browser-readablestream-to-it: 2.0.1 + err-code: 3.0.1 + ipfs-core-types: 0.14.0 + ipfs-unixfs: 9.0.1 + ipfs-utils: 9.0.14 + it-all: 2.0.0 + it-map: 2.0.0 + it-peekable: 2.0.1 + it-to-stream: 1.0.0 + merge-options: 3.0.4 + multiformats: 11.0.1 + nanoid: 4.0.1 + parse-duration: 1.0.2 + timeout-abort-controller: 3.0.0 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /ipfs-core-utils/0.8.3_node-fetch@3.3.0: resolution: {integrity: sha512-PY7PkCgCtVYtNOe1C3ew1+5D9NqXqizb886R/lyGWe+KsmWtBQkQIk0ZIDwKyHGvG2KA2QQeIDzdOmzBQBJtHQ==} dependencies: @@ -8439,6 +11780,34 @@ packages: - supports-color dev: true + /ipfs-http-client/60.0.0: + resolution: {integrity: sha512-d6Rqc1UP5nWhp7j0PumK80CA5LvbTvskro+qGw7hgWvbfQ0rX/5ddig7ELvVYJbJM4YBxCJSaSHDEOGoSpzzKg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@ipld/dag-cbor': 9.0.0 + '@ipld/dag-json': 10.0.1 + '@ipld/dag-pb': 4.0.2 + '@libp2p/logger': 2.0.5 + '@libp2p/peer-id': 2.0.1 + '@multiformats/multiaddr': 11.4.0 + any-signal: 3.0.1 + dag-jose: 4.0.0 + err-code: 3.0.1 + ipfs-core-types: 0.14.0 + ipfs-core-utils: 0.18.0 + ipfs-utils: 9.0.14 + it-first: 2.0.0 + it-last: 2.0.1 + merge-options: 3.0.4 + multiformats: 11.0.1 + parse-duration: 1.0.2 + stream-to-it: 0.2.4 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /ipfs-unixfs/4.0.3: resolution: {integrity: sha512-hzJ3X4vlKT8FQ3Xc4M1szaFVjsc1ZydN+E4VQ91aXxfpjFn9G2wsMo1EFdAXNq/BUnN5dgqIOMP5zRYr3DTsAw==} engines: {node: '>=14.0.0', npm: '>=7.0.0'} @@ -8447,6 +11816,14 @@ packages: protobufjs: 6.11.3 dev: true + /ipfs-unixfs/9.0.1: + resolution: {integrity: sha512-jh2CbXyxID+v3jLml9CqMwjdSS9ZRnsGfQGGPOfem0/hT/L48xUeTPvh7qLFWkZcIMhZtG+fnS1teei8x5uGBg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + err-code: 3.0.1 + protobufjs: 7.2.2 + dev: true + /ipfs-utils/8.1.6: resolution: {integrity: sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==} dependencies: @@ -8543,7 +11920,6 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - dev: false /is-array-buffer/3.0.1: resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} @@ -8565,7 +11941,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: false /is-boolean-object/1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -8609,22 +11984,46 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: false + + /is-fullwidth-code-point/2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + dev: true /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + /is-function/1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: true + /is-generator-fn/2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: false + + /is-hex-prefixed/1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + dev: true + + /is-interactive/2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: true /is-ip/3.1.0: resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} @@ -8648,6 +12047,10 @@ packages: /is-module/1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + /is-natural-number/4.0.1: + resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} + dev: true + /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -8720,6 +12123,11 @@ packages: dependencies: call-bind: 1.0.2 + /is-stream/1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -8749,6 +12157,16 @@ packages: /is-typedarray/1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-unicode-supported/1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + /is-weakmap/2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: false @@ -8773,7 +12191,6 @@ packages: /isarray/1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: false /isarray/2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -8852,7 +12269,6 @@ packages: /it-all/2.0.0: resolution: {integrity: sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /it-batched-bytes/1.0.0: resolution: {integrity: sha512-OfztV9UHQmoZ6u5F4y+YOI1Z+5JAhkv3Gexc1a0B7ikcVXc3PFSKlEnHv79u+Yp/h23o3tsF9hHAhuqgHCYT2Q==} @@ -8900,7 +12316,6 @@ packages: /it-first/2.0.0: resolution: {integrity: sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /it-foreach/0.1.1: resolution: {integrity: sha512-ZLxL651N5w5SL/EIIcrXELgYrrkuEKj/TErG93C4lr6lNZziKsf338ljSG85PjQfu7Frg/1wESl5pLrPSFXI9g==} @@ -8948,6 +12363,11 @@ packages: resolution: {integrity: sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==} dev: true + /it-last/2.0.1: + resolution: {integrity: sha512-uVMedYW0wa2Cx0TAmcOCLbfuLLII7+vyURmhKa8Zovpd+aBTMsmINtsta2n364wJ5qsEDBH+akY1sUtAkaYBlg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: true + /it-length-prefixed/5.0.3: resolution: {integrity: sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==} dependencies: @@ -8974,7 +12394,6 @@ packages: /it-map/2.0.0: resolution: {integrity: sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /it-merge/1.0.4: resolution: {integrity: sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==} @@ -9025,6 +12444,11 @@ packages: resolution: {integrity: sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==} dev: true + /it-peekable/2.0.1: + resolution: {integrity: sha512-fJ/YTU9rHRhGJOM2hhQKKEfRM6uKB9r4yGGFLBHqp72ACC8Yi6+7/FhuBAMG8cpN6mLoj9auVX7ZJ3ul6qFpTA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: true + /it-pipe/1.1.0: resolution: {integrity: sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==} dev: true @@ -9047,7 +12471,6 @@ packages: /it-pushable/3.1.2: resolution: {integrity: sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /it-reader/3.0.0: resolution: {integrity: sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==} @@ -9079,7 +12502,6 @@ packages: /it-stream-types/1.0.5: resolution: {integrity: sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false /it-take/1.0.2: resolution: {integrity: sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==} @@ -9280,6 +12702,7 @@ packages: - supports-color - ts-node - utf-8-validate + dev: false /jest-cli/27.5.1_ts-node@10.9.1: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} @@ -9405,6 +12828,7 @@ packages: - canvas - supports-color - utf-8-validate + dev: false /jest-config/27.5.1_ts-node@10.9.1: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} @@ -9439,7 +12863,7 @@ packages: pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1_j777nnsruz44drbtesvg2fqc7y + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy transitivePeerDependencies: - bufferutil - canvas @@ -10522,6 +13946,7 @@ packages: - supports-color - ts-node - utf-8-validate + dev: false /jest/27.5.1_ts-node@10.9.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} @@ -10590,6 +14015,10 @@ packages: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: false + /js-sha3/0.5.7: + resolution: {integrity: sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==} + dev: true + /js-sha3/0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} dev: true @@ -10597,6 +14026,14 @@ packages: /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + /js-yaml/3.13.1: + resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + /js-yaml/3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -10667,6 +14104,14 @@ packages: engines: {node: '>=4'} hasBin: true + /json-buffer/3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-buffer/3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -10675,7 +14120,6 @@ packages: /json-schema-traverse/1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false /json-schema/0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} @@ -10707,6 +14151,18 @@ packages: engines: {node: '>=6'} hasBin: true + /jsonfile/2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -10719,6 +14175,10 @@ packages: engines: {node: '>=0.10.0'} dev: false + /jsonschema/1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + dev: true + /jsprim/1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} @@ -10737,14 +14197,45 @@ packages: object.assign: 4.1.4 dev: false + /keccak/3.0.3: + resolution: {integrity: sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.6.0 + readable-stream: 3.6.0 + dev: true + /keypair/1.0.4: resolution: {integrity: sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==} dev: true + /keyv/3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv/4.5.2: + resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /keyvaluestorage-interface/1.0.0: + resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} + dev: true + /kind-of/6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - dev: false + + /klaw/1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: true /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} @@ -10770,6 +14261,27 @@ packages: language-subtag-registry: 0.3.22 dev: false + /level-supports/4.0.1: + resolution: {integrity: sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==} + engines: {node: '>=12'} + dev: true + + /level-transcoder/1.0.1: + resolution: {integrity: sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==} + engines: {node: '>=12'} + dependencies: + buffer: 6.0.3 + module-error: 1.0.2 + dev: true + + /level/8.0.0: + resolution: {integrity: sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==} + engines: {node: '>=12'} + dependencies: + browser-level: 1.0.1 + classic-level: 1.2.0 + dev: true + /leven/3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -10837,6 +14349,27 @@ packages: uint8arrays: 3.1.1 dev: true + /libp2p-interfaces/4.0.6_node-fetch@2.6.9: + resolution: {integrity: sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A==} + dependencies: + abortable-iterator: 3.0.2 + debug: 4.3.4 + err-code: 3.0.1 + it-length-prefixed: 5.0.3 + it-pipe: 1.1.0 + it-pushable: 1.4.2 + libp2p-crypto: 0.21.2 + multiaddr: 10.0.1_node-fetch@2.6.9 + multiformats: 9.9.0 + p-queue: 6.6.2 + peer-id: 0.16.0 + protobufjs: 6.11.3 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /libp2p-interfaces/4.0.6_node-fetch@3.3.0: resolution: {integrity: sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A==} dependencies: @@ -10872,6 +14405,21 @@ packages: - supports-color dev: true + /libp2p-utils/0.4.1_node-fetch@2.6.9: + resolution: {integrity: sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==} + dependencies: + abortable-iterator: 3.0.2 + debug: 4.3.4 + err-code: 3.0.1 + ip-address: 8.1.0 + is-loopback-addr: 1.0.1 + multiaddr: 10.0.1_node-fetch@2.6.9 + private-ip: 2.3.4 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /libp2p-utils/0.4.1_node-fetch@3.3.0: resolution: {integrity: sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==} dependencies: @@ -10887,6 +14435,29 @@ packages: - supports-color dev: true + /libp2p-websockets/0.16.2_node-fetch@2.6.9: + resolution: {integrity: sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==} + dependencies: + abortable-iterator: 3.0.2 + class-is: 1.1.0 + debug: 4.3.4 + err-code: 3.0.1 + ipfs-utils: 9.0.14 + it-ws: 4.0.0 + libp2p-utils: 0.4.1_node-fetch@2.6.9 + mafmt: 10.0.0_node-fetch@2.6.9 + multiaddr: 10.0.1_node-fetch@2.6.9 + multiaddr-to-uri: 8.0.0_node-fetch@2.6.9 + p-defer: 3.0.0 + p-timeout: 4.1.0 + transitivePeerDependencies: + - bufferutil + - encoding + - node-fetch + - supports-color + - utf-8-validate + dev: true + /libp2p-websockets/0.16.2_node-fetch@3.3.0: resolution: {integrity: sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==} dependencies: @@ -10910,6 +14481,69 @@ packages: - utf-8-validate dev: true + /libp2p/0.36.2_node-fetch@2.6.9: + resolution: {integrity: sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw==} + engines: {node: '>=15.0.0'} + dependencies: + '@vascosantos/moving-average': 1.1.0 + abortable-iterator: 3.0.2 + aggregate-error: 3.1.0 + any-signal: 3.0.1 + bignumber.js: 9.1.1 + class-is: 1.1.0 + datastore-core: 7.0.3 + debug: 4.3.4 + err-code: 3.0.1 + es6-promisify: 7.0.0 + events: 3.3.0 + hashlru: 2.3.0 + interface-datastore: 6.1.1 + it-all: 1.0.6 + it-buffer: 0.1.3 + it-drain: 1.0.5 + it-filter: 1.0.3 + it-first: 1.0.7 + it-foreach: 0.1.1 + it-handshake: 2.0.0 + it-length-prefixed: 5.0.3 + it-map: 1.0.6 + it-merge: 1.0.4 + it-pipe: 1.1.0 + it-sort: 1.0.1 + it-take: 1.0.2 + libp2p-crypto: 0.21.2 + libp2p-interfaces: 4.0.6_node-fetch@2.6.9 + libp2p-utils: 0.4.1_node-fetch@2.6.9 + mafmt: 10.0.0_node-fetch@2.6.9 + merge-options: 3.0.4 + mortice: 2.0.1 + multiaddr: 10.0.1_node-fetch@2.6.9 + multiformats: 9.9.0 + multistream-select: 3.0.2 + mutable-proxy: 1.0.0 + nat-api: 0.3.1 + node-forge: 1.3.1 + p-any: 3.0.0 + p-fifo: 1.0.0 + p-retry: 4.6.2 + p-settle: 4.1.1 + peer-id: 0.16.0 + private-ip: 2.3.4 + protobufjs: 6.11.3 + retimer: 3.0.0 + sanitize-filename: 1.6.3 + set-delayed-interval: 1.0.0 + streaming-iterables: 6.2.0 + timeout-abort-controller: 3.0.0 + uint8arrays: 3.1.1 + varint: 6.0.0 + wherearewe: 1.0.2 + xsalsa20: 1.2.0 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /libp2p/0.36.2_node-fetch@3.3.0: resolution: {integrity: sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw==} engines: {node: '>=15.0.0'} @@ -11074,13 +14708,20 @@ packages: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} + /locate-path/2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + /locate-path/3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - dev: false /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -11093,7 +14734,10 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: false + + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true /lodash.camelcase/4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -11102,6 +14746,10 @@ packages: /lodash.debounce/4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + /lodash.isequal/4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + /lodash.memoize/4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -11112,12 +14760,39 @@ packages: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false + /lodash.truncate/4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + /lodash.uniq/4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + /log-symbols/3.0.0: + resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} + engines: {node: '>=8'} + dependencies: + chalk: 2.4.2 + dev: true + + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-symbols/5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.2.0 + is-unicode-supported: 1.3.0 + dev: true + /loglevel/1.8.0: resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} engines: {node: '>= 0.6.0'} @@ -11126,6 +14801,11 @@ packages: /loglevel/1.8.1: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} + dev: true + + /lokijs/1.5.12: + resolution: {integrity: sha512-Q5ALD6JiS6xAUWCwX3taQmgwxyveCtIIuL08+ml0nHwT3k0S/GIFJN+Hd38b1qYIMaE5X++iqsqWVksz7SYW+Q==} + dev: true /long/4.0.0: resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} @@ -11133,7 +14813,6 @@ packages: /long/5.2.1: resolution: {integrity: sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==} - dev: false /longbits/1.1.0: resolution: {integrity: sha512-22U2exkkYy7sr7nuQJYx2NEZ2kEMsC69+BxM5h8auLvkVIJa+LwAB5mFIExnuW2dFuYXFOWsFMKXjaWiq/htYQ==} @@ -11150,12 +14829,33 @@ packages: js-tokens: 4.0.0 dev: false + /loupe/2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.5.0 dev: false + /lowercase-keys/1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys/2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true + + /lowercase-keys/3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -11167,11 +14867,24 @@ packages: dependencies: yallist: 4.0.0 + /lru_map/0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + dev: true + /lz-string/1.4.4: resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==} hasBin: true dev: false + /mafmt/10.0.0_node-fetch@2.6.9: + resolution: {integrity: sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==} + dependencies: + multiaddr: 10.0.1_node-fetch@2.6.9 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /mafmt/10.0.0_node-fetch@3.3.0: resolution: {integrity: sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==} dependencies: @@ -11193,6 +14906,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /make-dir/1.3.0: + resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + /make-dir/3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -11208,6 +14928,10 @@ packages: dependencies: tmpl: 1.0.5 + /markdown-table/1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + dev: true + /maxmin/2.1.0: resolution: {integrity: sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==} engines: {node: '>=0.12'} @@ -11218,6 +14942,19 @@ packages: pretty-bytes: 3.0.1 dev: true + /mcl-wasm/0.7.9: + resolution: {integrity: sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==} + engines: {node: '>=8.9.0'} + dev: true + + /md5.js/1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + /mdn-data/2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -11228,7 +14965,6 @@ packages: /media-typer/0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: false /memfs/3.0.4: resolution: {integrity: sha512-OcZEzwX9E5AoY8SXjuAvw0DbIAYwUzV/I236I8Pqvrlv7sL/Y0E9aRCon05DhaV8pg1b32uxj76RgW0s5xjHBA==} @@ -11243,9 +14979,22 @@ packages: fs-monkey: 1.0.3 dev: false + /memory-level/1.0.0: + resolution: {integrity: sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==} + engines: {node: '>=12'} + dependencies: + abstract-level: 1.0.3 + functional-red-black-tree: 1.0.1 + module-error: 1.0.2 + dev: true + + /memorystream/0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + /merge-descriptors/1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false /merge-options/3.0.4: resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} @@ -11259,12 +15008,10 @@ packages: /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: false /methods/1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - dev: false /microbundle/0.15.1: resolution: {integrity: sha512-aAF+nwFbkSIJGfrJk+HyzmJOq3KFaimH6OIFBU6J2DPjQeg1jXIYlIyEv81Gyisb9moUkudn+wj7zLNYMOv75Q==} @@ -11325,6 +15072,14 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /miller-rabin/4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: true + /mime-db/1.33.0: resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} engines: {node: '>= 0.6'} @@ -11356,6 +15111,22 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + /mimic-response/1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /mimic-response/3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + + /min-document/2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + dependencies: + dom-walk: 0.1.2 + dev: true + /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -11378,11 +15149,24 @@ packages: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true + /minimatch/3.0.4: + resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + dependencies: + brace-expansion: 1.1.11 + dev: true + /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 + /minimatch/5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch/5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} @@ -11392,6 +15176,19 @@ packages: /minimist/1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + /minipass/2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: true + + /minizlib/1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: true + /mitt/3.0.0: resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} dev: true @@ -11400,12 +15197,107 @@ packages: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true + /mkdirp-promise/5.0.1: + resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} + engines: {node: '>=4'} + deprecated: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that. + dependencies: + mkdirp: 0.5.6 + dev: true + + /mkdirp/0.5.5: + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: minimist: 1.2.8 + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /mnemonist/0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + dependencies: + obliterator: 2.0.4 + dev: true + + /mocha/10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} + engines: {node: '>= 14.0.0'} + hasBin: true + dependencies: + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.3 + debug: 4.3.4_supports-color@8.1.1 + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.0.1 + ms: 2.1.3 + nanoid: 3.3.3 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.2.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + dev: true + + /mocha/7.2.0: + resolution: {integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==} + engines: {node: '>= 8.10.0'} + hasBin: true + dependencies: + ansi-colors: 3.2.3 + browser-stdout: 1.3.1 + chokidar: 3.3.0 + debug: 3.2.6_supports-color@6.0.0 + diff: 3.5.0 + escape-string-regexp: 1.0.5 + find-up: 3.0.0 + glob: 7.1.3 + growl: 1.10.5 + he: 1.2.0 + js-yaml: 3.13.1 + log-symbols: 3.0.0 + minimatch: 3.0.4 + mkdirp: 0.5.5 + ms: 2.1.1 + node-environment-flags: 1.0.6 + object.assign: 4.1.0 + strip-json-comments: 2.0.1 + supports-color: 6.0.0 + which: 1.3.1 + wide-align: 1.1.3 + yargs: 13.3.2 + yargs-parser: 13.1.2 + yargs-unparser: 1.6.0 + dev: true + + /mock-fs/4.14.0: + resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==} + dev: true + + /module-error/1.0.2: + resolution: {integrity: sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==} + engines: {node: '>=10'} + dev: true + /mortice/2.0.1: resolution: {integrity: sha512-9gsXmjq+5LZmXDIoyC/crf2i/7CUwDGSBEwSEsr1i/WfKmJ6DVt38B5kg6BE/WF/1/yfGJYiB1Wyiu423iI3nQ==} dependencies: @@ -11430,9 +15322,17 @@ packages: engines: {node: '>=4'} dev: true + /mrmime/1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false + + /ms/2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: true /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -11450,6 +15350,16 @@ packages: - supports-color dev: true + /multiaddr-to-uri/8.0.0_node-fetch@2.6.9: + resolution: {integrity: sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==} + deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri + dependencies: + multiaddr: 10.0.1_node-fetch@2.6.9 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /multiaddr-to-uri/8.0.0_node-fetch@3.3.0: resolution: {integrity: sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri @@ -11460,6 +15370,21 @@ packages: - supports-color dev: true + /multiaddr/10.0.1_node-fetch@2.6.9: + resolution: {integrity: sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==} + deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr + dependencies: + dns-over-http-resolver: 1.2.3_node-fetch@2.6.9 + err-code: 3.0.1 + is-ip: 3.1.0 + multiformats: 9.9.0 + uint8arrays: 3.1.1 + varint: 6.0.0 + transitivePeerDependencies: + - node-fetch + - supports-color + dev: true + /multiaddr/10.0.1_node-fetch@3.3.0: resolution: {integrity: sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr @@ -11491,6 +15416,22 @@ packages: - supports-color dev: true + /multibase/0.6.1: + resolution: {integrity: sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==} + deprecated: This module has been superseded by the multiformats module + dependencies: + base-x: 3.0.9 + buffer: 5.7.1 + dev: true + + /multibase/0.7.0: + resolution: {integrity: sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==} + deprecated: This module has been superseded by the multiformats module + dependencies: + base-x: 3.0.9 + buffer: 5.7.1 + dev: true + /multibase/4.0.6: resolution: {integrity: sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} @@ -11507,6 +15448,21 @@ packages: thunky: 1.1.0 dev: false + /multicodec/0.5.7: + resolution: {integrity: sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==} + deprecated: This module has been superseded by the multiformats module + dependencies: + varint: 5.0.2 + dev: true + + /multicodec/1.0.4: + resolution: {integrity: sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==} + deprecated: This module has been superseded by the multiformats module + dependencies: + buffer: 5.7.1 + varint: 5.0.2 + dev: true + /multicodec/3.2.1: resolution: {integrity: sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==} deprecated: This module has been superseded by the multiformats module @@ -11532,6 +15488,14 @@ packages: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} dev: true + /multihashes/0.4.21: + resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==} + dependencies: + buffer: 5.7.1 + multibase: 0.7.0 + varint: 5.0.2 + dev: true + /multihashes/4.0.3: resolution: {integrity: sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} @@ -11581,10 +15545,24 @@ packages: engines: {node: '>=6.X.X', npm: '>=3.X.X'} dev: true + /mute-stream/0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + /nan/2.17.0: resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} dev: true + /nano-json-stream-parser/0.1.2: + resolution: {integrity: sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==} + dev: true + + /nanoid/3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -11594,7 +15572,10 @@ packages: resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} engines: {node: ^14 || ^16 || >=18} hasBin: true - dev: false + + /napi-macros/2.0.0: + resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==} + dev: true /nat-api/0.3.1: resolution: {integrity: sha512-5cyLugEkXnKSKSvVjKjxxPMLDnkwY3boZLbATWwiGJ4T/3UvIpiQmzb2RqtxxEFcVo/7PwsHPGN0MosopONO8Q==} @@ -11656,19 +15637,29 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /natural-orderby/2.0.3: + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} + dev: true + /negotiator/0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - dev: false /neo-async/2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: false /netmask/2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} + /next-tick/1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: true + + /nice-try/1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + /no-case/3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -11695,6 +15686,19 @@ packages: engines: {node: '>=10.5.0'} dev: true + /node-emoji/1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + dependencies: + lodash: 4.17.21 + dev: true + + /node-environment-flags/1.0.6: + resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} + dependencies: + object.getownpropertydescriptors: 2.1.5 + semver: 5.7.1 + dev: true + /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -11748,6 +15752,18 @@ packages: /node-releases/2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /nofilter/3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + dev: true + + /nopt/3.0.6: + resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} + hasBin: true + dependencies: + abbrev: 1.0.9 + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -11756,6 +15772,11 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + /normalize-url/4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + dev: true + /normalize-url/6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -11782,6 +15803,14 @@ packages: engines: {node: '>=0.10.0'} dev: true + /number-to-bn/1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + dev: true + /nwsapi/2.2.2: resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} @@ -11813,6 +15842,21 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + /object-treeify/1.1.33: + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} + dev: true + + /object.assign/4.1.0: + resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + function-bind: 1.1.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + /object.assign/4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} @@ -11848,7 +15892,6 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.1 - dev: false /object.hasown/1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} @@ -11866,6 +15909,16 @@ packages: es-abstract: 1.21.1 dev: false + /obliterator/2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + dev: true + + /oboe/2.1.5: + resolution: {integrity: sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==} + dependencies: + http-https: 1.0.0 + dev: true + /observable-fns/0.6.1: resolution: {integrity: sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==} @@ -11882,12 +15935,15 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: false + /on-exit-leak-free/0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + dev: true + /on-finished/2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: false /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} @@ -11918,6 +15974,13 @@ packages: hasBin: true dev: true + /oppa/0.4.0: + resolution: {integrity: sha512-DFvM3+F+rB/igo3FRnkDWitjZgBH9qZAn68IacYHsqbZBKwuTA+LdD4zSJiQtgQpWq7M08we5FlGAVHz0yW7PQ==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + dev: true + /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -11941,6 +16004,34 @@ packages: word-wrap: 1.2.3 dev: false + /ora/6.1.2: + resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + chalk: 5.2.0 + cli-cursor: 4.0.0 + cli-spinners: 2.7.0 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + strip-ansi: 7.0.1 + wcwidth: 1.0.1 + dev: true + + /ordinal/1.0.3: + resolution: {integrity: sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==} + dev: true + + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /outvariant/1.3.0: + resolution: {integrity: sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ==} + dev: true + /p-any/3.0.0: resolution: {integrity: sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==} engines: {node: '>=10'} @@ -11949,11 +16040,21 @@ packages: p-some: 5.0.0 dev: true + /p-cancelable/1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + dev: true + /p-cancelable/2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} dev: true + /p-cancelable/3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + dev: true + /p-defer/3.0.0: resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} engines: {node: '>=8'} @@ -11974,6 +16075,13 @@ packages: engines: {node: '>=4'} dev: true + /p-limit/1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: true + /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -11993,12 +16101,18 @@ packages: yocto-queue: 1.0.0 dev: false + /p-locate/2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + /p-locate/3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} dependencies: p-limit: 2.3.0 - dev: false /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} @@ -12011,7 +16125,13 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: false + + /p-map/4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true /p-queue/6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} @@ -12100,6 +16220,11 @@ packages: engines: {node: '>=14.16'} dev: false + /p-try/1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true + /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -12120,10 +16245,28 @@ packages: dependencies: callsites: 3.1.0 + /parse-asn1/5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: true + + /parse-cache-control/1.0.1: + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + dev: true + /parse-duration/1.0.2: resolution: {integrity: sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==} dev: true + /parse-headers/2.0.5: + resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + dev: true + /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -12139,7 +16282,6 @@ packages: /parseurl/1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: false /pascal-case/3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} @@ -12148,13 +16290,19 @@ packages: tslib: 2.5.0 dev: false + /password-prompt/1.1.2: + resolution: {integrity: sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==} + dependencies: + ansi-escapes: 3.2.0 + cross-spawn: 6.0.5 + dev: true + /path-browserify/1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-exists/3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - dev: false /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -12168,6 +16316,11 @@ packages: resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} dev: false + /path-key/2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -12177,7 +16330,6 @@ packages: /path-to-regexp/0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false /path-to-regexp/2.2.1: resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} @@ -12187,6 +16339,21 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pbkdf2/3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + /peer-id/0.15.4: resolution: {integrity: sha512-MDoBIMZYwQIAHaZQUwsIcvoFgdbIl5GtZMwSkXpIYvc5v0TSDv+u8WsTKrKt2Vv28tHFFDJQdVzu3T4qTPzK+w==} engines: {node: '>=14.0.0'} @@ -12240,13 +16407,62 @@ packages: /pify/2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - dev: false + + /pify/3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true /pify/5.0.0: resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} engines: {node: '>=10'} dev: true + /pinkie-promise/2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie/2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pino-abstract-transport/0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + dependencies: + duplexify: 4.1.2 + split2: 4.1.0 + dev: true + + /pino-std-serializers/4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + dev: true + + /pino/7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.1.2 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.4.2 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + dev: true + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} @@ -13045,6 +17261,17 @@ packages: engines: {node: '>= 0.8.0'} dev: false + /prepend-http/2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /prettier/2.8.4: + resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + /pretty-bytes/3.0.1: resolution: {integrity: sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==} engines: {node: '>=0.10.0'} @@ -13109,12 +17336,14 @@ packages: /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: false + + /process-warning/1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + dev: true /process/0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - dev: false /progress/2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} @@ -13134,7 +17363,6 @@ packages: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: asap: 2.0.6 - dev: false /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -13188,7 +17416,6 @@ packages: '@protobufjs/utf8': 1.1.0 '@types/node': 18.13.0 long: 5.2.1 - dev: false /protons-runtime/4.0.2_uint8arraylist@2.4.3: resolution: {integrity: sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==} @@ -13206,7 +17433,6 @@ packages: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: false /proxy-from-env/1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -13215,6 +17441,17 @@ packages: /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + /public-encrypt/4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + /pump/3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -13226,6 +17463,11 @@ packages: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: false + /punycode/2.1.0: + resolution: {integrity: sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==} + engines: {node: '>=6'} + dev: true + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -13292,17 +17534,38 @@ packages: engines: {node: '>=0.6'} dev: true + /query-string/5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + dependencies: + decode-uri-component: 0.2.2 + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /query-string/7.1.1: + resolution: {integrity: sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==} + engines: {node: '>=6'} + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + dev: true + /querystringify/2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: false + + /quick-format-unescaped/4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: true /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - dev: false /raf/3.4.1: resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} @@ -13329,7 +17592,6 @@ packages: /range-parser/1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: false /rate-limiter-flexible/2.4.1: resolution: {integrity: sha512-dgH4T44TzKVO9CLArNto62hJOwlWJMLUjVVr/ii0uUzZXEXthDNr7/yefW5z/1vvHAfycc1tnuiYyNJ8CTRB3g==} @@ -13343,7 +17605,6 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: false /react-app-polyfill/3.0.0: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} @@ -13560,7 +17821,6 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: false /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} @@ -13570,24 +17830,41 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 + /readdirp/3.2.0: + resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==} + engines: {node: '>= 8'} + dependencies: + picomatch: 2.3.1 + dev: true + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: false + + /real-require/0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + dev: true /receptacle/1.3.2: resolution: {integrity: sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==} dependencies: ms: 2.1.3 + /rechoir/0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + dependencies: + resolve: 1.22.1 + dev: true + /recursive-readdir/2.2.3: resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} engines: {node: '>=6.0.0'} dependencies: minimatch: 3.1.2 - dev: false /redent/3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -13597,6 +17874,17 @@ packages: strip-indent: 3.0.0 dev: false + /redeyed/2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + dependencies: + esprima: 4.0.1 + dev: true + + /reduce-flatten/2.0.0: + resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} + engines: {node: '>=6'} + dev: true + /regenerate-unicode-properties/10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -13663,6 +17951,48 @@ packages: strip-ansi: 6.0.1 dev: false + /replace-homedir/2.0.0: + resolution: {integrity: sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==} + engines: {node: '>= 10.13.0'} + dev: true + + /req-cwd/2.0.0: + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} + dependencies: + req-from: 2.0.0 + dev: true + + /req-from/2.0.0: + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} + dependencies: + resolve-from: 3.0.0 + dev: true + + /request-promise-core/1.1.4_request@2.88.2: + resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==} + engines: {node: '>=0.10.0'} + peerDependencies: + request: ^2.34 + dependencies: + lodash: 4.17.21 + request: 2.88.2 + dev: true + + /request-promise-native/1.0.9_request@2.88.2: + resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==} + engines: {node: '>=0.12.0'} + deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 + peerDependencies: + request: ^2.34 + dependencies: + request: 2.88.2 + request-promise-core: 1.1.4_request@2.88.2 + stealthy-require: 1.1.1 + tough-cookie: 2.5.0 + dev: true + /request/2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} @@ -13697,17 +18027,29 @@ packages: /require-from-string/2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: false + + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true /requires-port/1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + /resolve-alpn/1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true + /resolve-cwd/3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 + /resolve-from/3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + dev: true + /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -13744,6 +18086,16 @@ packages: engines: {node: '>=10'} dev: true + /resolve/1.1.7: + resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} + dev: true + + /resolve/1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + dependencies: + path-parse: 1.0.7 + dev: true + /resolve/1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -13761,6 +18113,26 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: false + /responselike/1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /responselike/2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: true + + /restore-cursor/4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + /retimer/2.0.0: resolution: {integrity: sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==} dev: true @@ -13775,7 +18147,13 @@ packages: /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: false + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -13783,6 +18161,20 @@ packages: dependencies: glob: 7.2.3 + /ripemd160/2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: true + + /rlp/2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true + dependencies: + bn.js: 5.2.1 + dev: true + /rollup-plugin-bundle-size/1.0.3: resolution: {integrity: sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==} dependencies: @@ -13879,11 +18271,25 @@ packages: fsevents: 2.3.2 dev: true + /run-async/2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel-limit/1.1.0: + resolution: {integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==} + dependencies: + queue-microtask: 1.2.3 + dev: true + /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: false + + /rustbn.js/0.2.0: + resolution: {integrity: sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==} + dev: true /rxjs/7.5.5: resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} @@ -13913,6 +18319,10 @@ packages: resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} dev: true + /safe-json-utils/1.1.1: + resolution: {integrity: sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==} + dev: true + /safe-regex-test/1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -13920,6 +18330,11 @@ packages: get-intrinsic: 1.2.0 is-regex: 1.1.4 + /safe-stable-stringify/2.4.2: + resolution: {integrity: sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==} + engines: {node: '>=10'} + dev: true + /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -13965,6 +18380,26 @@ packages: dependencies: xmlchars: 2.2.0 + /sc-istanbul/0.4.6: + resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} + hasBin: true + dependencies: + abbrev: 1.0.9 + async: 1.5.2 + escodegen: 1.8.1 + esprima: 2.7.3 + glob: 5.0.15 + handlebars: 4.7.7 + js-yaml: 3.14.1 + mkdirp: 0.5.6 + nopt: 3.0.6 + once: 1.4.0 + resolve: 1.1.7 + supports-color: 3.2.3 + which: 1.3.1 + wordwrap: 1.0.0 + dev: true + /scheduler/0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -14008,6 +18443,14 @@ packages: ajv-keywords: 5.1.0_ajv@8.12.0 dev: false + /scrypt-js/2.0.4: + resolution: {integrity: sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==} + dev: true + + /scrypt-js/3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + dev: true + /secp256k1/4.0.3: resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} engines: {node: '>=10.0.0'} @@ -14022,6 +18465,13 @@ packages: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true + /seek-bzip/1.0.6: + resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: true + /select-hose/2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: false @@ -14033,6 +18483,11 @@ packages: node-forge: 1.3.1 dev: false + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true @@ -14063,13 +18518,18 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: false /serialize-javascript/4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 + /serialize-javascript/6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + dependencies: + randombytes: 2.1.0 + dev: true + /serialize-javascript/6.0.1: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: @@ -14114,18 +18574,63 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color - dev: false + + /servify/0.1.12: + resolution: {integrity: sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==} + engines: {node: '>=6'} + dependencies: + body-parser: 1.20.1 + cors: 2.8.5 + express: 4.18.2 + request: 2.88.2 + xhr: 2.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /set-blocking/2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true /set-delayed-interval/1.0.0: resolution: {integrity: sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw==} + /setimmediate/1.0.4: + resolution: {integrity: sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==} + dev: true + + /setimmediate/1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: true + /setprototypeof/1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: false /setprototypeof/1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false + + /sha.js/2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /sha1/1.1.1: + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + dev: true + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -14133,6 +18638,11 @@ packages: dependencies: shebang-regex: 3.0.0 + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -14141,6 +18651,16 @@ packages: resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} dev: false + /shelljs/0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + dev: true + /side-channel/1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -14151,6 +18671,18 @@ packages: /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /simple-concat/1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true + + /simple-get/2.8.2: + resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} + dependencies: + decompress-response: 3.3.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -14163,6 +18695,15 @@ packages: engines: {node: '>=12'} dev: false + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + /sockjs/0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} dependencies: @@ -14171,6 +18712,59 @@ packages: websocket-driver: 0.7.4 dev: false + /solc/0.7.3_debug@4.3.4: + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + command-exists: 1.2.9 + commander: 3.0.2 + follow-redirects: 1.15.2 + fs-extra: 0.30.0 + js-sha3: 0.8.0 + memorystream: 0.3.1 + require-from-string: 2.0.2 + semver: 5.7.1 + tmp: 0.0.33 + transitivePeerDependencies: + - debug + dev: true + + /solidity-coverage/0.7.22: + resolution: {integrity: sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw==} + hasBin: true + dependencies: + '@solidity-parser/parser': 0.14.5 + '@truffle/provider': 0.2.64 + chalk: 2.4.2 + death: 1.1.0 + detect-port: 1.5.1 + fs-extra: 8.1.0 + ghost-testrpc: 0.0.2 + global-modules: 2.0.0 + globby: 10.0.2 + jsonschema: 1.4.1 + lodash: 4.17.21 + node-emoji: 1.11.0 + pify: 4.0.1 + recursive-readdir: 2.2.3 + sc-istanbul: 0.4.6 + semver: 7.3.8 + shelljs: 0.8.5 + web3-utils: 1.8.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + + /sonic-boom/2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + dependencies: + atomic-sleep: 1.0.0 + dev: true + /source-list-map/2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} dev: false @@ -14204,6 +18798,15 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 + /source-map/0.2.0: + resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} + engines: {node: '>=0.8.0'} + requiresBuild: true + dependencies: + amdefine: 1.0.1 + dev: true + optional: true + /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -14249,6 +18852,16 @@ packages: - supports-color dev: false + /split-on-first/1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + dev: true + + /split2/4.1.0: + resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} + engines: {node: '>= 10.x'} + dev: true + /sprintf-js/1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -14285,6 +18898,13 @@ packages: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false + /stacktrace-parser/0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: true + /statuses/1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -14293,7 +18913,11 @@ packages: /statuses/2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - dev: false + + /stealthy-require/1.1.1: + resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} + engines: {node: '>=0.10.0'} + dev: true /stop-iteration-iterator/1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} @@ -14302,6 +18926,10 @@ packages: internal-slot: 1.0.5 dev: false + /stream-shift/1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + dev: true + /stream-to-it/0.2.4: resolution: {integrity: sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==} dependencies: @@ -14317,6 +18945,24 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + /strict-event-emitter/0.4.6: + resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} + dev: true + + /strict-uri-encode/1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strict-uri-encode/2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + dev: true + + /string-format/2.0.0: + resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} + dev: true + /string-hash/1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -14340,6 +18986,23 @@ packages: resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} dev: false + /string-width/2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + dev: true + + /string-width/3.1.0: + resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} + engines: {node: '>=6'} + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + dev: true + /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -14348,6 +19011,15 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + /string.prototype.matchall/4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: @@ -14378,7 +19050,6 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: false /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -14401,6 +19072,20 @@ packages: ansi-regex: 2.1.1 dev: true + /strip-ansi/4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + dependencies: + ansi-regex: 3.0.1 + dev: true + + /strip-ansi/5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + dependencies: + ansi-regex: 4.1.1 + dev: true + /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -14412,7 +19097,6 @@ packages: engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - dev: false /strip-bom/3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -14428,10 +19112,23 @@ packages: engines: {node: '>=10'} dev: false + /strip-dirs/2.1.0: + resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} + dependencies: + is-natural-number: 4.0.1 + dev: true + /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + /strip-hex-prefix/1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + is-hex-prefixed: 1.0.0 + dev: true + /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -14439,10 +19136,20 @@ packages: min-indent: 1.0.1 dev: false + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + /strip-outer/2.0.0: + resolution: {integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /style-inject/0.3.0: resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} dev: true @@ -14471,12 +19178,26 @@ packages: engines: {node: '>=0.8.0'} dev: true + /supports-color/3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + dependencies: + has-flag: 1.0.0 + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + /supports-color/6.0.0: + resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==} + engines: {node: '>=6'} + dependencies: + has-flag: 3.0.0 + dev: true + /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -14538,9 +19259,65 @@ packages: picocolors: 1.0.0 stable: 0.1.8 + /swarm-js/0.1.42: + resolution: {integrity: sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==} + dependencies: + bluebird: 3.7.2 + buffer: 5.7.1 + eth-lib: 0.1.29 + fs-extra: 4.0.3 + got: 11.8.6 + mime-types: 2.1.35 + mkdirp-promise: 5.0.1 + mock-fs: 4.14.0 + setimmediate: 1.0.5 + tar: 4.4.19 + xhr-request: 1.1.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /symbol-tree/3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + /sync-request/6.1.0: + resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} + engines: {node: '>=8.0.0'} + dependencies: + http-response-object: 3.0.2 + sync-rpc: 1.3.6 + then-request: 6.0.2 + dev: true + + /sync-rpc/1.3.6: + resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} + dependencies: + get-port: 3.2.0 + dev: true + + /table-layout/1.0.2: + resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} + engines: {node: '>=8.0.0'} + dependencies: + array-back: 4.0.2 + deep-extend: 0.6.0 + typical: 5.2.0 + wordwrapjs: 4.0.1 + dev: true + + /table/6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /tailwindcss/3.2.6_postcss@8.4.21: resolution: {integrity: sha512-BfgQWZrtqowOQMC2bwaSNe7xcIjdDEgixWGYOd6AL0CbKHJlvhfdbINeAW76l1sO+1ov/MJ93ODJ9yluRituIw==} engines: {node: '>=12.13.0'} @@ -14594,6 +19371,19 @@ packages: tar-stream: 2.2.0 dev: true + /tar-stream/1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.7 + to-buffer: 1.1.1 + xtend: 4.0.2 + dev: true + /tar-stream/2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -14604,6 +19394,19 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 + /tar/4.4.19: + resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: true + /temp-dir/2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -14672,6 +19475,29 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: false + /then-request/6.0.2: + resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} + engines: {node: '>=6.0.0'} + dependencies: + '@types/concat-stream': 1.6.1 + '@types/form-data': 0.0.33 + '@types/node': 8.10.66 + '@types/qs': 6.9.7 + caseless: 0.12.0 + concat-stream: 1.6.2 + form-data: 2.3.3 + http-basic: 8.1.3 + http-response-object: 3.0.2 + promise: 8.3.0 + qs: 6.11.0 + dev: true + + /thread-stream/0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + dependencies: + real-require: 0.1.0 + dev: true + /threads/1.7.0: resolution: {integrity: sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==} dependencies: @@ -14695,6 +19521,11 @@ packages: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: false + /timed-out/4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + dev: true + /timeout-abort-controller/1.1.1: resolution: {integrity: sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==} dependencies: @@ -14721,13 +19552,29 @@ packages: esm: 3.2.25 optional: true + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + /tmpl/1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + /to-buffer/1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + dev: true + /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + /to-readable-stream/1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + dev: true + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -14737,7 +19584,6 @@ packages: /toidentifier/1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: false /tough-cookie/2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} @@ -14772,6 +19618,13 @@ packages: dependencies: punycode: 2.3.0 + /trim-repeated/2.0.0: + resolution: {integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: true + /truncate-utf8-bytes/1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} dependencies: @@ -14781,6 +19634,29 @@ packages: resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} dev: false + /ts-command-line-args/2.4.2_cnngzrja2umb46xxazlucyx2qu: + resolution: {integrity: sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==} + hasBin: true + dependencies: + '@morgan-stanley/ts-mocking-bird': 0.6.4_cnngzrja2umb46xxazlucyx2qu + chalk: 4.1.2 + command-line-args: 5.2.1 + command-line-usage: 6.1.3 + string-format: 2.0.0 + transitivePeerDependencies: + - jasmine + - jest + - typescript + dev: true + + /ts-essentials/7.0.3_typescript@4.9.5: + resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} + peerDependencies: + typescript: '>=3.7.0' + dependencies: + typescript: 4.9.5 + dev: true + /ts-jest/27.1.5_cnngzrja2umb46xxazlucyx2qu: resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -14804,7 +19680,7 @@ packages: dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 + jest: 27.5.1_ts-node@10.9.1 jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -14951,6 +19827,37 @@ packages: yargs-parser: 21.1.1 dev: true + /ts-node/10.9.1_4bewfcp2iebiwuold25d6rgcsy: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.13.0 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /ts-node/10.9.1_j777nnsruz44drbtesvg2fqc7y: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -15009,11 +19916,14 @@ packages: /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: false /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tsort/0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + dev: true + /tsutils/3.21.0_typescript@4.9.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -15030,10 +19940,18 @@ packages: safe-buffer: 5.2.1 dev: true + /tweetnacl-util/0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + dev: true + /tweetnacl/0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true + /tweetnacl/1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + dev: true + /type-check/0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -15065,13 +19983,53 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} + /type-fest/0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: true + + /type-fest/3.6.1: + resolution: {integrity: sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==} + engines: {node: '>=14.16'} + dev: true + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: false + + /type/1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: true + + /type/2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: true + + /typechain/8.1.1_cnngzrja2umb46xxazlucyx2qu: + resolution: {integrity: sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==} + hasBin: true + peerDependencies: + typescript: '>=4.3.0' + dependencies: + '@types/prettier': 2.7.2 + debug: 4.3.4 + fs-extra: 7.0.1 + glob: 7.1.7 + js-sha3: 0.8.0 + lodash: 4.17.21 + mkdirp: 1.0.4 + prettier: 2.8.4 + ts-command-line-args: 2.4.2_cnngzrja2umb46xxazlucyx2qu + ts-essentials: 7.0.3_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - jasmine + - jest + - supports-color + dev: true /typed-array-length/1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -15085,6 +20043,10 @@ packages: dependencies: is-typedarray: 1.0.0 + /typedarray/0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: true + /typescript/4.7.4: resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} @@ -15096,6 +20058,24 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + /typical/4.0.0: + resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} + engines: {node: '>=8'} + dev: true + + /typical/5.2.0: + resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} + engines: {node: '>=8'} + dev: true + + /uglify-js/3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + /uint8-varint/1.0.4: resolution: {integrity: sha512-FHnaReHRIM7kHe/Ms0I2KGkuSY4o7ouhUJGJeiFEuYWGvBt4Y64+BJ3mV6DqmyYtYTZj4Pz8K/BmViSNFLRrVw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} @@ -15111,7 +20091,6 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: uint8arrays: 4.0.3 - dev: false /uint8arrays/2.1.10: resolution: {integrity: sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==} @@ -15131,6 +20110,10 @@ packages: dependencies: multiformats: 11.0.1 + /ultron/1.1.1: + resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} + dev: true + /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -15185,6 +20168,11 @@ packages: crypto-random-string: 2.0.0 dev: false + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + /universalify/0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -15200,7 +20188,6 @@ packages: /unpipe/1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - dev: false /unquote/1.1.1: resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} @@ -15230,12 +20217,23 @@ packages: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} dev: true + /url-parse-lax/3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + /url-parse/1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 + /url-set-query/1.0.0: + resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} + dev: true + /ursa-optional/0.10.2: resolution: {integrity: sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==} engines: {node: '>=4'} @@ -15245,9 +20243,21 @@ packages: nan: 2.17.0 dev: true + /utf-8-validate/5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + requiresBuild: true + dependencies: + node-gyp-build: 4.6.0 + dev: true + /utf8-byte-length/1.0.4: resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} + /utf8/3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + dev: true + /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -15260,6 +20270,16 @@ packages: object.getownpropertydescriptors: 2.1.5 dev: false + /util/0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.10 + which-typed-array: 1.1.9 + dev: true + /utila/0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} dev: false @@ -15267,7 +20287,17 @@ packages: /utils-merge/1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - dev: false + + /uuid/2.0.1: + resolution: {integrity: sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + dev: true + + /uuid/3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true /uuid/3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} @@ -15275,10 +20305,20 @@ packages: hasBin: true dev: true + /uuid/7.0.3: + resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} + hasBin: true + dev: true + /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + /uuid/9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: true + /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true @@ -15310,7 +20350,6 @@ packages: /vary/1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: false /verror/1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} @@ -15408,6 +20447,20 @@ packages: minimalistic-assert: 1.0.1 dev: false + /wcwidth/1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /web-encoding/1.1.5: + resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} + dependencies: + util: 0.12.5 + optionalDependencies: + '@zxing/text-encoding': 0.9.0 + dev: true + /web-streams-polyfill/3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} @@ -15417,6 +20470,537 @@ packages: resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} dev: false + /web3-bzz/1.7.4: + resolution: {integrity: sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + '@types/node': 12.20.55 + got: 9.6.0 + swarm-js: 0.1.42 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /web3-bzz/1.8.2: + resolution: {integrity: sha512-1EEnxjPnFnvNWw3XeeKuTR8PBxYd0+XWzvaLK7OJC/Go9O8llLGxrxICbKV+8cgIE0sDRBxiYx02X+6OhoAQ9w==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + '@types/node': 12.20.55 + got: 12.1.0 + swarm-js: 0.1.42 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /web3-core-helpers/1.7.4: + resolution: {integrity: sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg==} + engines: {node: '>=8.0.0'} + dependencies: + web3-eth-iban: 1.7.4 + web3-utils: 1.7.4 + dev: true + + /web3-core-helpers/1.8.2: + resolution: {integrity: sha512-6B1eLlq9JFrfealZBomd1fmlq1o4A09vrCVQSa51ANoib/jllT3atZrRDr0zt1rfI7TSZTZBXdN/aTdeN99DWw==} + engines: {node: '>=8.0.0'} + dependencies: + web3-eth-iban: 1.8.2 + web3-utils: 1.8.2 + dev: true + + /web3-core-method/1.7.4: + resolution: {integrity: sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/transactions': 5.7.0 + web3-core-helpers: 1.7.4 + web3-core-promievent: 1.7.4 + web3-core-subscriptions: 1.7.4 + web3-utils: 1.7.4 + dev: true + + /web3-core-method/1.8.2: + resolution: {integrity: sha512-1qnr5mw5wVyULzLOrk4B+ryO3gfGjGd/fx8NR+J2xCGLf1e6OSjxT9vbfuQ3fErk/NjSTWWreieYWLMhaogcRA==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/transactions': 5.7.0 + web3-core-helpers: 1.8.2 + web3-core-promievent: 1.8.2 + web3-core-subscriptions: 1.8.2 + web3-utils: 1.8.2 + dev: true + + /web3-core-promievent/1.7.4: + resolution: {integrity: sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + dev: true + + /web3-core-promievent/1.8.2: + resolution: {integrity: sha512-nvkJWDVgoOSsolJldN33tKW6bKKRJX3MCPDYMwP5SUFOA/mCzDEoI88N0JFofDTXkh1k7gOqp1pvwi9heuaxGg==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + dev: true + + /web3-core-requestmanager/1.7.4: + resolution: {integrity: sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA==} + engines: {node: '>=8.0.0'} + dependencies: + util: 0.12.5 + web3-core-helpers: 1.7.4 + web3-providers-http: 1.7.4 + web3-providers-ipc: 1.7.4 + web3-providers-ws: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-core-requestmanager/1.8.2: + resolution: {integrity: sha512-p1d090RYs5Mu7DK1yyc3GCBVZB/03rBtFhYFoS2EruGzOWs/5Q0grgtpwS/DScdRAm8wB8mYEBhY/RKJWF6B2g==} + engines: {node: '>=8.0.0'} + dependencies: + util: 0.12.5 + web3-core-helpers: 1.8.2 + web3-providers-http: 1.8.2 + web3-providers-ipc: 1.8.2 + web3-providers-ws: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-core-subscriptions/1.7.4: + resolution: {integrity: sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.7.4 + dev: true + + /web3-core-subscriptions/1.8.2: + resolution: {integrity: sha512-vXQogHDmAIQcKpXvGiMddBUeP9lnKgYF64+yQJhPNE5PnWr1sAibXuIPV7mIPihpFr/n/DORRj6Wh1pUv9zaTw==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.8.2 + dev: true + + /web3-core/1.7.4: + resolution: {integrity: sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + '@types/node': 12.20.55 + bignumber.js: 9.1.1 + web3-core-helpers: 1.7.4 + web3-core-method: 1.7.4 + web3-core-requestmanager: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-core/1.8.2: + resolution: {integrity: sha512-DJTVEAYcNqxkqruJE+Rxp3CIv0y5AZMwPHQmOkz/cz+MM75SIzMTc0AUdXzGyTS8xMF8h3YWMQGgGEy8SBf1PQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + '@types/node': 12.20.55 + bignumber.js: 9.1.1 + web3-core-helpers: 1.8.2 + web3-core-method: 1.8.2 + web3-core-requestmanager: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-eth-abi/1.7.4: + resolution: {integrity: sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/abi': 5.7.0 + web3-utils: 1.7.4 + dev: true + + /web3-eth-abi/1.8.2: + resolution: {integrity: sha512-Om9g3kaRNjqiNPAgKwGT16y+ZwtBzRe4ZJFGjLiSs6v5I7TPNF+rRMWuKnR6jq0azQZDj6rblvKFMA49/k48Og==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/abi': 5.7.0 + web3-utils: 1.8.2 + dev: true + + /web3-eth-accounts/1.7.4: + resolution: {integrity: sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/common': 2.6.5 + '@ethereumjs/tx': 3.5.2 + crypto-browserify: 3.12.0 + eth-lib: 0.2.8 + ethereumjs-util: 7.1.5 + scrypt-js: 3.0.1 + uuid: 3.3.2 + web3-core: 1.7.4 + web3-core-helpers: 1.7.4 + web3-core-method: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-eth-accounts/1.8.2: + resolution: {integrity: sha512-c367Ij63VCz9YdyjiHHWLFtN85l6QghgwMQH2B1eM/p9Y5lTlTX7t/Eg/8+f1yoIStXbk2w/PYM2lk+IkbqdLA==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/common': 2.5.0 + '@ethereumjs/tx': 3.3.2 + eth-lib: 0.2.8 + ethereumjs-util: 7.1.5 + scrypt-js: 3.0.1 + uuid: 9.0.0 + web3-core: 1.8.2 + web3-core-helpers: 1.8.2 + web3-core-method: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-eth-contract/1.7.4: + resolution: {integrity: sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + web3-core: 1.7.4 + web3-core-helpers: 1.7.4 + web3-core-method: 1.7.4 + web3-core-promievent: 1.7.4 + web3-core-subscriptions: 1.7.4 + web3-eth-abi: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-eth-contract/1.8.2: + resolution: {integrity: sha512-ID5A25tHTSBNwOPjiXSVzxruz006ULRIDbzWTYIFTp7NJ7vXu/kynKK2ag/ObuTqBpMbobP8nXcA9b5EDkIdQA==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + web3-core: 1.8.2 + web3-core-helpers: 1.8.2 + web3-core-method: 1.8.2 + web3-core-promievent: 1.8.2 + web3-core-subscriptions: 1.8.2 + web3-eth-abi: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-eth-ens/1.7.4: + resolution: {integrity: sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA==} + engines: {node: '>=8.0.0'} + dependencies: + content-hash: 2.5.2 + eth-ens-namehash: 2.0.8 + web3-core: 1.7.4 + web3-core-helpers: 1.7.4 + web3-core-promievent: 1.7.4 + web3-eth-abi: 1.7.4 + web3-eth-contract: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-eth-ens/1.8.2: + resolution: {integrity: sha512-PWph7C/CnqdWuu1+SH4U4zdrK4t2HNt0I4XzPYFdv9ugE8EuojselioPQXsVGvjql+Nt3jDLvQvggPqlMbvwRw==} + engines: {node: '>=8.0.0'} + dependencies: + content-hash: 2.5.2 + eth-ens-namehash: 2.0.8 + web3-core: 1.8.2 + web3-core-helpers: 1.8.2 + web3-core-promievent: 1.8.2 + web3-eth-abi: 1.8.2 + web3-eth-contract: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-eth-iban/1.7.4: + resolution: {integrity: sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + web3-utils: 1.7.4 + dev: true + + /web3-eth-iban/1.8.2: + resolution: {integrity: sha512-h3vNblDWkWMuYx93Q27TAJz6lhzpP93EiC3+45D6xoz983p6si773vntoQ+H+5aZhwglBtoiBzdh7PSSOnP/xQ==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + web3-utils: 1.8.2 + dev: true + + /web3-eth-personal/1.7.4: + resolution: {integrity: sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/node': 12.20.55 + web3-core: 1.7.4 + web3-core-helpers: 1.7.4 + web3-core-method: 1.7.4 + web3-net: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-eth-personal/1.8.2: + resolution: {integrity: sha512-Vg4HfwCr7doiUF/RC+Jz0wT4+cYaXcOWMAW2AHIjHX6Z7Xwa8nrURIeQgeEE62qcEHAzajyAdB1u6bJyTfuCXw==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/node': 12.20.55 + web3-core: 1.8.2 + web3-core-helpers: 1.8.2 + web3-core-method: 1.8.2 + web3-net: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-eth/1.7.4: + resolution: {integrity: sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.7.4 + web3-core-helpers: 1.7.4 + web3-core-method: 1.7.4 + web3-core-subscriptions: 1.7.4 + web3-eth-abi: 1.7.4 + web3-eth-accounts: 1.7.4 + web3-eth-contract: 1.7.4 + web3-eth-ens: 1.7.4 + web3-eth-iban: 1.7.4 + web3-eth-personal: 1.7.4 + web3-net: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-eth/1.8.2: + resolution: {integrity: sha512-JoTiWWc4F4TInpbvDUGb0WgDYJsFhuIjJlinc5ByjWD88Gvh+GKLsRjjFdbqe5YtwIGT4NymwoC5LQd1K6u/QQ==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.8.2 + web3-core-helpers: 1.8.2 + web3-core-method: 1.8.2 + web3-core-subscriptions: 1.8.2 + web3-eth-abi: 1.8.2 + web3-eth-accounts: 1.8.2 + web3-eth-contract: 1.8.2 + web3-eth-ens: 1.8.2 + web3-eth-iban: 1.8.2 + web3-eth-personal: 1.8.2 + web3-net: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-net/1.7.4: + resolution: {integrity: sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.7.4 + web3-core-method: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-net/1.8.2: + resolution: {integrity: sha512-1itkDMGmbgb83Dg9nporFes9/fxsU7smJ3oRXlFkg4ZHn8YJyP1MSQFPJWWwSc+GrcCFt4O5IrUTvEkHqE3xag==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.8.2 + web3-core-method: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-providers-http/1.7.4: + resolution: {integrity: sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core-helpers: 1.7.4 + xhr2-cookies: 1.1.0 + dev: true + + /web3-providers-http/1.8.2: + resolution: {integrity: sha512-2xY94IIEQd16+b+vIBF4IC1p7GVaz9q4EUFscvMUjtEq4ru4Atdzjs9GP+jmcoo49p70II0UV3bqQcz0TQfVyQ==} + engines: {node: '>=8.0.0'} + dependencies: + abortcontroller-polyfill: 1.7.5 + cross-fetch: 3.1.5 + es6-promise: 4.2.8 + web3-core-helpers: 1.8.2 + transitivePeerDependencies: + - encoding + dev: true + + /web3-providers-ipc/1.7.4: + resolution: {integrity: sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw==} + engines: {node: '>=8.0.0'} + dependencies: + oboe: 2.1.5 + web3-core-helpers: 1.7.4 + dev: true + + /web3-providers-ipc/1.8.2: + resolution: {integrity: sha512-p6fqKVGFg+WiXGHWnB1hu43PbvPkDHTz4RgoEzbXugv5rtv5zfYLqm8Ba6lrJOS5ks9kGKR21a0y3NzE3u7V4w==} + engines: {node: '>=8.0.0'} + dependencies: + oboe: 2.1.5 + web3-core-helpers: 1.8.2 + dev: true + + /web3-providers-ws/1.7.4: + resolution: {integrity: sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.7.4 + websocket: 1.0.34 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-providers-ws/1.8.2: + resolution: {integrity: sha512-3s/4K+wHgbiN+Zrp9YjMq2eqAF6QGABw7wFftPdx+m5hWImV27/MoIx57c6HffNRqZXmCHnfWWFCNHHsi7wXnA==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.8.2 + websocket: 1.0.34 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-shh/1.7.4: + resolution: {integrity: sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-core: 1.7.4 + web3-core-method: 1.7.4 + web3-core-subscriptions: 1.7.4 + web3-net: 1.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /web3-shh/1.8.2: + resolution: {integrity: sha512-uZ+3MAoNcaJsXXNCDnizKJ5viBNeHOFYsCbFhV755Uu52FswzTOw6DtE7yK9nYXMtIhiSgi7nwl1RYzP8pystw==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-core: 1.8.2 + web3-core-method: 1.8.2 + web3-core-subscriptions: 1.8.2 + web3-net: 1.8.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /web3-utils/1.7.4: + resolution: {integrity: sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + ethereum-bloom-filters: 1.0.10 + ethereumjs-util: 7.1.5 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + dev: true + + /web3-utils/1.8.2: + resolution: {integrity: sha512-v7j6xhfLQfY7xQDrUP0BKbaNrmZ2/+egbqP9q3KYmOiPpnvAfol+32slgL0WX/5n8VPvKCK5EZ1HGrAVICSToA==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + ethereum-bloom-filters: 1.0.10 + ethereumjs-util: 7.1.5 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + dev: true + + /web3/1.7.4: + resolution: {integrity: sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-bzz: 1.7.4 + web3-core: 1.7.4 + web3-eth: 1.7.4 + web3-eth-personal: 1.7.4 + web3-net: 1.7.4 + web3-shh: 1.7.4 + web3-utils: 1.7.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /web3/1.8.2: + resolution: {integrity: sha512-92h0GdEHW9wqDICQQKyG4foZBYi0OQkyg4CRml2F7XBl/NG+fu9o6J19kzfFXzSBoA4DnJXbyRgj/RHZv5LRiw==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-bzz: 1.8.2 + web3-core: 1.8.2 + web3-eth: 1.8.2 + web3-eth-personal: 1.8.2 + web3-net: 1.8.2 + web3-shh: 1.8.2 + web3-utils: 1.8.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true @@ -15580,6 +21164,20 @@ packages: engines: {node: '>=0.8.0'} dev: false + /websocket/1.0.34: + resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} + engines: {node: '>=4.0.0'} + dependencies: + bufferutil: 4.0.7 + debug: 2.6.9 + es5-ext: 0.10.62 + typedarray-to-buffer: 3.1.5 + utf-8-validate: 5.0.10 + yaeti: 0.0.6 + transitivePeerDependencies: + - supports-color + dev: true + /whatwg-encoding/1.0.5: resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} dependencies: @@ -15654,6 +21252,10 @@ packages: is-weakset: 2.0.2 dev: false + /which-module/2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: true + /which-typed-array/1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} @@ -15670,7 +21272,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: false /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -15679,10 +21280,35 @@ packages: dependencies: isexe: 2.0.0 + /wide-align/1.1.3: + resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} + dependencies: + string-width: 2.1.1 + dev: true + + /widest-line/3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} + /wordwrap/1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true + + /wordwrapjs/4.0.1: + resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} + engines: {node: '>=8.0.0'} + dependencies: + reduce-flatten: 2.0.0 + typical: 5.2.0 + dev: true + /workbox-background-sync/6.5.4: resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} dependencies: @@ -15846,6 +21472,19 @@ packages: workbox-core: 6.5.4 dev: false + /workerpool/6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + dev: true + + /wrap-ansi/5.1.0: + resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} + engines: {node: '>=6'} + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + dev: true + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -15854,6 +21493,15 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 + /wrap-ansi/8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.0.1 + dev: true + /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -15873,6 +21521,35 @@ packages: signal-exit: 3.0.7 dev: true + /ws/3.3.3: + resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + async-limiter: 1.0.1 + safe-buffer: 5.1.2 + ultron: 1.1.1 + dev: true + + /ws/7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /ws/7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} @@ -15911,6 +21588,39 @@ packages: optional: true dev: false + /xhr-request-promise/0.1.3: + resolution: {integrity: sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==} + dependencies: + xhr-request: 1.1.0 + dev: true + + /xhr-request/1.1.0: + resolution: {integrity: sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==} + dependencies: + buffer-to-arraybuffer: 0.0.5 + object-assign: 4.1.1 + query-string: 5.1.1 + simple-get: 2.8.2 + timed-out: 4.0.1 + url-set-query: 1.0.0 + xhr: 2.6.0 + dev: true + + /xhr/2.6.0: + resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + dependencies: + global: 4.4.0 + is-function: 1.0.2 + parse-headers: 2.0.5 + xtend: 4.0.2 + dev: true + + /xhr2-cookies/1.1.0: + resolution: {integrity: sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==} + dependencies: + cookiejar: 2.1.4 + dev: true + /xml-name-validator/3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -15936,28 +21646,68 @@ packages: /xmlchars/2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + /xmlhttprequest/1.8.0: + resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} + engines: {node: '>=0.4.0'} + dev: true + /xsalsa20/1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - dev: false + + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + /yaeti/0.0.6: + resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} + engines: {node: '>=0.10.32'} + dev: true + /yallist/3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + /yaml-diff-patch/2.0.0: + resolution: {integrity: sha512-RhfIQPGcKSZhsUmsczXAeg5jNhWXk3tAmhl2kjfZthdyaL0XXXOpvRozUp22HvPStmZsHu8T30/UEfX9oIwGxw==} + engines: {node: '>=14'} + hasBin: true + dependencies: + fast-json-patch: 3.1.1 + oppa: 0.4.0 + yaml: 2.2.1 + dev: true + /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + /yaml/2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser/13.1.2: + resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser/20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: true + /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -15967,6 +21717,40 @@ packages: engines: {node: '>=12'} dev: true + /yargs-unparser/1.6.0: + resolution: {integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==} + engines: {node: '>=6'} + dependencies: + flat: 4.1.1 + lodash: 4.17.21 + yargs: 13.3.2 + dev: true + + /yargs-unparser/2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + dev: true + + /yargs/13.3.2: + resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 13.1.2 + dev: true + /yargs/16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'}