From 358d211566944a61a7ec037abebc19e4e83d8bd4 Mon Sep 17 00:00:00 2001 From: sisyphusSmiling Date: Thu, 1 Sep 2022 18:23:00 -0500 Subject: [PATCH 01/21] Created framework for exec node versioning contract --- contracts/ENVersionBeacon.cdc | 110 ++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 contracts/ENVersionBeacon.cdc diff --git a/contracts/ENVersionBeacon.cdc b/contracts/ENVersionBeacon.cdc new file mode 100644 index 000000000..41158f0bd --- /dev/null +++ b/contracts/ENVersionBeacon.cdc @@ -0,0 +1,110 @@ +/// This contract is used to defined block height and software version boundaries +/// for the software run by Execution Nodes. +pub contract ENVersionBeacon { + + /// Struct representing Execution Node software version + /// along with helper functions + pub struct ENVersion { + pub let major: UInt8 + pub let minor: UInt8 + pub let patch: UInt8 + + /// Returns true if this version is the current minimum version + pub fun isSatisfactoryENVersion(version: ENVersion): Bool { + return self.equalTo(ENVersionBeacon.getCurrentMinimumENVersion()) + } + + pub fun greaterThan(_ other: ENVersion): Bool { + if (self.major > other.major) { + return true + } else if (self.major == other.major && self.minor > other.minor) { + return true + } else if (self.major == other.major && self.minor == other.minor && self.patch > other.patch) { + return true + } else { + return false + } + } + + pub fun greaterThanOrEqualTo(_ other: ENVersion): Bool { + return self.greaterThan(other) || self.equalTo(other) + } + + pub fun lessThan(_ other: ENVersion): Bool { + if self.major < other.major { + return true + } else if self.major == other.major && self.minor < other.minor { + return true + } else if self.major == other.major && self.minor == other.minor && self.patch < other.patch { + return true + } else { + return false + } + } + + pub fun lessThanOrEqualTo(_ other: ENVersion): Bool { + return self.lessThan(other) || self.equalTo(other) + } + + pub fun equalTo(_ other: ENVersion): Bool { + return self.major == other.major && self.minor == other.minor && self.patch == other.patch + } + + // Returns version in Semver format (e.g. v..) + pub fun toString(): String { + return "v".concat( + self.major.toString() + .concat(".") + .concat( + self.minor.toString() + .concat(".") + .concat( + self.patch.toString() + ) + ) + ) + } + + init(major: UInt8, minor: UInt8, patch: UInt8) { + self.major = major + self.minor = minor + self.patch = patch + } + } + + /* + * TODO: + * - Establish admin resource that can update version table + * - Code conditions around updating that table (within 1000 blocks from current height & version increments) + */ + + pub resource ENVersionKeeper { + + } + + /// Event emitted any time a new version is added to the version table + pub event ENVersionTableUpdated(height: UInt64, version: ENVersion) + + /// Table dictating minimum version + pub let versionTable: {UFix64: [ENVersion]} + + /// Function that returns that minimum current version based on the current + /// block height and version table mapping + pub fun getCurrentMinimumENVersion(): ENVersion { + // TODO: + // - Find block height in versionTable that is closest to but less than current block height + // - Check the version listed as the value at that block height + let currentHeight = getCurrentBlock().height + } + + /// Checks whether given version was current at the given block height + pub fun isMinimumENVersion(blockHeight: UInt64, version: ENVersion): Bool { + // TODO: + // - Find block range where given blockHeight fits + // - See if given version is greater than version at that time + } + + init() { + self.versionTable = {} + } +} From bdab0dd30c7fad387ca9d22d80fd5c2d34a7101d Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 2 Sep 2022 17:11:37 -0500 Subject: [PATCH 02/21] Created ENVersionBeacon interface --- contracts/ENVersionBeacon.cdc | 53 +++++++-- contracts/IENVersionBeacon.cdc | 119 +++++++++++++++++++++ lib/go/contracts/internal/assets/assets.go | 46 ++++++++ 3 files changed, 211 insertions(+), 7 deletions(-) create mode 100644 contracts/IENVersionBeacon.cdc diff --git a/contracts/ENVersionBeacon.cdc b/contracts/ENVersionBeacon.cdc index 41158f0bd..125e08889 100644 --- a/contracts/ENVersionBeacon.cdc +++ b/contracts/ENVersionBeacon.cdc @@ -14,6 +14,8 @@ pub contract ENVersionBeacon { return self.equalTo(ENVersionBeacon.getCurrentMinimumENVersion()) } + /// Returns true if ENVersion is greater than + /// passed ENVersion and false otherwise pub fun greaterThan(_ other: ENVersion): Bool { if (self.major > other.major) { return true @@ -26,10 +28,14 @@ pub contract ENVersionBeacon { } } + /// Returns true if ENVersion is greater than or + /// equal to passed ENVersion and false otherwise pub fun greaterThanOrEqualTo(_ other: ENVersion): Bool { return self.greaterThan(other) || self.equalTo(other) } + /// Returns true if ENVersion is less than + /// passed ENVersion and false otherwise pub fun lessThan(_ other: ENVersion): Bool { if self.major < other.major { return true @@ -42,15 +48,20 @@ pub contract ENVersionBeacon { } } + /// Returns true if ENVersion is less than or + /// equal to passed ENVersion and false otherwise pub fun lessThanOrEqualTo(_ other: ENVersion): Bool { return self.lessThan(other) || self.equalTo(other) } + /// Returns true if ENVersion is equal to passed + /// ENVersion and false otherwise pub fun equalTo(_ other: ENVersion): Bool { return self.major == other.major && self.minor == other.minor && self.patch == other.patch } - // Returns version in Semver format (e.g. v..) + /// Returns version in Semver format (e.g. v..) + /// as a String pub fun toString(): String { return "v".concat( self.major.toString() @@ -72,21 +83,46 @@ pub contract ENVersionBeacon { } } + /// Event emitted any time a new version is added to the version table + pub event ENVersionTableUpdated(height: UInt64, version: ENVersion) + pub event ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: UInt64) + + /// Canonical storage path for ENVersionKeeper + pub let ENVersionKeeperStoragePath: StoragePath + + /// Table dictating minimum version + pub let versionTable: {UFix64: [ENVersion]} + /* * TODO: * - Establish admin resource that can update version table * - Code conditions around updating that table (within 1000 blocks from current height & version increments) */ + /// Admin interface that manages the Execution Node versioning + /// maintained in this contract + pub interface ENVersionAdmin { + access(self) versionCooldownPeriod: UInt64 + pub fun updateMinimumVersion() { + // pre-conditions around blockheight threshold + } - pub resource ENVersionKeeper { - + pub fun getVersionCooldownPeriod(): UInt64 { + } } - /// Event emitted any time a new version is added to the version table - pub event ENVersionTableUpdated(height: UInt64, version: ENVersion) + /// Admin resource that manages the Execution Node versioning + /// maintained in this contract + pub resource ENVersionKeeper: ENVersionAdmin { + access(self) versionCooldownPeriod: UInt64 + pub fun updateMinimumVersion() { + } + pub fun getVersionCooldownPeriod(): UInt64 { + return self.versionCooldownPeriod + } + access(self) fun setVersionCooldownPeriod() { + } - /// Table dictating minimum version - pub let versionTable: {UFix64: [ENVersion]} + } /// Function that returns that minimum current version based on the current /// block height and version table mapping @@ -106,5 +142,8 @@ pub contract ENVersionBeacon { init() { self.versionTable = {} + self.ENVersionKeeperStoragePath = /storage/ENVersionKeeper + + self.account.save(<-create ENVersionAdmin(), to: self.ENVersionKeeperStoragePath) } } diff --git a/contracts/IENVersionBeacon.cdc b/contracts/IENVersionBeacon.cdc new file mode 100644 index 000000000..8821d67c3 --- /dev/null +++ b/contracts/IENVersionBeacon.cdc @@ -0,0 +1,119 @@ +/// This contract is used to defined block height and software version boundaries +/// for the software run by Execution Nodes. +pub contract interface IENVersionBeacon { + + pub enum ENVersionUpdateAction: UInt8 { + pub case added + pub case deleted + pub case amended + } + + /// Struct representing Execution Node software version + /// along with helper functions + pub struct ENVersion { + /// Compnents defining a semantic version + pub let major: UInt8 + pub let minor: UInt8 + pub let patch: UInt8 + + /// Oldest compatitible version with this version + /// + /// Defining this can help with logic around updating before a target block is reached + /// Such behavior may be desireable in the event breaking changes are released + /// between versions + pub let oldestCompatibleVersion: ENVersion + + init(major: UInt8, minor: UInt8, patch: UInt8, oldestCompatibleVersion: ENVersion) + + /// Returns version in Semver format (e.g. v..) + /// as a String + pub fun toString(): String + + /* Custom Comparators */ + + /// Returns true if ENVersion is greater than + /// passed ENVersion and false otherwise + pub fun greaterThan(_ other: ENVersion): Bool + + /// Returns true if ENVersion is greater than or + /// equal to passed ENVersion and false otherwise + pub fun greaterThanOrEqualTo(_ other: ENVersion): Bool + + /// Returns true if ENVersion is less than + /// passed ENVersion and false otherwise + pub fun lessThan(_ other: ENVersion): Bool + + /// Returns true if ENVersion is less than or + /// equal to passed ENVersion and false otherwise + pub fun lessThanOrEqualTo(_ other: ENVersion): Bool + + /// Returns true if ENVersion is equal to passed + /// ENVersion and false otherwise + pub fun equalTo(_ other: ENVersion): Bool + } + + /// Event emitted any time a new version is added to the version table + pub event ENVersionTableUpdated(height: UInt64, version: ENVersion, action: ENVersionUpdateAction) + + /// Event emitted any time the version cooldown period is updated + pub event ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: UInt64) + + /// Canonical storage path for ENVersionKeeper + pub let ENVersionAdminStoragePath: StoragePath + + /// Table dictating minimum version - {blockHeight: ENVersion} + access(contract) let versionTable: {UInt64: ENVersion} + + /// Number of blocks between height at updating and target height for version rollover + access(contract) let versionCooldownPeriod: UInt64 + + /// Admin interface that manages the Execution Node versioning + /// maintained in this contract + pub resource interface ENVersionAdmin { + + /// Update the minimum version to take effect at the given block height + pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { + pre { + targetblockHeight > getCurrentBlock().height + ENVersionAdmin.versionCooldownPeriod: "Target block height occurs too soon to update EN version" + } + emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.added) + } + + /// Deletes the entry in versionTable at the passed block height + /// Could be helpful in event of rollback + pub fun deleteBlockTargetVersionMapping(blockHeight: UInt64, version: ENVersion) { + pre { + targetblockHeight > getCurrentBlock().height + ENVersionAdmin.versionCooldownPeriod: "Target block height occurs too soon to update EN version" + } + emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.deleted) + } + + pub fun updateVersionCooldownPeriod(cooldownInBlocks: UInt64) { + emit ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: cooldownInBlocks) + } + } + + /// Returns the current cooldown period within which ENs + /// can be assured version will not change + pub fun getVersionCooldownPeriod(): UInt64 + + /// Function that returns that minimum current version based on the current + /// block height and version table mapping + pub fun getCurrentMinimumENVersion(): ENVersion + + /// Returns a copy of the full historical versionTable + pub fun getVersionTable(): {ENVersion: UInt64} + + /// Checks whether given version was compatible at the given block height + pub fun isCompatibleENVersion(blockHeight: UInt64, version: ENVersion): Bool + + /// Returns + pub fun getNextVersion + + init() { + self.versionTable = {} + self.ENVersionAdminStoragePath = /storage/ENVersionAdmin + + self.account.save(<-create ENVersionAdmin(), to: self.ENVersionAdminStoragePath) + } +} diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index c8b62bd42..b026334b9 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,5 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: +// ../../../contracts/ENVersionBeacon.cdc (5.492kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -8,6 +9,7 @@ // ../../../contracts/FlowStakingCollection.cdc (54.485kB) // ../../../contracts/FlowStorageFees.cdc (7.024kB) // ../../../contracts/FlowToken.cdc (7.141kB) +// ../../../contracts/IENVersionBeacon.cdc (4.877kB) // ../../../contracts/LockedTokens.cdc (28.679kB) // ../../../contracts/StakingProxy.cdc (5.483kB) // ../../../contracts/epochs/FlowClusterQC.cdc (17.48kB) @@ -83,6 +85,26 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } +var _enversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x5f\x6f\xdb\x36\x10\x7f\xcf\xa7\x38\xe4\xa1\x90\x8a\x54\xee\x80\xa2\x18\x0c\x27\x40\x9b\xa5\xe8\x30\xac\x2d\x96\x64\x2f\xc3\x30\xd0\xd4\xc9\xe2\x2a\x91\x1e\x49\xd9\x0d\xd2\x7c\xf7\xe1\x48\x89\xfa\xeb\x38\x8d\x53\x6c\x79\x89\xa5\xe3\xfd\xfb\xf1\x77\xe4\x9d\x66\xb3\x19\x5c\xe5\xc2\x00\x57\xd2\x6a\xc6\x2d\x08\x03\x95\xc1\x14\xac\x82\x14\x33\x21\x31\x85\x65\xa1\xf8\x67\xc8\x51\xac\x72\x0b\x4c\xa6\x60\x54\x66\xb7\x4c\x23\x6c\x50\x1b\xa1\x24\x2c\x55\x25\x53\xa6\x05\x9a\x23\xb2\x98\x29\x0d\x36\xc7\x76\x9d\xae\x24\x2c\x6f\xe0\xe2\x0b\xf2\xca\x92\xc2\x07\x95\xa2\x49\x8e\xd6\xd5\xb2\xf5\x7c\xf1\xe1\x77\x6f\xee\x2d\x32\xae\x24\xdc\x1e\x1d\x01\x00\x90\xc1\x4b\xab\x2b\x6e\x41\xe3\x5a\xa3\x41\x69\x85\x5c\x0d\x8c\x8d\x62\x0a\xba\xac\x50\x72\x05\x5b\x61\x73\xc8\xb1\x58\xa3\x86\xac\x92\x9c\x14\x8d\x5b\x43\x31\x18\x6f\x3f\x44\x00\xb7\x4e\xd4\x88\x0b\xb4\x50\xb2\xbf\x95\x9e\xc3\xf5\xcf\xd2\xfe\x38\x16\x0a\xb9\x5b\xb8\x66\x96\xe7\x8d\x30\x48\x29\xb4\xdf\xd0\x56\x5a\x1a\xb0\xba\x42\x10\x19\x58\xda\x89\x06\x53\x61\x1c\x86\xbc\xd2\x1a\xa5\x73\x21\xca\xaa\xec\xa5\xd7\x78\xc9\x2a\x5a\x7e\xc9\xac\x30\x19\xe3\x56\xe9\x9b\x90\x49\x54\xaf\x9f\xb7\xc9\xc5\x73\x78\xab\x54\xd1\xc9\x91\xfe\xb4\x8b\x05\x0c\x16\x59\x82\xff\x54\xac\xb8\x52\xd1\x60\x47\x92\x15\xda\x73\x1f\xce\xaf\x3e\x9a\xd6\x4d\x1c\x07\x6b\x77\xf7\x27\xd9\x82\x2c\x0c\xac\x34\x32\x8b\xc4\x16\x26\x7b\x5a\x6b\x66\x88\x85\xed\x62\xe2\x5d\xc6\x0a\x83\xa0\x6c\x8e\x7a\x2b\x0c\x8e\x30\xa8\xad\x5d\xe5\x4c\x46\x7f\xf9\x75\x7b\xf3\x16\x19\x44\x2e\x69\xb7\xc1\x70\xe6\xd5\xfc\x53\x3c\x58\xdb\xc1\x89\xb2\xe9\xc9\xee\x00\x29\xb8\x81\xb9\xd3\xd3\xae\x3d\x78\xf6\xcc\x03\xec\xf8\xd2\xfa\xa2\xa7\xef\xec\xab\x15\xba\xc7\x46\xe8\xb8\x19\x02\x71\x4f\x8f\x08\x64\xa7\x82\xdb\xb0\xbe\xc6\xc1\x34\x01\xa5\x7b\x8a\x8e\xac\x74\x5c\x1d\x4a\x99\x8f\xfa\xa2\xe6\xfd\x43\xb9\xd3\xad\x99\x2e\xf7\x9c\x76\x0c\x5f\xbf\xf6\xcb\xc9\xbf\x7e\x14\x00\x05\x1a\xf3\x44\x45\x42\xa6\xbe\xb5\x42\x3a\x2c\x5b\xf4\x48\xf6\x18\xce\x3e\x94\xb2\x8b\x1e\x63\xbf\xa7\xa7\x7b\x8b\x63\xd1\x2d\x8e\xff\x61\x6d\x04\x6a\x3c\x6d\x61\x34\x34\x39\xac\x2a\x02\xd9\x9e\xbe\x24\x06\xe9\xf5\x14\xbf\x2d\x55\x3c\x20\xc1\x43\xd9\x15\x84\xee\x71\x1f\x10\xa1\x37\x90\x70\x89\xe5\x86\x7a\x19\xa5\x4b\x66\x21\xc2\x64\x95\xc0\x66\xe1\xfc\x9f\x25\x0b\xe7\xea\x2c\x59\x38\xab\x67\x71\xcf\x18\x33\xc0\xa8\xa3\x12\x72\x35\x82\xc2\x2a\x2f\x88\xe2\x79\xbd\x64\x3a\xf7\xe3\xcd\x71\xc2\x95\xe4\xcc\x46\x23\x7e\xb7\xb8\x24\xad\xb9\xd1\xaa\x46\xfd\x38\x39\xde\x2d\x1c\x09\x5a\xfb\x94\xe0\x7d\xf6\xf7\xfa\xd8\xeb\x27\xf8\x72\x20\xee\xf3\x35\x7e\xdb\x7f\x33\x49\x72\x21\x85\x8d\xba\x9d\xe5\x49\xaf\x95\x3c\xe9\xf5\x8e\xc3\x8b\xb9\xcb\x3f\xdf\x9e\x4e\x88\x3d\x03\xbd\xd5\xb1\xb8\xe6\x20\x0c\xc9\xd7\x09\xd3\x95\xd3\x86\x3a\x50\x2c\x85\xb5\x98\x02\x93\x37\x60\x45\x89\xc0\x40\xe2\xb6\xdb\xaf\xb2\x34\xf5\x93\x03\x35\xae\xcd\x7b\xcb\x96\x05\x86\x4e\x1b\x9d\xa9\x50\x60\x57\x24\xbc\x5e\xa7\xcc\x62\x1a\xf9\x09\xc3\x67\xfb\xfa\xd5\x09\x4c\xb4\xae\xbb\xec\x9c\x2b\x55\xa4\x6a\x2b\x3f\xa1\x16\x2a\x6d\x0c\x4a\xdc\x4e\xca\x1b\x17\x71\x9b\xe2\x39\x93\x4a\x0a\xce\x0a\x30\x56\x69\xb6\x42\xc2\x24\x77\x93\x4c\x70\xf2\x0b\xe2\x1a\x75\x08\x81\x7a\xfb\x81\xec\xd2\xeb\x7e\x62\x36\xa7\xfa\x09\x0f\xad\x1f\x97\x30\xa4\x82\x5b\xe6\xa6\x98\xa9\xb6\xbe\x31\xbe\xe9\x60\x34\x87\xdb\xeb\x77\xe2\xcb\xeb\x57\x73\xf8\x23\x38\xfd\xb3\xd9\xa3\xe7\xee\xdf\x73\xb8\xfa\xf8\xd3\xc7\x79\xfd\x1b\xe0\x05\x5c\x18\x42\x5f\x98\x1c\x58\x5a\x0a\x09\x1a\x8d\xaa\x34\x47\xba\x2f\x2c\x70\x26\xa1\x72\x50\x4d\x6c\x96\x37\x70\x4e\xa3\x15\x57\x32\x15\x6e\x60\x02\xa6\x69\xd2\xf3\x5a\x14\xbe\xb3\xe3\x94\x20\xa2\x11\x4b\x48\xf8\xe1\xe5\xcb\x97\x7e\x64\x34\x90\x69\x55\x86\x09\xa6\x1e\x20\x9f\x75\x4e\x31\xae\xb1\x44\x69\x8d\xdf\xd7\xe7\xb3\x00\xd3\x1b\x17\xae\x90\x16\x75\xc6\x9a\x78\x4b\x26\xd9\x0a\xfd\x58\x34\x98\xfe\x6a\x93\xcd\x91\x46\x26\x4a\x26\xa4\x65\x6e\x80\x15\xd2\x8f\x56\xcd\xa8\x19\x50\x6e\x1d\x04\x4c\xbd\xe7\xb6\xd2\x18\xe7\x68\x8c\xeb\xb3\xe3\xc6\xcd\x34\x9b\x46\x87\xa9\xc7\xb6\x1e\x95\xc2\xa0\x34\xa8\x62\x6a\xe3\x34\xbe\x18\x63\xec\x20\xac\x31\xb3\xb9\x46\x93\xab\x22\x9d\x3a\x44\x42\x2b\x8b\x76\x92\xed\x74\x96\xfb\x08\x3b\xae\x47\x35\xfe\x66\x82\x20\x4f\x0f\x78\xb0\x3f\x28\x9c\xf9\x7f\xb3\x01\x77\x87\x81\x08\x83\x66\x60\x32\xba\x09\x67\xbd\x94\xc8\xab\xd9\xe9\xb5\x17\xec\x70\xcf\xde\xd5\x1f\x32\xfc\x6e\xe9\xa6\x5b\x72\x5b\x57\x9f\x2b\x4d\xf1\x85\x2f\x35\x8c\x5a\x41\xa7\x12\xbe\x2d\x04\x7b\xa3\x0f\x3d\xbd\x63\x01\x4a\xb6\x5e\x37\x1b\xde\xc1\x6b\xe7\x27\x81\xf9\xe4\x07\x15\x3a\x04\xc3\x31\x55\xbf\xa0\xa3\xe6\x9d\x90\x83\x4f\x4d\x42\xf6\x8e\x40\x9f\x18\xb1\xaa\x50\x06\x8d\xa5\x8b\x66\x59\xd9\x4e\x03\xdc\x24\xdb\xb5\x32\x74\x73\x9e\x23\xff\xdc\xbb\xa0\x0a\x61\xdc\xb5\xe6\x79\xbe\x61\x45\x85\x40\xa7\x1a\x79\x9b\xb4\x44\x67\x73\xed\xea\xbd\x8f\xf4\xb4\x83\xc3\x5b\x52\x89\xe2\xa4\xa3\xd4\xd9\x32\xe7\xde\xc0\x36\x47\xea\xfa\x60\x25\x36\x18\xb2\x84\x2d\x33\x21\x07\x17\x01\xd6\x0b\x46\x61\xb4\x5f\x7d\x46\xb0\xbb\xb5\xef\xf7\x5f\xa5\xa3\xd6\xf6\x01\x1b\xa3\x99\x5c\x21\x05\xaf\x7b\x91\xd5\x28\x64\xc2\x9a\xa1\xf2\x25\xba\xce\xbd\x9f\xe7\x70\xa2\x6f\xde\x37\xa8\x53\x77\xd1\x05\xce\xb5\x49\xdd\x52\xe8\x56\x9b\xe7\xc6\x29\xdc\xde\xf5\xc5\xbb\xaf\x66\x38\x85\x59\x7d\xcb\xcf\x86\x97\x7b\xdf\x06\xe3\x5c\x55\xd2\x26\x86\x6d\x30\x5a\xbc\xe0\x2e\xe8\xc1\x51\x15\xc5\x27\x60\xd5\x7c\x9f\xd3\xb8\x4e\xe8\xee\xe8\xdf\x00\x00\x00\xff\xff\x1b\xd9\x59\x43\x74\x15\x00\x00" + +func enversionbeaconCdcBytes() ([]byte, error) { + return bindataRead( + _enversionbeaconCdc, + "ENVersionBeacon.cdc", + ) +} + +func enversionbeaconCdc() (*asset, error) { + bytes, err := enversionbeaconCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "ENVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0x4a, 0xa, 0x46, 0xdd, 0xdb, 0x42, 0xbd, 0xd0, 0x1e, 0xad, 0xb1, 0x8b, 0x1d, 0xeb, 0xc5, 0xfd, 0x49, 0x94, 0x3a, 0x2a, 0x8d, 0xa4, 0xbd, 0xd6, 0x7a, 0xbc, 0xa6, 0x65, 0x3d, 0x72, 0x97}} + return a, nil +} + var _flowcontractauditsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x59\x6d\x6f\xe3\xb8\x11\xfe\xbe\xbf\x62\xbc\x05\x7a\x36\x9a\x58\x40\x5f\x0e\x85\xb1\xbe\x6b\x2e\x77\xdb\x3d\x14\x6d\x17\xb7\xbd\xfb\x52\x14\x0b\x5a\x1a\x59\x84\x15\xd2\x20\x29\x7b\x8d\x20\xff\xbd\xe0\xab\x48\x89\x72\xbc\x49\x76\xf3\x21\xb0\x2d\x72\xe6\xe1\xbc\xf1\x99\xd1\xbe\xdb\x40\xc9\x99\x12\xa4\x54\xf0\xb6\xe5\xc7\x5b\xf7\xe5\xa6\xab\xa8\x92\x70\xff\x0a\x00\xc0\xfc\x2b\x0a\xf8\xe9\x80\x4c\x81\x6a\x88\x02\x2a\x01\xef\xa8\x52\x58\xc1\xb1\x41\x06\x04\x18\x1e\xc1\xec\xe2\x02\x04\x4a\xde\x89\x12\xf5\xb2\x52\x20\x51\x58\x19\x19\x5a\x1d\x1a\x21\x6e\xe5\xad\x7d\x38\x5f\xbc\xba\x58\x47\x80\x4b\xb4\x08\x38\xf0\xae\x6c\x50\x4c\x6b\xfa\xcd\x2e\xf0\x9a\x48\x55\x09\x94\x72\x05\x37\xf6\xc3\xf7\x57\x20\xb0\xec\x84\x40\xa6\x56\xf0\x03\xe7\xed\x15\xe0\xa7\x3d\x15\xa7\x1f\x5a\x5e\xee\xde\x21\xdd\x36\x6a\x05\xbf\xfe\xcc\xd4\xb7\x7f\xfe\xfe\x0a\x4a\x5e\xe1\x3b\x22\x9b\x15\x7c\x50\x82\xb2\xed\x85\xc8\xa7\x51\x77\x72\x0a\xf2\xaf\x32\x83\xf7\x0a\x76\x78\xf2\xca\x3f\x0b\xfb\xb3\x91\x0a\xbc\xe3\x87\x29\xb0\xbf\xd8\x87\xf3\xe7\xa3\xfb\x91\x96\x8a\x72\x46\xc4\x09\x78\x0d\xa4\x6d\x3d\x06\x69\x56\x90\xb2\x44\x29\xe7\x1e\xe6\x02\x0e\x44\x84\x15\x2b\xb8\xb7\xba\x57\x36\xc2\x1c\xb8\x87\x20\xfc\x3f\x0d\x82\x54\x5c\x90\x2d\xc2\x9e\xa8\x06\x6a\x2e\x40\x35\x08\xa4\xba\xa3\x2c\x04\x6e\x38\x63\x8b\x0a\x6e\xf4\xa3\x0f\x76\xd3\x7b\xa2\x8c\xeb\xc3\x97\xac\xe4\xf7\x5e\x32\xb1\x61\x2e\xbf\xf1\x01\xff\x5e\xf0\x4f\xa7\x54\x7a\xf4\xe0\x22\x25\xfb\x6e\xd3\xd2\xb2\x47\x9f\xd7\x01\x25\xd9\x93\x0d\x6d\xa9\x9a\x56\xf7\xde\x48\xb2\xda\xfa\xcf\x41\xd9\x07\xca\xb6\x2d\x0e\xe2\xc0\x47\x8d\x0e\x5b\xa3\x3e\xc4\x4b\x85\xfb\x96\x9f\xee\x90\xa9\xa0\x50\x2a\xd1\x95\x2a\x71\x85\x2b\x29\xa1\xac\x38\x5d\x2e\xba\xb5\xc7\x8d\x37\xca\x92\x77\x26\x46\x31\x8e\x40\xca\x14\xb2\xca\x2a\x8e\x77\xff\x5c\x03\xa3\xed\x95\x59\x1e\xf0\x94\x84\xc1\x06\x1d\x2c\xac\x40\x71\x20\xec\xe4\x45\x87\xed\xde\x30\xa3\xc2\xf0\x6a\xa0\xa1\x26\xad\xc4\xab\x04\xd2\x91\xb6\xad\xd6\xe1\x32\x03\x48\xad\x50\x40\x4d\x85\x54\xda\x40\x23\x1d\x83\x7c\x18\x6a\x60\x9c\x5d\x87\x73\x04\x1d\x9c\x7d\xa3\xb4\x92\x03\x69\xa9\x57\xa1\x17\xd8\x5c\x82\x8d\x4e\x26\x68\x4c\x36\x8d\x14\x4e\xe7\x5b\xd6\x0b\xba\xb0\x69\x17\xf4\x36\xe4\xd5\xf8\x14\xc3\x12\x38\x16\x45\x19\x55\x2f\x5f\x69\xa3\xd0\xd1\x7f\x12\xdb\x7a\xe9\x94\xc0\xda\xfb\x6f\xbc\x24\x28\x85\x75\x0f\x60\xbc\x6c\x04\x05\xd6\x63\x78\xe3\x6d\x1e\x25\xac\x03\xe0\xb0\xe8\xe1\x95\xfd\xef\x13\xea\x17\x54\x9d\x60\xd2\xd4\x34\x8f\x29\xa9\x6d\xda\xc2\x75\xc7\x60\x8b\xea\xa6\x6d\x5d\xc6\xc8\xf9\x62\xaa\xac\x45\x16\x11\x46\xb6\xc5\x94\xc8\xec\xd5\xff\x1d\x6d\x42\x11\x29\x79\x49\xf5\x6d\x08\x55\x5f\x6b\x77\x78\x32\xf9\xbc\xa5\x07\x7d\x0f\x38\xbb\x12\x56\xa5\xe7\xea\x21\x32\x14\x44\xa1\x83\xf2\x0f\x3c\xe5\x1c\x3e\xf2\xa1\xff\x10\x21\xa7\x75\xd0\x36\x5b\xeb\x3c\x1e\xf8\xd9\x9d\xcc\xad\x99\x2d\x15\xb7\x22\xe6\x8b\x65\xc9\x59\x49\xd4\xfc\xf5\xf5\xeb\xf0\xd9\x6b\x5c\x0c\xbc\x10\x49\x7a\x4d\xd8\xe9\xfa\x75\x7e\xc3\x43\x4f\x78\xfc\x49\x1b\x22\x1b\x4f\x8b\x6e\x79\x85\xf3\x8f\xe6\x58\xe7\x8e\xe4\x14\xd9\xdf\x97\xc8\x8c\x0e\xfc\x34\xd7\x7a\x6e\xda\x2d\x17\x54\x35\x77\xcb\x0f\xef\x6e\xfe\xf4\xf1\x8f\x7f\xf9\x76\xa9\x35\x18\x1c\xcb\x4e\xd5\x7f\x5d\x2c\x06\x7e\x73\x25\x5b\x9a\x8a\x66\x49\x8e\x61\x42\xde\xcd\xc6\x49\xb6\x04\x69\xff\xde\x05\xf4\x81\x86\x79\x5e\x76\x9f\x54\x9c\xdb\x91\x28\x38\x52\xd5\x9c\xc9\x7e\x6d\x0e\x52\x55\xce\xe7\x9f\x91\xe1\xff\xae\x6b\x89\xc3\xe4\x9e\x4a\xec\xb8\xc6\xc0\x3a\x43\x4b\x97\x23\x97\xe8\xe5\x8b\x6c\x75\x70\x58\xb5\xac\x98\x4d\x11\xcf\xa6\x22\xc0\xe1\xe3\x10\x75\xfc\x2d\x8e\xe9\x5c\xac\x5d\x62\xe0\xc6\x80\xb9\xd8\xce\x43\xec\x4f\xb3\xf6\xb0\x94\x26\xd6\x2a\x0a\x28\x49\x5b\x76\xad\xc6\x9b\xb9\x58\x60\x43\xf4\x7d\xcf\x59\xa2\x21\x11\xa1\x69\xd8\x74\x39\x07\x93\xd9\xc9\x06\x5a\x27\xc2\xf2\xc9\xaf\xff\x72\x95\x79\x8b\xea\xd6\x1e\xdd\xfc\x3e\x5f\x2c\x1d\xd0\x3f\x24\x42\x67\x89\xb0\x87\xe4\xdb\x28\xe6\x74\x05\xcc\x86\xdb\xb9\x5a\x17\x02\x29\x17\x16\x43\x1b\xeb\x52\x97\x86\x82\xae\xc7\x92\xdc\xa1\x51\x8e\x9f\xa8\x54\x26\x26\x4d\x2e\x53\x65\xa9\x44\x22\x25\x03\xaf\xc2\x16\x03\x38\x4d\xc0\x07\x8a\xf5\xd9\xbc\xd2\x75\x72\x81\x7c\x66\x3e\x24\x8e\x1d\xfd\x94\x35\x41\x62\xf0\xc7\x0e\xe2\x0b\xda\x92\x32\x89\x42\xd9\x5e\x62\x87\xa7\x2b\x0f\xff\x8c\x38\xdd\xc5\x4c\xf6\x7a\x5f\xea\x74\x13\x79\x6f\x7b\xa1\xa1\xab\xed\xc5\xba\xc3\xd3\x28\xd5\x47\x0e\x9c\xaa\x8c\x17\x39\x3f\x1b\xe3\x43\x2a\xa2\x7b\x4b\xd8\x9c\x5c\xdb\xa3\x38\x48\x47\x0e\xfc\x55\x91\x69\x1f\xfa\xae\x9e\x29\x14\x35\xe9\x2f\x96\xa8\x9b\x88\x10\xfb\xe3\x49\x54\xbe\xdd\x0f\x42\xf5\x25\x4a\xf6\x2b\xe8\x7f\x79\xf3\x7b\xb7\xe8\xbb\xe1\xfd\xa7\x9b\x1e\xd7\xe4\x84\xc6\xc0\x30\xef\x86\x1c\x7c\x7b\x62\xbb\x42\x50\x8d\xe0\xdd\xb6\x19\x77\x5b\x46\x8c\x6e\x76\x19\xd9\xb4\x28\xa3\x96\x2f\xb4\x1a\x1c\x04\x1e\xf8\x0e\x9d\xac\xd0\x05\x21\x42\xa3\xd4\x5e\xae\x8a\xa2\xe2\xa5\x5c\x72\x56\xb7\xfc\xb8\xe4\x62\x5b\x94\xa4\x42\x56\x62\x51\xa1\xa4\x5b\x76\xbd\x27\x4a\xa1\x60\xb2\xf8\x5d\x6f\xbd\x6b\x2d\xb4\x24\x9a\x65\x4d\xde\xcb\x06\xe6\xea\xbc\x31\x5d\xdb\xab\xaf\x35\xdb\xf2\x92\xa1\x49\xf3\xc6\x8c\xda\x98\x27\xfb\x23\x4b\xbc\x87\x12\x34\x01\x26\xfb\x5c\x46\x7c\x3d\xe6\x90\x47\x36\x5b\x6e\xb8\x10\xfc\x38\x5f\xcc\x96\x39\x0c\xcf\xe4\x02\xb6\x1e\x64\x6b\xc1\xd7\xba\xcb\x9f\x6a\x83\xaf\xcf\x8a\x3e\xbb\xe4\x3d\x7e\x9c\x8c\x28\x73\x07\x66\xb4\x9b\xbe\xf4\xe2\x70\x8e\x09\x8b\x13\xd2\x17\xa5\x5b\x3b\x5d\x28\x49\xdb\xba\x4a\xca\x4e\x9c\x21\x6c\x3a\x05\x0c\xb1\x92\x40\xa2\x1a\xaa\xab\x4b\xdd\xb1\x32\x29\x03\xda\x0e\x96\xce\xc7\x99\xaf\xbb\xbd\xbf\x25\x93\x9c\x51\x5f\xf1\xe6\xda\xb7\x01\xe9\xc6\x18\x62\x5a\x67\x74\xa5\xa3\x52\x09\x62\xbb\x00\x2f\x6f\x4c\x56\x65\x3c\xc7\x1d\x79\xcd\x6a\xfd\x17\x1e\xdd\x82\x18\xeb\xc0\xaa\xe6\x3e\x1e\x4d\x79\xe3\x15\xe1\x30\xe9\x59\xe6\x93\x6c\xba\xc1\x72\x27\x93\x81\x60\xd4\xf9\x48\x1b\x8f\x86\xa4\xa2\x1c\x23\x6f\x91\xb0\x6e\xff\x93\x5d\xd3\x77\xd6\x03\xd4\xba\x01\xd6\x4c\x8c\xb2\xb3\xfc\x64\x87\x27\x09\xf7\x30\xf8\x1b\x11\x57\x43\xbc\xf2\x94\xd2\x8b\xfa\xef\x0e\x4f\xff\x9b\x8d\x76\xd2\x1a\x0e\x99\x89\xc4\x24\x45\x76\x7b\x26\x59\xf1\x77\x39\x71\xb3\x09\x41\xf0\x14\xa6\x71\xd6\x10\x30\x22\xdf\xe3\x5f\x1e\x26\xdc\xfe\x96\x0b\x50\x28\x55\x3c\x68\xf2\x5e\xed\xa4\xc7\xf3\x96\x8b\x1f\xcd\xa0\x2f\x33\x30\x1f\x74\xeb\xba\xba\xe6\x47\x0c\x99\x43\x9f\xd5\x40\x52\x0d\xc3\x6b\x00\x06\x2c\x86\xca\x50\x03\xc2\xe4\xb0\xaf\x1f\x9a\x91\xbc\xfd\xed\x9f\xba\xc7\x1a\x8c\x54\x8b\x6e\x5f\x11\x85\xf9\xe9\xf7\x4b\x99\xe1\xd9\x4d\xb7\xe6\x24\x5f\xb0\x83\x2a\x0a\x37\x57\x2d\x75\x19\x30\x89\xea\xd9\x75\xe8\x4d\x15\x11\x5b\x54\xa3\x09\xaf\x6d\xbc\x18\x57\x50\xf3\x8e\x55\x91\x84\xdc\x3c\x98\xd6\x30\x3b\x97\xfb\xda\xf4\x84\x32\xa9\xcf\x60\x92\x20\x0d\xa5\x27\x99\xc0\x0c\x7d\xcf\xdd\xa0\x2f\x00\x2c\x8a\x73\x33\xc9\x7e\x3c\xf9\x2e\x2f\x5f\xb1\xa9\x91\xc9\x4e\x60\x3a\xdc\x80\x3b\xa2\xca\xc6\xd1\x6e\xb7\x37\x36\xf8\xa1\x1f\xa3\xce\xfa\x39\x2a\xe4\xb3\x34\x45\x9f\x16\x8b\x30\x53\x88\xab\x26\x95\x60\x29\x8a\xf1\xbb\x79\x47\xe0\x86\xaf\xd9\xd9\x79\x51\x44\xd7\x4a\x61\x6f\x95\xf4\x45\x84\x0d\x26\xdd\xd4\xe9\xde\xc9\xbe\xae\xc0\xbd\xd2\x9d\x05\x08\xc2\xb6\x98\x9e\xed\xc2\x3a\xfe\x22\xf5\xfb\x49\x75\xfb\x99\x71\x52\x14\xd1\xf4\x71\x68\xa5\xf1\xc4\x5d\xc7\xf1\x21\x9a\xca\x3f\xa1\xc5\xcd\xcc\x76\x47\x67\x89\x07\x02\xe9\x9b\x54\x92\xbc\x49\x35\xf3\x85\x88\xef\x46\xd0\xb2\x93\x81\x8c\x23\xa6\x0d\xea\x0c\xa9\x44\x87\x83\xeb\xe0\x1d\xb6\x7b\x14\xfd\x85\x60\xda\xcf\xc7\xc7\x06\xd9\xfa\x9f\x1a\xe8\x23\x4c\xd0\xe9\x0b\xf2\x79\x69\x31\x64\x58\xb4\x8e\xe4\x7c\xdc\xc6\x86\x4e\xde\x02\x8f\x2c\x3b\x7b\xcc\xb4\xb3\x8c\x6d\xf3\x17\xea\x88\xc9\x27\x2f\x3e\x60\x0d\xf7\x51\x80\x9a\x67\xc3\xb7\xb8\xb0\x86\xc2\xbd\xaf\x2d\xea\xa1\x45\x3c\x41\x34\x9b\x06\x72\xf2\xef\x6b\x2f\x13\x37\x1c\x4b\x64\xa5\xf6\xaf\x62\xb5\x50\xfb\xba\xf7\x42\x99\x89\xaf\xed\x7c\x23\x6a\x16\xe2\x2e\x20\xa2\xd9\xb6\x01\xb2\xd7\xe0\x52\x92\x03\xce\xdf\x5c\x9b\xbd\x57\xa0\xf8\x2a\x6f\x3d\xdf\x6b\x3c\xfc\x3f\x00\x00\xff\xff\xab\xbc\xf3\xf7\x42\x22\x00\x00" func flowcontractauditsCdcBytes() ([]byte, error) { @@ -243,6 +265,26 @@ func flowtokenCdc() (*asset, error) { return a, nil } +var _ienversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\xdf\x6f\x1b\x37\x0c\x7e\xf7\x5f\x41\xf4\xc9\xee\x52\xfb\x65\x18\x86\x20\x0d\xd0\x7a\x1e\x56\x0c\x4d\x8b\x35\xdd\xeb\xc0\xd3\xf1\x7c\x5a\xee\x24\x4f\xe2\xd9\x0d\x82\xfc\xef\x03\xa5\xfb\xa1\x3b\xdb\x6d\xd7\x65\x6f\xcb\x5b\x4e\x12\xf9\xf1\x23\x45\x7e\xf2\x6a\xb5\x82\xdb\x52\x7b\x50\xd6\xb0\x43\xc5\xa0\x3d\x34\x9e\x72\x60\x0b\x39\x15\xda\x50\x0e\x59\x65\xd5\x1d\x94\xa4\xb7\x25\x03\x9a\x1c\xbc\x2d\xf8\x80\x8e\x60\x4f\xce\x6b\x6b\x20\xb3\x8d\xc9\xd1\x69\xf2\x33\xb1\x58\x58\x07\x5c\xd2\xb0\xcf\x35\x06\xb2\x7b\xd8\x7c\x22\xd5\xb0\x1c\xb8\xb1\x39\xf9\xe5\x6c\xd7\x64\x89\x67\xc3\xe4\x0a\x54\x04\x6f\x36\x37\xbf\x47\xcb\xaf\x09\x95\x35\xf0\x30\x9b\x01\x00\xc8\x76\x32\x4d\x0d\xfd\xfa\xc7\x5d\x8e\x4c\xaf\x94\x18\xbd\x84\x8f\x6f\x0c\xff\x08\x0f\x61\x6f\xb7\x5f\xa1\x27\xc0\x3c\xa7\xfc\xf8\x73\x4e\x15\xf1\xa9\x05\xac\xc9\x74\x27\x1e\xa3\x6f\x89\xeb\x03\xbb\x46\x31\x38\xda\x39\xf2\x64\x58\x9b\xed\x24\xa6\x23\x6a\xfa\xb3\x58\x59\xb3\x85\x83\xe6\x12\x4a\xaa\x76\xe4\xa0\x68\x4c\xc0\xed\xfb\xd8\x7c\xb4\xdf\x47\x97\x84\x22\x26\xd6\xb6\xde\x19\x32\xec\x63\x66\xc4\x3b\x82\xa7\x1a\x0d\x6b\x35\x72\xd8\x19\xac\x88\xa1\xc6\x3f\xad\x6b\xb9\x39\x5e\xd4\xe6\xfc\xe2\x0e\x59\x95\xdd\xe2\x08\xc9\xbb\x2a\x27\xcf\xa0\x6c\xbd\x43\xd6\xac\xb3\x6a\xa8\x85\x10\x22\x4b\x4d\x4d\x11\xad\x56\xab\x91\x95\x9f\xba\x28\xc2\x6e\x85\x26\x30\x13\x0d\x54\x76\xab\x15\xa0\x93\xc2\x82\x46\xb2\x2c\x1b\x33\x2a\xac\x23\x40\x60\x74\x5b\xe2\xb6\x32\xb5\x07\x47\xa8\xca\x24\x93\x21\x5b\x8d\x2a\x21\xa3\x12\xf7\xda\x3a\xa8\xf1\x1e\x32\x49\xb9\xd7\x8e\x50\x00\x6b\x13\x8a\x94\xf6\x64\x18\x32\x47\x78\x27\x2e\x54\x89\x66\x4b\x1e\x42\xd9\x52\x45\xe8\x27\x66\x33\xe2\x03\x91\xe9\xa2\xf3\x47\xb4\xd9\x40\xce\x3a\x72\x93\x55\xd4\x26\xf3\x72\xc8\xeb\x40\xa6\x36\x9a\xe7\x69\x86\x2e\x46\x29\xb9\x18\xe5\xe0\xe2\x2b\x4c\x2f\xc6\x89\xfa\x8d\xb8\x71\xa6\x4f\x85\xc4\xfc\x81\xea\xbd\x54\x9f\x75\x35\x32\xcc\x69\xb9\x5d\xc2\xfe\x2a\x60\xb8\x5e\x5e\x05\xef\xd7\xcb\xab\xe0\xf7\x7a\x31\x32\x86\x1e\x50\xee\x80\x36\xdb\x51\xd0\x45\x63\x80\x6d\x5c\x98\x2f\x2e\xbb\x2d\xc3\xd9\xe7\xb0\x6e\x3c\xdb\x3a\x54\x30\x3a\x64\xeb\x3c\x3c\x5f\x9d\x86\xca\xae\x21\xd0\x45\x72\x0b\xb4\x87\xad\x23\x64\x92\xae\x82\xa3\x7a\x82\x1d\x7a\xe9\x56\xc3\x66\xe9\x4f\x05\x56\x9e\xc0\x72\x49\xee\xa0\x3d\x1d\x81\x6d\xad\xdd\x96\x68\xe6\x7f\xc4\x7d\x29\x85\x97\xf0\xda\xda\xea\x1b\xd1\x81\x75\xa3\x83\xf4\x57\x83\x95\x74\xd3\x7f\x8b\xf4\x9d\xdb\x88\xa9\x5b\xfb\x24\x90\x2b\xf2\xfe\x89\xd8\x14\x53\x4f\x46\x65\x8f\xeb\x69\x79\xec\x30\x3e\x2d\x89\x13\x4c\xa3\x83\xff\x0c\x1f\x7d\x11\x15\x8c\x47\xd1\x26\x74\x2d\xaa\x35\x33\xe5\x80\xe6\x1e\x58\xd7\xd2\x19\x0d\x1d\x86\xdb\xee\xe3\xe4\x13\x88\xd2\xea\xba\xef\x2c\xfd\x6f\x98\xa8\xc1\x54\xef\xf0\x56\x16\xe3\x5c\xcd\xe7\x71\xe8\xc7\xfe\xf3\xc3\xf7\x17\x9d\x85\x04\xdf\x05\x60\x3b\x7d\x4f\x0e\xe5\xc5\x17\x21\xa7\xc0\x94\xb5\x55\x6e\x0f\x06\x76\xe4\xb4\xcd\x83\x18\x89\x48\xce\xa1\x5d\xb7\x27\xde\x87\x03\x1d\x6c\x43\x87\x93\xeb\x5d\x20\x09\xaa\x35\x1a\x6b\xb4\xc2\x0a\x3c\x5b\x87\x5b\x92\x96\x5b\x06\x09\xd3\x3b\xf9\x95\x68\x47\x6e\x96\x36\xf9\x7e\xed\x55\x5e\x6b\xf3\x21\x1e\x7d\x8f\x5c\x4a\xfb\xeb\xff\x19\xdc\x04\x56\x21\xd7\x8a\xe3\x24\xab\xb5\xd1\x75\x53\xf7\x91\xbf\x80\x87\x30\xcc\x7e\x69\x09\xef\xed\x3f\x06\x13\xa8\x14\x79\x3f\xef\xb4\xd2\x22\x60\xd8\x27\x09\xbb\x84\x87\x18\xda\xe8\x68\xef\xfe\xa6\xa9\x33\x72\x60\x8b\x38\x32\x7d\x3f\xc5\x3a\x55\xc7\xc3\x90\x95\x7a\x6d\xe7\x6b\xbb\x2a\x64\x74\x40\x9d\xad\x2a\xbb\x6f\xd9\xf8\x1c\xac\xd3\xcc\x0f\x90\x02\x71\x89\xe8\xe3\x12\x45\xac\x18\x94\xe9\x2b\x45\x31\x51\x56\xad\xd9\x6e\xf8\x88\x89\x1a\xb5\x61\x0c\x1a\x35\x0c\xf3\x44\xc7\xf6\xc9\x72\xe4\x6d\xe3\x14\x25\x9e\xc6\xb9\xeb\xc4\x65\x67\x34\xd6\x50\x40\x30\x4d\x92\x5c\x23\xbc\x23\xa0\xa2\x20\x15\x48\x93\x5d\x5b\xbd\x27\x33\x12\xc9\x47\xd7\x1b\xf3\xfc\x6d\xb4\xd5\x7a\x9e\x47\x82\x47\x29\x3f\x7f\xc7\x16\x89\x10\x0c\x66\x1d\x4d\xbe\xc8\xdf\x91\x49\xb8\x86\x2d\xf1\xba\x71\x8e\x0c\xbf\x96\xef\xf3\xc5\xb2\x4d\xe9\x77\x13\x16\x96\x67\xb2\xf6\xec\x36\x55\x5a\xed\x61\xab\x54\xe3\x3c\xb0\xb5\xe0\x6d\xe4\x25\x5e\x53\xd8\xdc\x74\xf0\x9f\x8d\xf0\x3d\x8e\xfe\x93\x1e\x00\x9b\xb7\x9f\x6b\x38\x47\xc1\x24\xbc\xec\xcf\x76\x9e\xd8\x73\x96\xa1\xe9\x0d\xda\xe5\x71\x36\x91\x9d\xa2\xfa\x63\x8d\x91\x61\x77\x2f\xc5\x93\xde\xa5\x2e\xb1\xed\xa4\x39\x99\xd9\xa8\xc7\x9b\x2a\x17\x51\x29\xb2\xb5\x68\x2a\xb1\x13\xdb\x93\x2d\xc2\x3d\xc9\x50\xdd\x1d\xd5\x42\x7c\x74\x84\x74\x44\x6e\x5b\xec\x6f\x71\xb7\x13\x01\xf5\x7f\x4d\xfc\x27\x35\xd1\xbe\xf5\x4e\x56\x45\x97\x9a\x08\xf8\xe4\xe4\x98\x77\xa3\xe9\x8d\x09\xac\xf9\x7e\x94\x4c\x58\x8f\x71\x7c\xeb\x78\x9a\x7a\x49\xe1\xc2\x58\x01\xf4\xca\xa4\x24\x50\x31\x9f\x47\xf3\x53\x9e\x52\xda\xc0\xa1\xd4\xaa\x84\xcd\x8d\xef\x0f\xcb\x63\x2b\x23\x40\xef\x1b\x47\x79\xf2\x76\xab\x2a\x30\x96\xdb\x57\xd0\x2c\x25\x67\xa8\xd4\x09\x33\x8b\xe3\xde\xfe\x73\xfb\xb4\x8d\x4d\xdd\xf5\x48\x91\xfb\x9e\xda\x41\xee\x7f\x42\x90\x87\x16\x58\x93\xc6\xd3\xdb\x3b\xfa\x05\x62\xa4\x64\xa0\x8e\x57\x67\x0a\xb7\xad\xf2\xb6\xf3\xf6\x39\x11\xc0\x93\xa7\x58\xca\x27\x82\xb2\xbb\x7b\xb9\xc2\x82\xa4\x68\xaa\x0a\x4a\x2d\xda\x20\x88\x84\xb4\x4f\x9c\xa1\x27\xac\x89\x93\x87\xde\x4b\xc7\x50\x92\xbe\x75\x49\x32\x87\x0f\x25\x89\xe0\x6b\x87\x48\x9f\x07\xf4\xdd\xe3\x3a\xe9\x47\x67\x06\x4d\x87\x40\xfb\xe1\x61\x38\x04\xfb\xb5\xed\x24\x15\xbf\x09\x1d\xd3\x18\x6f\xe8\x13\x8f\xa8\x0b\x2f\xd8\xf4\x12\x78\xaa\x8a\xe5\xa8\x9d\xbe\x84\x87\xc7\xf1\xf2\x59\xf5\x04\x2f\x61\xd5\xea\xb0\xd5\x78\xd3\x6c\x6c\x01\x95\xb2\x8d\xe1\xa5\xc7\x3d\xcd\xaf\x5e\xa8\xf0\x4e\x9a\xf4\xaf\xf9\xe2\x02\xd8\x5e\x7e\xc1\xe5\xa2\xbd\x58\x8f\xb3\xbf\x03\x00\x00\xff\xff\xe1\xa4\xf9\xd6\x0d\x13\x00\x00" + +func ienversionbeaconCdcBytes() ([]byte, error) { + return bindataRead( + _ienversionbeaconCdc, + "IENVersionBeacon.cdc", + ) +} + +func ienversionbeaconCdc() (*asset, error) { + bytes, err := ienversionbeaconCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "IENVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0x46, 0xa9, 0x20, 0x8e, 0xdb, 0xb, 0x76, 0xaf, 0x8e, 0xad, 0x13, 0xd, 0xba, 0x43, 0x4e, 0x95, 0xa8, 0x2f, 0xef, 0xa7, 0x83, 0xdc, 0x5b, 0xee, 0x53, 0x6, 0x77, 0x18, 0x52, 0x0, 0xfe}} + return a, nil +} + var _lockedtokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\x5d\x73\x1b\x39\x72\xef\xfa\x15\xb0\x1e\x76\xc9\x3b\x99\x72\x2e\xa9\x3c\xb0\xac\xf5\xc9\x96\xbd\xa7\x5a\xaf\xed\x92\xe4\x38\xa9\xd4\xd5\x15\x38\xd3\x14\xb1\x1e\x0e\x66\x81\x19\xd2\x8c\xcb\xff\x3d\x85\xcf\xc1\xe7\x0c\xc9\x75\x76\xed\x9c\xf9\x22\x71\x06\x68\x34\xba\x1b\x8d\xfe\x02\x78\xfe\xa7\x93\x13\x84\x10\x7a\x49\x8b\xf7\x50\xde\xd1\xf7\x50\x73\x44\xd6\x4d\x05\x6b\xa8\x5b\x8e\xda\x15\xa0\x65\x57\x17\x2d\xa1\x35\xae\x48\xbb\x43\x0c\x7e\xed\x08\x83\x12\xb5\x14\xad\x71\x8d\xef\x01\xbd\x78\xf9\xfa\x9d\x84\xb2\xe8\x76\xc0\x38\xaa\x24\x30\xd4\x2a\x68\x4b\x46\xd7\x12\x8e\xfc\x8e\x38\xae\x60\xa6\x06\x7d\x8e\x8b\x95\x7e\xba\xa2\x55\x09\x0c\xdd\x83\x18\x73\x4b\x11\x2e\x0a\xda\xd5\x2d\x9f\xa1\xd7\x35\x98\x6f\x88\x48\x84\x08\xf3\x46\x90\xa0\x74\x8b\x19\xba\x6e\xd1\x96\x54\x15\x5a\x00\xfa\x85\x92\xba\xad\x76\xa8\xa0\x75\xcb\x68\x55\x41\x89\x16\x3b\x89\x49\xc7\x81\x21\x5c\x97\x0e\x5a\xb8\x5c\x93\x9a\xf0\x96\xe1\x96\xb2\x99\x84\x79\x97\x7e\x89\xd6\x1d\x6f\x51\x41\x1f\x72\x72\x5f\x2b\x08\x0c\xd7\x7c\x09\x0c\xd1\x25\xc2\xf5\xce\x9f\x7f\x12\x16\x2a\x70\x5d\xd3\x16\x91\xba\x05\x86\x0b\x81\x73\xbb\x92\xb0\xf4\x44\x64\x27\xf1\x90\x76\x2d\xc2\x4d\xc3\xe8\x06\x57\x21\x29\x15\xd1\xce\x64\x5b\xf8\x50\x40\xd3\x0a\xa6\x94\xd0\x50\x4e\x5a\x84\xcb\x92\x28\xb6\x19\x84\x2c\x9f\x28\x13\x0d\xbb\x5a\x3c\x47\xf0\x81\xf0\x96\xd4\xf7\xf2\x35\xc2\x2d\x02\xc1\x96\x35\xa9\x80\xb7\xb4\x06\x44\x6a\x67\xc8\x0d\xa8\xb6\x0d\x30\x42\x4b\xcd\x47\x31\x39\x0e\x05\xad\xcb\x80\x53\x7a\x08\x28\x35\xc5\x0d\x93\xee\x56\x84\x3b\x4d\x25\x10\x52\xa3\x65\x57\x55\xa8\xa1\x9c\x03\x27\xb4\x96\x0c\xd2\xbc\x13\x94\x0d\x19\xb7\x13\x44\x44\x25\x45\xdb\x15\x6e\x61\x03\x4c\x82\x91\x2f\xb6\xb8\xd6\x24\x25\xe1\x68\x52\x38\x78\x4b\x19\x20\x8c\x0a\xdc\xe0\x05\x91\x62\xdd\xae\x70\x8b\x70\x55\xd1\x2d\x37\x70\xd6\x82\x48\x02\x4a\xc9\xf0\xd6\x48\xf3\x76\x05\xb5\x1a\x64\x01\x05\x5d\x3b\x53\x14\x68\xe1\x8a\x53\xd4\x52\x09\xa1\x01\xb6\xa4\x6c\x8d\x78\x8b\xdf\x0b\x92\xd1\x06\x18\x16\x0c\xe1\x96\xdb\x81\x24\x73\x4d\xcf\x77\x62\x0c\xec\xd1\x4c\x10\xb4\x60\x80\x5b\x28\xcf\xd0\x82\xb6\x2b\xbb\x42\x10\x66\x82\x47\xa4\x25\xb8\x22\xff\x03\xa5\x04\x6e\xa6\x40\x18\x62\xc0\x1b\x28\x5a\xb2\x01\x44\x17\xbf\x40\xd1\xf2\xb9\xbb\xda\x7f\x96\x4b\x98\xa1\xa5\x90\x09\xc1\xc7\x15\x16\x8b\x5b\x43\x57\xb2\x25\x66\x26\x1b\xff\x4d\xad\x52\xd3\xb6\x9f\x7a\xcf\x58\xcd\xa3\x02\x57\x15\xb7\x9a\x43\x91\x94\xd6\x1e\x94\x04\x71\xad\x7c\xfb\x58\x28\x8e\xa7\xa9\x8a\x0b\x9f\xa4\x3e\x41\x4f\x4e\xd0\x9f\xce\x4f\x4e\xc8\xba\xa1\xac\x45\x2f\x2a\xba\x95\x18\xa8\x81\x1e\x7d\x10\x12\x7f\xf7\xfa\xa7\xe7\xaf\x2e\xaf\xae\x6e\x9e\xdf\xde\xda\x86\x5d\x7d\x4f\x16\x15\xf8\x8d\xdf\xbe\xfa\xf1\xfa\xe9\xcb\xe7\xc9\x0e\x15\xdd\x5e\x5f\xdd\xe1\x45\x05\xb7\x1a\x31\x67\x88\xeb\xab\xbb\xcb\xa7\x2f\x9f\xdf\xde\x5d\xfe\x74\xfd\xea\xc7\x44\xd7\xdb\x96\x32\x7c\x0f\x2f\x00\xb8\xdb\xef\xf6\xee\xf5\xcd\xe5\x8f\xcf\x5f\x3c\x7f\x7e\x1b\x74\xd2\x83\xbc\x61\xf4\xc3\xce\xf4\xd0\xe0\xdf\xdc\xbc\xfe\xcf\xff\x32\xcd\x4f\x9a\x6e\xa1\xd6\x90\x50\x32\x9e\x92\xff\xa8\x64\x4d\x34\x80\x0d\xd4\x2d\xba\x95\x34\xbf\x54\x24\xbf\x81\x7b\xc2\x5b\x60\x50\x4e\x70\x59\x32\xe0\x7c\x8e\x2e\xd5\x3f\xd3\xa0\xdf\x5b\x2d\x05\xfb\xf4\x4c\x76\x7d\x49\xd6\xa4\xbd\xae\x85\x78\xf3\x44\xaf\x33\x44\xf4\xbb\xcb\xb5\x18\x60\x8e\xde\xbe\x20\x1f\xfe\xfd\xdf\xce\x50\x0d\x5b\xd9\xd7\x3c\x89\xe0\xbf\x4c\x23\x76\xc9\x5f\xd1\x12\x12\x03\xd5\xb4\x84\xeb\xab\x39\xba\x6d\x19\xa9\xef\xc3\x89\x66\xa1\x5d\x41\x05\xf7\x62\x6b\xd8\x03\x64\x12\xa6\x62\xc9\x95\x52\xdc\x49\x12\x60\x6f\xea\x1a\xcc\xf9\xf9\x39\x7a\x83\x85\xdc\x53\xad\xd2\xc2\x05\xa0\x77\x68\xa9\x05\x68\xc7\x0a\xb0\xfd\xb4\x56\xf7\x17\x9a\x45\xae\x82\x36\xa1\x24\xb4\x98\x8a\x21\xc5\x84\xec\x97\x21\x6c\x1a\x46\x36\xb8\x05\x57\xd5\x1a\xf5\xd1\xef\xde\xa2\xab\xc6\x74\x04\x85\x37\x0a\x9c\x42\xc1\xf9\xb2\x0f\x0a\x1e\x61\xd4\x36\x5c\x91\xfa\xfd\x71\x24\xb9\x14\xfd\x8f\xc1\x46\xef\xff\xc2\x1e\x91\xaa\x2b\x1c\x5e\xbd\xdf\x67\xf4\x67\x16\xc6\x31\x8c\xf1\xec\xae\x9c\x78\x84\x1a\xde\xc3\xc7\x51\xe6\x7b\x20\xd0\x2d\x2a\x52\xa0\x26\xc2\x63\x60\x0f\x16\xfd\x18\xe0\x52\xa8\x53\x52\x0b\xb5\x2f\xf7\x4f\x84\x17\xd2\x2a\x42\x03\xb8\x79\x6b\xf5\xba\x5e\x52\x35\xbe\xe6\x94\xfd\x3f\x24\x90\x44\xc0\x52\x5f\xed\xb8\x94\xa1\x2d\xed\xaa\x52\xe1\x6c\x3b\x08\xdc\x0d\xd9\x54\x47\x69\x15\x74\x5c\x90\x56\xef\xd5\x01\x86\x3c\x8f\xe2\x33\x35\xd2\xbe\x8c\x1c\xc4\xb3\x11\xd3\xe3\x2b\x17\x53\xc2\xb2\x0b\x50\x0b\x9c\xde\x5e\x45\x7b\x63\x40\x3a\xe6\xa8\x1a\x41\xd0\xbe\x07\x33\x3a\x99\x31\x92\x0b\x63\xa1\x97\x66\x17\x41\x25\x03\x39\xeb\xdc\xb1\x5d\xb5\xdd\xa0\x8d\xd6\x5e\x97\x84\xc6\x6b\x68\xb6\x1a\xd4\x2d\x03\xa5\x21\xbe\xc4\x85\x87\xd1\x47\xd9\xce\xb4\x5d\x76\xb5\xdd\x89\x9c\x8d\x6b\x52\x42\xd5\xe2\x5e\x33\x8b\xe6\x9f\xdc\x49\x0a\x53\x38\xa9\x8b\x85\x4d\x27\x65\xaa\x4c\xab\x1e\xc7\xc3\xc2\x45\x01\xbc\x5f\x14\x2d\x8d\x35\xfd\x06\x77\x95\xb1\x94\x14\x30\x65\x23\x9c\x97\x6a\x77\x12\xd3\x37\x23\xf3\x04\x05\x62\x5d\x3b\xf7\xed\xa0\xd9\x0d\x14\x40\x36\xc0\xce\x82\xe7\x6f\x18\xdd\x10\xe1\x88\xf8\xb4\xb3\xc4\xb3\x64\x10\x66\x38\x62\xb0\x04\x06\x75\x01\x06\xcf\x12\x96\x12\x75\xe9\x7e\xa8\x59\x0c\x51\x65\xe6\xc2\xf5\xc6\xb8\xac\x3c\x4f\xc7\x0a\x07\x03\x0f\x20\xe1\x6a\x94\x33\xb4\x5d\x91\x62\x25\xbd\x88\x85\x21\xb1\x6e\xb4\xa5\x68\x8b\x77\x7c\xee\xc1\x47\xe8\x5f\xa6\xe8\x8a\x30\x28\xda\x6a\x27\xac\x12\x84\x95\xeb\xa7\x6c\x50\xe3\x12\x2a\x37\x53\xda\xe8\x91\x9e\x55\xec\x89\x24\x3a\x18\xe6\x2f\x53\x74\x5d\x97\x7a\x20\xb4\x21\x58\x02\x8a\x19\x94\xc0\xa1\x47\x20\x1c\xdb\x93\xe5\x0d\x66\x8a\x08\x73\xf4\xcc\x2e\xbb\xc7\xdf\x59\x03\x79\xf6\x1f\xe2\xe5\x0f\x21\x0f\x41\xdb\x21\xd2\x1d\x53\xd4\x35\x9a\xcf\x98\xfd\xb5\x35\xea\x3d\x46\x09\xbf\x9c\x70\x54\x82\xb6\xf2\xac\x1f\xa5\xfa\x99\x3e\x3c\xc2\xb2\xeb\x57\x9a\x59\x63\x3e\x56\xaf\x1b\xed\xe4\x0a\x9b\x4e\xd8\xc5\xce\x0a\x9b\xa1\x77\xc2\xdd\xa3\x75\x25\xdc\x35\xb4\x24\x32\x08\x40\x7a\x5f\xd2\x83\x24\x68\xc7\x51\xd7\x08\xc1\x14\x02\x21\x6d\x37\xed\xb6\xd1\x98\x7e\xb5\x1d\x6f\x8e\xfe\x1a\x3b\x00\xb3\x1e\x9f\x27\x03\x18\x5b\xdb\xf1\x73\x21\x5d\x1a\x80\x49\x84\xed\x70\x79\x9c\x6d\x13\x07\x6d\xe1\x5f\x4e\xf6\x10\x98\xa9\xa3\x33\xc5\x87\x43\xb5\x9c\xa9\x35\x7d\xa1\x04\x2e\x7e\xdd\xd3\x11\x3d\x7e\x88\x6a\x52\xa5\x9b\xf4\x84\xca\xb5\x72\x44\x05\x5d\xa0\x47\xb3\x47\xb6\xc9\xa7\x7e\x26\x25\xf0\x96\xd1\x1d\x9a\x84\xa8\x9a\x17\x01\x4e\xc3\x6d\xae\x22\x62\x7f\x72\x79\x9d\x51\xa0\xc6\x69\xf5\xc5\x42\x9b\xff\xbc\x37\xba\xcc\x12\x53\x7a\xd2\x27\x9f\xd9\x91\xf4\x66\x3d\x11\x4e\xa0\xe0\xa9\x37\xa0\x64\x4a\x92\x27\xba\x9b\xf1\xdd\x94\x03\xa2\x81\x3c\x7e\x28\xfe\x4e\x53\x53\x52\x4a\x72\x22\x40\x4c\xdd\xe1\x93\x70\xf6\x41\x46\xd8\x0e\x72\x62\x37\xb0\x44\x17\x8e\xbc\xcc\x16\x94\x31\xba\x9d\x4c\x1f\x9c\x44\x1d\x16\xb8\xc2\x62\x03\xb9\x90\xae\xef\x4c\x7f\xf5\xdb\x19\xa0\x33\x9f\x40\x8f\x1f\x22\x35\xb9\x98\x24\x03\x7b\xbb\x1e\x21\x49\x92\x88\xcb\x66\x3b\x4c\x73\xf9\x9d\xd1\x74\x11\x9b\x6d\xf0\x23\xcd\x68\xa3\x22\x27\x81\x2b\x98\xa6\x73\x40\x66\x06\x6d\xc7\x6a\xf4\xf8\xa1\x9c\xa9\x01\x15\x70\xcd\x00\x56\x7f\xf7\xe3\xff\x08\xa8\x43\x70\x6c\x18\x04\x4f\x50\x6a\x65\xff\x70\x61\x9d\xe1\xd3\x1b\xf8\xb5\x03\xde\x0a\xe3\x40\xed\x4b\xf0\xa1\x00\x28\x43\xda\xa2\x4a\xf4\x3c\xf5\x60\x7f\xf2\x25\xa0\xa1\x3c\xc4\x27\x39\xfa\xc5\x05\x5a\xc0\x92\x32\x98\x84\xaf\xa6\xe8\x61\x8f\xd8\xdb\xa6\xc4\x02\xad\x14\x1e\x62\x1f\x24\x75\x41\x99\xd8\xdf\x07\x91\x3a\x6a\x71\x28\x6d\xfb\xf8\x61\xbf\x02\x22\xc9\x31\x0c\x4e\xa9\x85\xec\x1a\x48\x76\xb2\x72\xe5\xcb\xac\x33\x0f\x23\xbe\xf7\xd0\x3e\x55\xab\x68\x32\x35\x72\x71\x84\x2e\x48\x0c\x6e\xe7\x69\xf4\x40\x02\x8b\x84\xde\x1a\x33\xe4\x53\x5a\xd3\xdf\x61\xa2\x47\x0f\x91\x04\x91\xd1\x12\x6e\xa8\x67\xe6\x58\xca\x49\x35\xf1\x0c\xbb\xf9\x0a\xe5\xa2\xc1\x06\xd8\x0e\xb5\x64\x2d\xb6\x79\xe3\xd1\x30\xa8\xc4\x3c\xd0\x0a\x37\x0d\xd4\xfc\x08\x8f\xe5\x88\x89\xfe\x39\x98\xa8\xf8\x80\x78\x31\x1c\xd0\x93\x70\xe8\xb6\x06\xf6\x60\x86\x73\xc1\x3d\x09\xd9\x8d\xed\x45\x0b\x6d\x6f\xfa\xea\x40\x73\x92\xc0\x26\x7e\x27\x5c\x92\x1a\xb6\xbe\xad\xd7\x47\x93\x85\x81\x63\xa2\xad\x36\x90\xea\x01\x52\x59\x8a\xf5\x5a\xec\xdc\xb8\x36\x91\x78\xc7\x50\x8e\x36\x73\xe1\x98\x41\xc4\x28\xa6\x11\x92\xa1\x49\x19\x35\xac\x97\x74\xee\x45\x7a\xa5\x79\x26\x1e\x47\xf1\xc0\x80\x87\x64\x29\x17\x93\x6f\x59\xa5\x8d\xad\x84\xd2\x13\x5d\xb5\xf3\x28\x06\x43\x17\x89\xf0\xb6\x45\x65\x62\x02\x9c\x3d\xe4\x19\x29\x03\x35\x21\x97\x20\xe7\xc0\xda\x49\xf4\x5c\xca\x5c\x3f\xda\x4c\xd1\x49\x42\x2a\xd1\x9f\x13\xaf\x9e\x49\x62\xb7\x99\xb7\x6f\x6b\x93\x19\xc8\xbf\xcd\x74\xbd\x81\x2d\x66\x25\x94\x42\xc9\x3f\x9a\x3d\x3a\x4b\xa2\xba\x06\xce\xf1\x3d\xcc\xd1\xe9\x33\x95\xc2\x33\x7c\x73\xe5\xa8\xab\x5b\x52\x21\x5c\x55\xd1\xde\xde\x30\xd8\x10\xda\x71\xd5\x6e\x85\x37\x80\x16\x00\xfd\x3e\x5a\x9f\x46\xa3\x26\x68\x69\xec\xd0\x8c\x99\xfa\x39\xb6\x11\x8d\xf8\xe1\xfb\xc8\x5e\x82\x97\x10\x28\x5c\x96\x42\xa6\x6e\xa0\xa0\xac\x9c\x90\x52\x49\x94\x64\x0f\x29\xcf\x10\xa3\x15\x38\x8f\xc4\x57\xa1\x24\xda\x2d\x65\xa2\xfb\xa5\xd1\x31\xb6\x45\xf4\xce\x6d\xfe\x13\xec\x92\x4d\x7f\x82\xdd\x99\x91\x0c\xbf\x4d\xff\xf0\x0c\x05\x72\x28\xac\x4a\xf5\x28\x20\x45\x82\x4d\xb1\xca\xdc\x33\x47\x91\xd4\x9d\xee\xda\xd3\x94\xca\x68\xc7\x58\xe1\xf5\xfe\xd4\x01\xca\x4e\x05\x6c\xab\x0a\x18\x5a\x61\xa5\xcc\x1a\x28\xc8\x52\x6d\x53\xd7\x57\x26\x4f\x9b\xf6\x9c\x35\x84\x9d\x0c\xc9\x38\x61\x29\x1d\x7b\x44\x09\x6d\xd8\xa7\x56\x82\x44\x4a\x5a\xe3\x95\xae\x93\x98\x75\x1d\x33\x3a\xcf\x76\xce\x6b\xbd\x2b\xb7\x89\x45\xc9\x76\x9c\xa9\x27\x67\x0e\x28\xef\xf5\xc1\x8a\xd1\x43\x29\x54\x8d\xa9\x97\xae\x72\x4c\xbd\x77\xd5\x63\xfe\x7d\xb6\xfb\x67\x51\x91\x3d\x93\x7e\x2f\x3d\x19\xc7\x44\x50\x5a\x4d\xee\x21\x3f\x09\xa9\xb0\x5b\x37\x6c\x63\x79\x55\x7f\x33\x9a\xa1\x47\xec\x00\xc5\x90\x48\x37\x8e\x6b\x87\xab\xa4\x62\x30\xcb\x4d\x6d\x04\x52\xe3\x4c\xe7\xe8\xbb\xe1\x68\x56\xc2\x6c\x17\x43\xbc\x6e\xda\xbc\x99\x91\x33\x4f\xe4\x6b\xdd\x39\xbd\x2a\x6b\xb9\x29\x88\x8d\xeb\x3b\xd9\x01\xf3\x11\xfc\xd2\x4e\x9c\x87\xd1\x03\x09\x35\x6a\xa8\x1d\x0a\x3d\xa2\x2f\x2b\x08\x2a\x9e\xf5\x4f\x13\xc0\xc5\x84\xb2\x03\x04\xf4\xf8\x34\xc4\x1a\x06\x6b\xba\x01\xc3\x9a\x91\x40\x63\x86\x35\x03\x7c\x49\xbb\x73\x1e\x79\xb2\x48\xf5\x82\x38\x80\x59\x1f\x4e\x4c\x20\x57\x42\x35\xa8\xa9\x33\xe8\x95\x50\x9d\xf8\xc4\x0b\x33\x2e\x36\x9f\xc3\x4d\x32\x09\xd7\xbb\x05\x2d\x77\x62\xcf\x62\x80\xcb\x44\x42\xd1\x49\xa9\x78\xb9\x86\x4c\xa2\x28\x4a\x31\x26\xf2\x45\xf7\xd0\x7a\xcd\xb4\x29\x22\xe8\xa5\xff\x1d\xed\x12\x79\xcd\xa9\x1e\xae\x77\x37\xd8\x50\x9a\xed\x57\xa2\x8d\xda\x47\x9f\xa4\x1a\xf5\xbb\x9c\x6c\xf9\xf6\xba\x6e\xff\xf5\x2f\xc3\x2d\xd3\x70\x1d\xae\xdc\xda\x0c\x8c\xf6\xca\xb2\xa9\x65\x4b\x6a\xc7\x87\x3b\x3c\x15\x95\xe2\x4e\x9c\xcd\x50\x3c\x30\x56\x8b\x4e\x34\x4d\x14\x62\xd3\x38\xe3\x64\x22\xe9\x61\x7d\x46\xe8\xbb\xfb\x19\x6d\xc2\x51\xc7\x55\xc1\xa4\x8a\x43\x64\xd2\x39\x1e\x90\x7c\x31\x02\xea\xe3\x19\xfa\xf1\x54\x22\xd5\x7a\xa9\x3b\x37\x4a\x1f\x0f\x15\x64\x76\xde\x6a\xf4\x72\xc5\x55\x4e\xf2\x41\xda\x7d\x3a\xcb\xd4\x35\xbe\x27\xcc\xb3\x39\x13\x2f\xfe\xe2\x27\x4f\xa4\x67\x6b\x4a\xd2\x5e\xf9\x8f\x9f\x0c\xa3\xe9\x98\x90\x47\x60\x1a\x1b\x05\x49\x2c\xad\x88\x47\x88\xfa\x6f\xc2\x6c\x89\x2e\x8a\x8a\x2a\x79\x0e\x62\x53\x68\xe6\xa6\x63\xa4\x2e\x48\xeb\xd3\xa1\x07\x17\x42\x83\xce\xd1\xe9\xcf\x1d\x6f\x51\x83\xb9\x98\x74\xa2\xf2\xaf\xcf\xbb\x0f\x06\x23\xa5\x8e\x36\x0b\xe6\x02\x79\xd3\x8b\x1b\xba\x28\xa1\x0b\x0f\x43\x1f\xac\x58\x2f\xaa\x56\x42\x19\x87\x5c\xed\x4e\x8d\xac\x6c\x93\xcb\x27\x95\x9f\xed\x33\x9e\x89\xb1\x03\xd9\x42\x17\x69\xe1\x9a\xf8\x9c\x88\xd0\x9e\x46\x88\x16\x2e\xa2\xbd\xa9\xf8\x5b\x71\xf5\xe5\xc8\x43\xd7\x7f\x35\x8e\x71\x82\x77\x72\xe1\xb4\xba\xf0\x43\xd7\x63\xca\x64\xa1\x94\x93\x54\x42\x3e\x21\x23\xaa\x72\x34\xab\x7e\x7a\x13\xd2\xed\x25\x4d\xc9\x04\xb0\x64\x6a\x22\x9a\x4c\x22\xe8\x9b\x8a\xf7\xb9\x1a\x3e\x13\xe8\x13\xf0\x79\x62\x77\xb7\xea\x5f\xd5\xc3\xd8\x3a\x0d\x95\x2f\x9f\x1d\xb1\x99\x0f\x4c\x0d\x07\x2b\x25\xf2\xce\xb3\x58\x9a\x6c\xd7\x08\x96\x72\x93\xed\x16\xd2\x67\x57\x70\xd6\xa4\x26\xeb\x6e\x2d\x8b\x1f\xf0\xbd\xac\x56\x02\xb6\x51\x16\x8f\x93\x6c\xaa\x3a\xe1\x5b\x15\x58\x56\x2e\x09\x21\x6e\x28\xb3\x85\x69\x06\xb2\xde\x21\x35\x6a\x06\x25\x22\xfc\xb3\x16\xe1\x0d\x26\x95\xb0\xfb\x64\x65\x0e\x8f\x63\x9b\xa3\x36\xcd\x00\xe1\x52\x72\x35\x73\xb3\x09\xe8\x61\x58\x43\x3b\xd3\x33\xd7\x8f\x6e\xfa\x79\x67\x44\xc9\xa5\xbe\xb5\x4b\x54\xb2\x66\x7f\xd9\x48\xda\x60\x87\x4e\xcc\x89\x73\xe7\x44\xc5\xe6\x89\xb5\xcf\xac\x2d\x05\x8d\xb5\x57\xda\xb2\xc6\xec\x3d\x57\xa5\xec\x98\x7b\x40\xfc\xaa\x75\x97\x7f\xc6\xc3\x8e\xa6\x78\x64\xa6\x39\x39\xcd\x30\x29\x9b\x4d\x38\x1f\x9d\x5d\x0d\x03\x0a\x2e\x79\xf4\x91\x80\xad\x2d\xb3\xe0\x5d\x51\x00\x94\xbe\x01\xa6\x24\xde\x96\xa8\xeb\x80\x3e\xe1\xa8\x52\x26\x1c\xae\x11\x65\x08\x7e\xed\x70\x65\x0b\xb2\x3c\xbe\x7d\xde\xcc\xed\x00\x35\xb3\x81\xd9\x8c\x04\x05\x55\xfa\x52\xbc\xed\xd6\xa0\xe6\xad\xcf\x50\x48\x67\xc9\x04\x6f\xf2\xe6\x9d\x06\xba\x53\x81\x1a\x61\xa1\x29\x2e\xa9\xd0\xce\x0a\xa4\xb3\x65\xca\x0e\x09\xf3\xbd\x6f\x43\x26\xb5\xbb\xf6\x9b\xf4\x31\x49\x90\x3d\xc5\x2f\x93\x6b\xa9\x23\xc8\xc9\x08\xf7\x97\x6c\xb2\xfc\xe1\x1c\xb7\xd1\xdf\xeb\x2b\x5b\x67\x2a\xbf\x7b\x43\x68\xe3\x09\x52\xa1\xdf\x5e\x0e\x86\x82\xbf\x07\x72\x7a\xcf\xb8\xdc\xd7\x6c\xe4\x3d\x35\x06\xdd\xa9\xb5\xe8\x4e\x83\x5a\x50\x6d\xc7\xe9\xdd\xc1\xa9\xb2\x55\x31\x7d\x3f\x50\xdf\xfb\x59\x58\x1e\x99\x4a\x9c\xb7\x49\x1c\x74\x43\x51\x54\x51\xaf\xe6\x69\xc6\xc7\xdb\xbf\x0a\x24\x5c\x24\xda\xc1\x49\xc6\xa0\x4f\x85\xc4\x87\x23\x95\x14\x78\xfd\x7d\xab\x4e\xbc\x3d\x08\xbd\x1d\xf7\x9b\xbb\x4f\x07\xc3\x26\xcd\xd1\xa1\x08\x4b\x22\xec\x15\x78\x47\x43\xb6\x6f\x0a\x2d\xaf\x69\x8f\xde\x93\x19\x29\x8f\x11\x0e\xc7\x8d\x3e\x5e\x3e\x12\xbe\xf8\xfe\x22\xe2\x05\x12\x73\x0b\xe3\x30\x41\x09\xfa\xee\x25\x2b\x41\x9f\xe3\xc5\xc5\x07\x34\x26\x31\xe9\x70\xdb\xef\x20\x36\x7d\x68\x36\x23\x39\x7b\x45\xfa\x7e\x5f\x44\x95\xda\x0e\x91\x75\x02\x8d\x23\xb1\x2c\x1b\x66\xe4\x2d\xeb\xec\x99\xb8\x57\x61\x38\x2a\xb2\x38\x7c\x8d\x95\x0f\x19\x1d\x19\x85\x93\x21\xa3\xdf\x3f\x34\x74\x5d\x6f\x70\x45\xc2\xc3\x62\xf9\x88\x90\xfb\x6d\x34\xce\x93\x10\xa8\xa8\x0e\x4b\xa6\x4a\xa4\xd2\x79\x2e\x56\x19\x9f\xfc\xc3\x60\x71\x03\xcb\x64\xf8\x60\x3a\x47\x4f\x29\x0d\x73\xb8\x5a\x72\xfa\xbe\x6e\xaa\x43\x4d\x37\xa7\x1a\x9f\xad\x70\x7d\xaf\x8d\x94\xbe\x12\x00\x85\x0e\xbb\x59\x0b\x9d\x2c\xed\x7b\x15\x56\x17\x4c\xfe\x21\x0c\x06\x1b\xee\x4b\x67\xa9\xc3\xb5\xe1\x14\x64\xec\xb3\x3c\x72\x99\x62\xab\x77\x3c\x4a\x06\x03\x4d\xe3\x64\x6d\x94\xa8\x2d\x34\x29\x22\x2a\x68\x1b\x91\x69\x97\x5f\x1b\x85\x72\xb4\x40\x31\x06\x06\x55\x80\x84\xb7\x5b\xe5\x28\xd9\xd3\x31\x6b\xeb\x48\x10\x5c\x9a\x68\xfe\x79\xdf\x90\x5b\xd2\x36\x7f\x05\xdb\x74\x5d\xea\x57\xc6\x1e\x39\x99\xa3\x59\x11\x94\x01\x85\x9c\x19\xac\x08\x1a\x62\x63\x40\x62\x5d\x0b\x3a\x54\x30\x34\xc6\xd6\xce\x14\x21\x44\xc7\xc2\x73\xb5\x29\x1e\xbb\x4d\x0d\xc3\x37\x9e\x8f\xf3\x2d\x43\xab\x91\x00\x82\xe6\x13\x33\xd5\x20\xda\xba\x43\x37\xfe\x03\x59\xe7\xb3\x64\x00\xd5\xce\x06\x41\xf0\xa2\x02\x0f\x16\xa7\xd6\x01\x55\x27\xb5\x04\x3a\x67\x7e\xec\x45\x85\xe2\xf8\x4a\x1e\x6f\x5c\x80\xad\x19\xf5\x23\x36\x26\x88\xe9\x0b\x8f\x00\x0a\xcb\xa5\xba\x02\xa1\xda\xa1\x56\xdd\xa2\x20\x9c\xdb\x3d\x54\x87\x99\xd1\x37\x59\x1a\x97\xa5\x0c\xad\x92\x31\x94\x10\xd8\x40\x99\xf2\x88\x2c\xea\x33\x00\x46\x6b\xc8\xab\x17\x9c\xb8\x43\xc4\x56\xa6\xda\xdb\x42\xa8\x6f\x3c\xcd\xf0\x34\x4b\xa8\x7d\x19\x22\x8f\xe9\x2a\xfc\x84\x87\xe8\x94\x06\x7e\x6f\xe3\xb3\xea\xd2\x14\xf1\xd2\x77\x2e\xcd\xe1\x45\x7d\xc0\xb0\x2f\x00\x33\x91\x23\x7b\xcc\x35\xc9\x64\x3d\xee\x65\x55\x45\xe7\xbc\xfe\x79\x19\xea\x12\x25\xc7\xbc\x77\xf6\x46\x16\x99\x0a\xf1\x55\xe9\x02\xcb\x23\xd7\x11\xa7\xe2\x73\xc8\x3a\xc2\x2e\x3c\x68\xa4\xee\x39\x52\xcb\xdb\x53\xeb\x1e\x1c\xa5\xe2\x7d\x15\x7e\x1e\x22\x20\x74\x79\x41\x6b\x4e\x4a\xd0\x37\x50\xf1\x96\x54\x55\xb0\x0b\x18\x7c\x48\x8d\x5a\x60\x6b\x5b\xde\x61\x8e\x4c\xf0\x62\x05\x65\x57\xc5\x52\xd3\x1f\x66\xfa\x66\x40\x38\xb3\x3b\xd6\x68\x14\x7d\x6d\xbd\xe6\x9d\xad\x27\x1f\x12\xd1\x11\x0e\x68\xcd\xf3\x60\xcf\xa3\x7e\xc1\xe0\xe3\x42\xaf\x0c\x9a\xe0\xdc\xa5\x97\x58\xf3\xfa\xa9\x30\x99\x91\x6d\x9e\xb0\x59\xb2\x22\xf6\xcd\xae\xb0\x9f\x50\x1e\x42\x2e\xee\x23\x2f\xc3\xa6\xc7\x03\x97\xf3\x68\x38\x5c\x94\xaa\x29\x4a\xc4\xf7\x93\x11\xa4\xb0\x54\x28\x0a\x22\x45\x01\xcd\xff\x6f\x71\xa4\x83\xca\x8b\x22\x59\xfc\xad\xc1\x24\x9b\xad\xf9\xbf\x8b\x28\xf5\x05\xaa\xc3\x41\x25\x63\xa6\x64\x13\xd1\xce\x66\x19\x29\x09\xd3\xf9\x4b\x88\x5b\xa4\x69\xfa\xb9\x94\x44\x9f\x5f\xfb\x23\x22\x18\x4e\x58\x39\x26\xb9\x51\x3f\xc7\x47\x33\xae\xfa\x24\xa7\x2f\x02\xd6\xac\x31\x0e\xcb\xa2\x2b\xde\x43\x5e\x0e\xbe\x18\x7b\xe4\x4b\x12\x86\x3d\x19\x7a\x5c\x80\xc3\xb2\x2e\x0a\x71\x5c\x7b\xbb\xbd\xbe\x86\xc8\xdf\xeb\xdd\x58\x44\xbb\x02\x0e\xa3\x71\x90\x90\xe1\x5f\x8c\x75\xf0\x15\x32\xfc\x0f\x8d\x42\xb8\x3e\x6f\x26\xac\xf4\x05\xc5\x1f\xbe\x22\xee\x1e\x1b\x8c\xb0\xe6\x78\xc6\x97\x8d\x2c\x7c\xaf\xf7\x1e\x4e\xec\x88\x9d\xff\x4d\x75\x27\x78\xfd\x5b\xf6\xf1\xac\xb3\x37\x22\x40\x7b\x7a\x96\xfb\xfa\x88\xe3\x82\x74\xa8\xab\xe8\x6f\x19\x5e\xe7\x20\xec\x61\x45\xf9\xe8\x00\xc7\xb7\xfd\x25\x21\x95\xc7\xf8\xa1\x09\x01\x3b\xce\x15\xcd\x9c\x31\xbb\x2c\x4d\xc9\x74\xe2\x70\x19\xb6\x2f\x7d\xea\x72\xf7\x22\xdf\xe8\x00\x8a\xd7\xb4\xf3\xef\xee\x1d\x6e\x2c\x09\x20\xef\x2c\x19\x77\x2a\x43\x37\xfb\x26\xbc\x29\x13\x5d\xe1\xa6\x01\x86\x5e\xe2\x05\x77\xaf\xc4\xb3\x3d\xe4\x95\x7d\xa6\xba\x99\xb0\xc4\xa5\x88\x59\x91\x17\xdd\x97\x94\xd9\xea\x53\xb7\x74\x9b\xc7\xe4\x4e\xdd\xa8\x3a\xf7\x49\xef\x2d\xc7\x9f\x71\xd3\xc8\x62\xa9\x65\x78\x92\x40\xba\x7b\x83\x4e\x30\x01\x9e\xf7\xf9\xcd\x35\xa1\x73\xf4\xd1\x72\x62\x84\xd0\x9f\x02\xd7\x3f\x59\x82\x6d\xaf\x0a\xbf\x40\x1f\x93\x67\x4d\xe5\xed\x89\x65\xa9\x8b\x1e\x75\xf3\xef\x79\xfa\x2a\xe1\xe0\x06\x50\xe4\xdf\x49\xc9\xe4\xfd\x0d\x5f\x9f\xac\x8a\xcf\x00\xe9\xfe\x3b\x85\xe8\xdf\xcd\xe6\x75\x69\x25\xd7\x7c\xe4\x09\xee\xd1\x1b\xb5\x53\x40\xa7\x31\x9c\x3d\x6e\xd8\x4e\x13\x27\xbb\x9b\xfd\x08\xee\xfd\xb1\x3c\xc5\x53\xa7\xf6\xcb\x70\x2e\xba\xcf\x7b\x8c\xb6\x1f\xfb\xa5\xf5\xe9\x87\xb0\x50\xcc\x3b\x1d\x63\xc8\xac\x87\xf8\x7b\x0a\x71\xbf\x40\x38\x58\xb0\xf2\x08\x72\x6a\x25\xe7\xea\xe9\x75\x9d\x6f\xaa\xcb\xe4\x30\x25\x9d\xbf\xfb\x36\xad\xb4\x7b\x9a\x4d\x0a\xdc\xf8\x34\x4c\xa1\x13\x6a\xd3\xf0\xda\x5f\x6e\x6f\x53\x26\xdc\xc5\xcf\x57\x9c\xa6\x33\xa9\x11\x65\xfa\xfe\xfd\x05\x20\x73\xec\xa3\x2f\xfa\x36\x32\xb1\x5d\x51\x95\x77\x8b\xd3\xe4\x89\x8b\x63\xfd\xe9\xcf\x07\x88\x72\x96\x51\xad\xb1\x3a\xb4\xcd\x7a\x0a\xed\x41\xad\xf0\x20\x66\x5a\x25\x26\x60\xa3\x6c\x44\xef\x37\x31\x6f\xaf\xf8\x6a\x81\x9b\xd1\xf2\xbc\xf0\xe6\xf0\x43\x42\xab\x99\xf9\x16\xb8\x19\x99\xaf\x59\xfb\x07\x28\xea\xe0\x73\x90\xde\x0e\x3e\x87\xa8\xf1\xf0\x50\xc0\x40\x81\x70\x92\x1a\x83\x25\xc2\xda\xcc\xc4\x65\x7f\x2e\x4f\x5d\x5e\x12\xde\xa3\xbd\xc2\xdc\x9c\x94\x82\xd2\xbb\x42\x5b\xad\x30\x16\x5e\xa3\x1d\x5f\x64\xd2\x4f\x3a\x12\x89\x34\x72\x9e\x98\x84\x97\x69\x8f\xde\x30\x28\xf1\x76\x8c\xfa\x14\x71\x1e\x64\xad\x7b\xdd\x79\x36\x2a\x2a\xa9\xa7\x47\xc9\x4d\xfa\xf9\xde\x62\xd4\xff\x3f\x90\x15\xd2\xea\xdb\x3d\x2f\xeb\x9d\x0b\x51\xf2\xa7\x36\x0f\xe4\xa6\x28\x44\x67\xef\x9e\x3e\xd1\x3a\xf3\x43\x2e\x56\x95\xf6\x9b\x5a\x2c\xd7\x7b\xdd\xba\x3b\x47\x7f\x1d\x3c\x67\xdb\x1f\x22\xd3\xb3\xc8\x8f\x23\xff\x84\x1b\x8e\x3a\xee\x64\x6e\x8e\x72\xef\xd6\xb3\xbb\x80\x3d\x27\x99\xb9\xd7\x40\xd5\x0a\x84\x77\x45\xab\x8d\xcb\x6e\x55\xd1\x0f\xca\x24\x48\xe4\x8c\xfe\x99\xce\xd8\x1b\xc3\x41\x4f\x69\x80\x6c\x03\x63\x7b\x5f\x43\x0c\xe2\xf3\x3b\x8e\x45\x11\x72\xdf\xdf\x33\x27\x3d\x73\xfd\x17\x29\x3c\x3d\xee\x86\x70\xdc\x71\xe5\xc6\x88\xd5\x82\xb8\xec\xda\xd5\xa5\x39\xc9\xdd\x03\x95\xba\x60\xf0\x37\x40\xd0\x05\x3a\xd7\x67\x8b\xcf\xab\xfc\x6d\x16\x19\x40\xce\xcf\x65\x08\x40\xfa\x47\x3a\x52\x80\xb2\x90\xc2\xdf\xe0\xc8\xc0\xf1\xad\xf3\x24\x90\xe4\x4f\x69\x64\xe6\x17\x74\x08\xd0\x4b\xff\x28\x86\x0b\x6a\x69\x56\xef\xdf\xfc\x7b\xd9\x1d\xc4\x92\xbf\x5b\x21\x67\x27\xbf\x9d\x57\x61\xab\x24\x8d\xb2\x3f\x2d\x11\x4f\xcc\x6f\x3a\x0e\x6c\x1c\x2b\x03\xca\x73\x3b\xac\x0e\xe5\xa4\xbe\xaf\xe2\xdf\x42\x91\xe5\x60\x5a\x27\x38\xb7\x0d\xc8\xad\x90\xe3\x0d\x4c\x46\xcc\x76\xb1\xee\xe6\x07\x70\xd8\x89\x00\xa9\x41\x2a\x52\xbf\xf7\x94\x84\x7b\x53\xab\x63\xd4\xf9\x4e\xac\xd7\x7e\x40\x3e\x03\x17\x15\xb3\x7b\x68\xe7\xc3\xbd\x93\x68\x5b\x30\x53\xf4\xe4\x09\x6a\x70\x4d\x8a\xc9\xe9\x33\x59\x1c\x2b\x8c\x94\x7b\xb1\xa9\x7b\xbf\xab\x42\x93\xbf\x3c\x73\x6a\x54\xc2\xa7\x93\xff\x0d\x00\x00\xff\xff\xa2\x57\x9d\xaa\x07\x70\x00\x00" func lockedtokensCdcBytes() ([]byte, error) { @@ -454,6 +496,7 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ + "ENVersionBeacon.cdc": enversionbeaconCdc, "FlowContractAudits.cdc": flowcontractauditsCdc, "FlowFees.cdc": flowfeesCdc, "FlowIDTableStaking.cdc": flowidtablestakingCdc, @@ -462,6 +505,7 @@ var _bindata = map[string]func() (*asset, error){ "FlowStakingCollection.cdc": flowstakingcollectionCdc, "FlowStorageFees.cdc": flowstoragefeesCdc, "FlowToken.cdc": flowtokenCdc, + "IENVersionBeacon.cdc": ienversionbeaconCdc, "LockedTokens.cdc": lockedtokensCdc, "StakingProxy.cdc": stakingproxyCdc, "epochs/FlowClusterQC.cdc": epochsFlowclusterqcCdc, @@ -514,6 +558,7 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ + "ENVersionBeacon.cdc": {enversionbeaconCdc, map[string]*bintree{}}, "FlowContractAudits.cdc": {flowcontractauditsCdc, map[string]*bintree{}}, "FlowFees.cdc": {flowfeesCdc, map[string]*bintree{}}, "FlowIDTableStaking.cdc": {flowidtablestakingCdc, map[string]*bintree{}}, @@ -522,6 +567,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "FlowStakingCollection.cdc": {flowstakingcollectionCdc, map[string]*bintree{}}, "FlowStorageFees.cdc": {flowstoragefeesCdc, map[string]*bintree{}}, "FlowToken.cdc": {flowtokenCdc, map[string]*bintree{}}, + "IENVersionBeacon.cdc": {ienversionbeaconCdc, map[string]*bintree{}}, "LockedTokens.cdc": {lockedtokensCdc, map[string]*bintree{}}, "StakingProxy.cdc": {stakingproxyCdc, map[string]*bintree{}}, "epochs": {nil, map[string]*bintree{ From f065aa617ddb0d05b0d0881ef67cd85bc2b9267b Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Wed, 7 Sep 2022 17:04:19 -0500 Subject: [PATCH 03/21] Updated ExecutionNodeVersionBeacon based on feedback on Interface --- contracts/ENVersionBeacon.cdc | 149 ---------------- contracts/ExecutionNodeVersionBeacon.cdc | 215 +++++++++++++++++++++++ 2 files changed, 215 insertions(+), 149 deletions(-) delete mode 100644 contracts/ENVersionBeacon.cdc create mode 100644 contracts/ExecutionNodeVersionBeacon.cdc diff --git a/contracts/ENVersionBeacon.cdc b/contracts/ENVersionBeacon.cdc deleted file mode 100644 index 125e08889..000000000 --- a/contracts/ENVersionBeacon.cdc +++ /dev/null @@ -1,149 +0,0 @@ -/// This contract is used to defined block height and software version boundaries -/// for the software run by Execution Nodes. -pub contract ENVersionBeacon { - - /// Struct representing Execution Node software version - /// along with helper functions - pub struct ENVersion { - pub let major: UInt8 - pub let minor: UInt8 - pub let patch: UInt8 - - /// Returns true if this version is the current minimum version - pub fun isSatisfactoryENVersion(version: ENVersion): Bool { - return self.equalTo(ENVersionBeacon.getCurrentMinimumENVersion()) - } - - /// Returns true if ENVersion is greater than - /// passed ENVersion and false otherwise - pub fun greaterThan(_ other: ENVersion): Bool { - if (self.major > other.major) { - return true - } else if (self.major == other.major && self.minor > other.minor) { - return true - } else if (self.major == other.major && self.minor == other.minor && self.patch > other.patch) { - return true - } else { - return false - } - } - - /// Returns true if ENVersion is greater than or - /// equal to passed ENVersion and false otherwise - pub fun greaterThanOrEqualTo(_ other: ENVersion): Bool { - return self.greaterThan(other) || self.equalTo(other) - } - - /// Returns true if ENVersion is less than - /// passed ENVersion and false otherwise - pub fun lessThan(_ other: ENVersion): Bool { - if self.major < other.major { - return true - } else if self.major == other.major && self.minor < other.minor { - return true - } else if self.major == other.major && self.minor == other.minor && self.patch < other.patch { - return true - } else { - return false - } - } - - /// Returns true if ENVersion is less than or - /// equal to passed ENVersion and false otherwise - pub fun lessThanOrEqualTo(_ other: ENVersion): Bool { - return self.lessThan(other) || self.equalTo(other) - } - - /// Returns true if ENVersion is equal to passed - /// ENVersion and false otherwise - pub fun equalTo(_ other: ENVersion): Bool { - return self.major == other.major && self.minor == other.minor && self.patch == other.patch - } - - /// Returns version in Semver format (e.g. v..) - /// as a String - pub fun toString(): String { - return "v".concat( - self.major.toString() - .concat(".") - .concat( - self.minor.toString() - .concat(".") - .concat( - self.patch.toString() - ) - ) - ) - } - - init(major: UInt8, minor: UInt8, patch: UInt8) { - self.major = major - self.minor = minor - self.patch = patch - } - } - - /// Event emitted any time a new version is added to the version table - pub event ENVersionTableUpdated(height: UInt64, version: ENVersion) - pub event ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: UInt64) - - /// Canonical storage path for ENVersionKeeper - pub let ENVersionKeeperStoragePath: StoragePath - - /// Table dictating minimum version - pub let versionTable: {UFix64: [ENVersion]} - - /* - * TODO: - * - Establish admin resource that can update version table - * - Code conditions around updating that table (within 1000 blocks from current height & version increments) - */ - /// Admin interface that manages the Execution Node versioning - /// maintained in this contract - pub interface ENVersionAdmin { - access(self) versionCooldownPeriod: UInt64 - pub fun updateMinimumVersion() { - // pre-conditions around blockheight threshold - } - - pub fun getVersionCooldownPeriod(): UInt64 { - } - } - - /// Admin resource that manages the Execution Node versioning - /// maintained in this contract - pub resource ENVersionKeeper: ENVersionAdmin { - access(self) versionCooldownPeriod: UInt64 - pub fun updateMinimumVersion() { - } - pub fun getVersionCooldownPeriod(): UInt64 { - return self.versionCooldownPeriod - } - access(self) fun setVersionCooldownPeriod() { - } - - } - - /// Function that returns that minimum current version based on the current - /// block height and version table mapping - pub fun getCurrentMinimumENVersion(): ENVersion { - // TODO: - // - Find block height in versionTable that is closest to but less than current block height - // - Check the version listed as the value at that block height - let currentHeight = getCurrentBlock().height - } - - /// Checks whether given version was current at the given block height - pub fun isMinimumENVersion(blockHeight: UInt64, version: ENVersion): Bool { - // TODO: - // - Find block range where given blockHeight fits - // - See if given version is greater than version at that time - } - - init() { - self.versionTable = {} - self.ENVersionKeeperStoragePath = /storage/ENVersionKeeper - - self.account.save(<-create ENVersionAdmin(), to: self.ENVersionKeeperStoragePath) - } -} diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc new file mode 100644 index 000000000..5210ac661 --- /dev/null +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -0,0 +1,215 @@ +/// This contract is used to defined block height and software version boundaries +/// for the software run by Execution Nodes. +pub contract ExecutionNodeVersionBeacon { + + pub enum ExecutionNodeVersionUpdateAction: UInt8 { + pub case added + pub case deleted + pub case amended + } + + /// Struct representing software version as Semantic Version + /// along with helper functions + /// For reference, see https://semver.org/ + pub struct Semver { + /// Components defining a semantic version + pub let major: UInt8 + pub let minor: UInt8 + pub let patch: UInt8 + pub let preRelease: String? + + /// Oldest compatitible version with this version + /// + /// Defining this can help with logic around updating before a target block is reached + /// Such behavior may be desireable in the event breaking changes are released + /// between versions + pub let oldestCompatibleVersion: ENVersion + + init(major: UInt8, minor: UInt8, patch: UInt8, preRelease: String?, oldestCompatibleVersion: Semver) { + self.major = major + self.minor = minor + self.patch = patch + self.preRelease = preRelease + self.oldestCompatibleVersion = oldestCompatibleVersion + } + + /// Returns version in Semver format (e.g. v..-) + /// as a String + pub fun toString(): String { + let semverCoreString = self.major.toString() + .concat(".") + .concat( + self.minor.toString() + ).concat(".") + .concat( + self.patch.toString() + ) + // Concat pre-release if it exists & return + if preRelease != nil { + return semverCoreString.concat("-").concat(preRelease!) + } + + return semverCoreString + } + + /* Custom Comparators */ + + /// Returns true if Semver core is greater than + /// passed Semver core and false otherwise + pub fun coreGreaterThan(_ other: Semver): Bool { + if (self.major > other.major) { + return true + } else if (self.major == other.major && self.minor > other.minor) { + return true + } else if (self.major == other.major && self.minor == other.minor && self.patch > other.patch) { + return true + } else { + return false + } + } + + /// Returns true if Semver core is greater than or + /// equal to passed Semver core and false otherwise + pub fun coreGreaterThanOrEqualTo(_ other: Semver): Bool { + return self.greaterThan(other) || self.equalTo(other) + } + + /// Returns true if Semver core is less than + /// passed Semver core and false otherwise + pub fun coreLessThan(_ other: Semver): Bool { + if self.major < other.major { + return true + } else if self.major == other.major && self.minor < other.minor { + return true + } else if self.major == other.major && self.minor == other.minor && self.patch < other.patch { + return true + } else { + return false + } + } + + /// Returns true if Semver core is less than or + /// equal to passed Semver core and false otherwise + pub fun coreLessThanOrEqualTo(_ other: Semver): Bool { + return self.lessThan(other) || self.equalTo(other) + } + + /// Returns true if Semver is equal to passed + /// Semver core and false otherwise + pub fun coreEqualTo(_ other: Semver): Bool { + return self.major == other.major && self.minor == other.minor && self.patch == other.patch + } + + /// Returns true if Semver is *exactly* equal to passed + /// Semver and false otherwise + pub fun strictEqualTo(_ other: Semver): Bool { + return self.coreEqualTo(other) && self.preRelease == other.preRelease + } + + } + + /// Event emitted any time a new version is added to the version table + pub event ExecutionNodeVersionTableUpdated(height: UInt64, version: Semver) + pub event ExecutionNodeVersionUpdateBufferUpdated(newVersionUpdateBuffer: UInt64) + + /// Canonical storage path for ENVersionKeeper + pub let ENVersionAdminStoragePath: StoragePath + + /// Table dictating minimum version - {blockHeight: ENVersion} + access(contract) let versionTable: {UInt64: Semver} + + /// Number of blocks between height at updating and target height for version rollover + access(contract) let versionUpdateBuffer: UInt64 + + /* + * TODO: + * - Consider changing event names & remove enums + */ + + /// Admin interface that manages the Execution Node versioning + /// maintained in this contract + pub resource interface ExecutionNodeVersionAdmin { + + /// Update the minimum version to take effect at the given block height + pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { + pre { + targetblockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer: "Target block height occurs too soon to update EN version" + } + } + + /// Deletes the entry in versionTable at the passed block height + /// Could be helpful in event of rollback + pub fun deleteBlockTargetVersionMapping(targetblockHeight: UInt64, version: ENVersion) { + pre { + targetblockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer: "Target block height occurs too soon to update EN version" + } + } + + pub fun updateVersionUpdateBuffer(updateBufferInBlocks: UInt64) { + post { + self.versionUpdateBuffer == updateBufferInBlocks: "Update buffer was not properly changed! Reverted." + } + } + } + + /// Admin resource that manages the Execution Node versioning + /// maintained in this contract + pub resource ExecutionNodeVersionKeeper: ExecutionNodeVersionAdmin { + pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { + // TODO - logic + emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.added) + } + + pub fun deleteBlockTargetVersionMapping(blockHeight: UInt64, version: ENVersion) { + // TODO - logic + emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.deleted) + } + + pub fun updateVersionUpdateBuffer(updateBufferInBlocks: UInt64) { + // TODO - logic + emit ExecutionNodeUpdateBufferUpdated(newVersionUpdateBuffer: updateBufferInBlocks) + } + } + + /// Returns the current updateBuffer period within which Execution Nodes + /// can be assured the version will not change + pub fun getVersionUpdateBuffer(): UInt64 { + return self.versionUpdateBuffer + } + + /// Returns a copy of the full historical versionTable + pub fun getVersionTable(): {UInt64: Semver} { + return self.versionTable + } + + /// Function that returns that minimum current version based on the current + /// block height and version table mapping + pub fun getCurrentMinimumExecutionNodeVersion(): Semver { + // TODO: + // - Find block height in versionTable that is closest to but less than current block height + // - Check the version listed as the value at that block height + let currentHeight = getCurrentBlock().height + } + + /// Checks whether given version was compatible at the given block height + pub fun isCompatibleENVersion(blockHeight: UInt64, version: Semver): Bool { + // TODO: + // - Find block range where given blockHeight fits + // - See if given version is greater than version at that time + } + + /// Returns an array containing the block number at which to update and + /// associated version boundary + pub fun getNextVersionBoundaryPair(): [UInt64, Semver] { + if getCurrentBlock().height > + } + + init() { + self.versionTable = {} + self.versionUpdateBuffer = 1000 + self.ENVersionKeeperStoragePath = /storage/ENVersionKeeper + + self.account.save(<-create ENVersionAdmin(), to: self.ENVersionKeeperStoragePath) + } +} + \ No newline at end of file From 5f2a1c6b5befc5276f52a1f10c8bc8e80b98d6f0 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Thu, 8 Sep 2022 18:48:45 -0500 Subject: [PATCH 04/21] Completed implementation of ExecutionNodeVersionBeacon against planned interface. Needs testing --- contracts/ExecutionNodeVersionBeacon.cdc | 281 +++++++++++++++++---- contracts/IENVersionBeacon.cdc | 119 --------- lib/go/contracts/internal/assets/assets.go | 45 +--- 3 files changed, 240 insertions(+), 205 deletions(-) delete mode 100644 contracts/IENVersionBeacon.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 5210ac661..8755b3a31 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -2,12 +2,6 @@ /// for the software run by Execution Nodes. pub contract ExecutionNodeVersionBeacon { - pub enum ExecutionNodeVersionUpdateAction: UInt8 { - pub case added - pub case deleted - pub case amended - } - /// Struct representing software version as Semantic Version /// along with helper functions /// For reference, see https://semver.org/ @@ -23,9 +17,9 @@ pub contract ExecutionNodeVersionBeacon { /// Defining this can help with logic around updating before a target block is reached /// Such behavior may be desireable in the event breaking changes are released /// between versions - pub let oldestCompatibleVersion: ENVersion + pub let oldestCompatibleVersion: Semver? - init(major: UInt8, minor: UInt8, patch: UInt8, preRelease: String?, oldestCompatibleVersion: Semver) { + init(major: UInt8, minor: UInt8, patch: UInt8, preRelease: String?, oldestCompatibleVersion: Semver?) { self.major = major self.minor = minor self.patch = patch @@ -45,8 +39,8 @@ pub contract ExecutionNodeVersionBeacon { self.patch.toString() ) // Concat pre-release if it exists & return - if preRelease != nil { - return semverCoreString.concat("-").concat(preRelease!) + if self.preRelease != nil { + return semverCoreString.concat("-").concat(self.preRelease!) } return semverCoreString @@ -71,7 +65,7 @@ pub contract ExecutionNodeVersionBeacon { /// Returns true if Semver core is greater than or /// equal to passed Semver core and false otherwise pub fun coreGreaterThanOrEqualTo(_ other: Semver): Bool { - return self.greaterThan(other) || self.equalTo(other) + return self.coreGreaterThan(other) || self.coreEqualTo(other) } /// Returns true if Semver core is less than @@ -91,7 +85,7 @@ pub contract ExecutionNodeVersionBeacon { /// Returns true if Semver core is less than or /// equal to passed Semver core and false otherwise pub fun coreLessThanOrEqualTo(_ other: Semver): Bool { - return self.lessThan(other) || self.equalTo(other) + return self.coreLessThan(other) || self.coreEqualTo(other) } /// Returns true if Semver is equal to passed @@ -108,66 +102,144 @@ pub contract ExecutionNodeVersionBeacon { } - /// Event emitted any time a new version is added to the version table - pub event ExecutionNodeVersionTableUpdated(height: UInt64, version: Semver) + /// Event emitted any time a change is made to versionTable + pub event ExecutionNodeVersionTableAddition(height: UInt64, version: Semver) + pub event ExecutionNodeVersionTableDeletion(height: UInt64, version: Semver) + /// Event emitted any time the version update buffer period is updated pub event ExecutionNodeVersionUpdateBufferUpdated(newVersionUpdateBuffer: UInt64) - /// Canonical storage path for ENVersionKeeper - pub let ENVersionAdminStoragePath: StoragePath + /// Canonical storage path for ExecutionNodeVersionKeeper + pub let ExecutionNodeVersionKeeperStoragePath: StoragePath - /// Table dictating minimum version - {blockHeight: ENVersion} + /// Table dictating minimum version - {blockHeight: Semver} + /// Should be ordered by block height (index) which is + /// enforced by insertion/deletion access(contract) let versionTable: {UInt64: Semver} /// Number of blocks between height at updating and target height for version rollover - access(contract) let versionUpdateBuffer: UInt64 + access(contract) var versionUpdateBuffer: UInt64 + /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries + access(contract) let versionUpdateBufferVariance: UFix64 - /* - * TODO: - * - Consider changing event names & remove enums - */ + /// Cache of the last block boundary in the versionTable mapping + /// Updated any time a change to the version table is made + access(contract) var lastBlockBoundary: UInt64 /// Admin interface that manages the Execution Node versioning /// maintained in this contract pub resource interface ExecutionNodeVersionAdmin { /// Update the minimum version to take effect at the given block height - pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { + pub fun addMinimumVersion(targetBlockHeight: UInt64, newVersion: Semver) { pre { - targetblockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer: "Target block height occurs too soon to update EN version" + targetBlockHeight > ExecutionNodeVersionBeacon.lastBlockBoundary + : "Attempting to insert mapping out of order. Block Boundary insertions must be inserted in ascending order. Check versionTable & try again." + targetBlockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer + : "Target block height occurs too soon to update EN version." } } - /// Deletes the entry in versionTable at the passed block height - /// Could be helpful in event of rollback - pub fun deleteBlockTargetVersionMapping(targetblockHeight: UInt64, version: ENVersion) { + /// Deletes the last entry in versionTable which defines an upcoming version boundary + /// Could be helpful in case rollback is needed + pub fun deleteLastVersionMapping(): Semver { pre { - targetblockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer: "Target block height occurs too soon to update EN version" + ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." } } - pub fun updateVersionUpdateBuffer(updateBufferInBlocks: UInt64) { + /// Updates the number of blocks that must buffer updates to the versionTable + /// and the block number the version is targetting + pub fun updateVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { post { - self.versionUpdateBuffer == updateBufferInBlocks: "Update buffer was not properly changed! Reverted." + ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." } } + + /// Assigns cached ExecutionNodeVersionBeacon.lastBlockBoundary to the last key in + /// the versionTable if mappings are defined or 0 if the table is empty + pub fun assignLastBlockBoundary() } /// Admin resource that manages the Execution Node versioning /// maintained in this contract pub resource ExecutionNodeVersionKeeper: ExecutionNodeVersionAdmin { - pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { - // TODO - logic - emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.added) + pub fun addMinimumVersion(targetBlockHeight: UInt64, newVersion: Semver) { + // Insert mapping into versiontable + ExecutionNodeVersionBeacon.versionTable.insert( + key: targetBlockHeight, + newVersion + ) + // Set lastBlockBoundary to passed target as we know it will be inserted in + // ascending order due to pre-condition + ExecutionNodeVersionBeacon.lastBlockBoundary = targetBlockHeight + + emit ExecutionNodeVersionTableAddition(height: targetBlockHeight, version: newVersion) } - pub fun deleteBlockTargetVersionMapping(blockHeight: UInt64, version: ENVersion) { - // TODO - logic - emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.deleted) + pub fun deleteLastVersionMapping(): Semver { + // Ensure deletion occurs with enough time for nodes to respond + assert( + ExecutionNodeVersionBeacon.lastBlockBoundary > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer, + message: "Cannot delete version boundary within update buffer period or historical mappings." + ) + + // Remove the version mapping & emit + let removed: Semver = ExecutionNodeVersionBeacon.versionTable.remove( + key: ExecutionNodeVersionBeacon.lastBlockBoundary + )! + + emit ExecutionNodeVersionTableDeletion(height: ExecutionNodeVersionBeacon.lastBlockBoundary, version: removed) + + // Reassign lastBlockBoundary + self.assignLastBlockBoundary() + + // Return the removed version for verification + return removed } - pub fun updateVersionUpdateBuffer(updateBufferInBlocks: UInt64) { - // TODO - logic - emit ExecutionNodeUpdateBufferUpdated(newVersionUpdateBuffer: updateBufferInBlocks) + pub fun updateVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { + // New buffer should be within range of expected buffer varianca + assert( + newUpdateBufferInBlocks >= UInt64(UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance)) && + newUpdateBufferInBlocks <= UInt64(UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 + ExecutionNodeVersionBeacon.versionUpdateBufferVariance)), + message: "Can only change versionUpdateBuffer by allowed variance from existing buffer." + ) + + let currentBlockHeight = getCurrentBlock().height + // No boundaries defined beyond current block, safe to make changes + if currentBlockHeight > ExecutionNodeVersionBeacon.lastBlockBoundary { + ExecutionNodeVersionBeacon.versionUpdateBuffer = newUpdateBufferInBlocks + } else { + + if let nextBlockBoundary = ExecutionNodeVersionBeacon.findNextVersionBoundary(blockHeight: currentBlockHeight) { + // If a version boundary exists in the mapping, ensure that the we're not currently within the buffer period of that boundary + // and that we are not within the new buffer period of that boundary + assert( + currentBlockHeight + ExecutionNodeVersionBeacon.versionUpdateBuffer < nextBlockBoundary && + currentBlockHeight + newUpdateBufferInBlocks < nextBlockBoundary, + message: "Updating buffer now breaks version boundary update expectations. Try updating buffer after next version boundary." + ) + // We can now safely change the versionUpdateBuffer + ExecutionNodeVersionBeacon.versionUpdateBuffer = newUpdateBufferInBlocks + } + } + + emit ExecutionNodeVersionUpdateBufferUpdated(newVersionUpdateBuffer: newUpdateBufferInBlocks) + } + + pub fun assignLastBlockBoundary() { + if ExecutionNodeVersionBeacon.versionTable.keys.length > 0 { + ExecutionNodeVersionBeacon.lastBlockBoundary = ExecutionNodeVersionBeacon + .versionTable + .keys[( + ExecutionNodeVersionBeacon + .versionTable + .keys + .length - 1 + )] + } else { + ExecutionNodeVersionBeacon.lastBlockBoundary = 0 + } } } @@ -185,31 +257,136 @@ pub contract ExecutionNodeVersionBeacon { /// Function that returns that minimum current version based on the current /// block height and version table mapping pub fun getCurrentMinimumExecutionNodeVersion(): Semver { - // TODO: - // - Find block height in versionTable that is closest to but less than current block height - // - Check the version listed as the value at that block height - let currentHeight = getCurrentBlock().height + pre { + self.versionTable.length > 0: "No current minimum version defined." + } + // Check the previous boundary at the current block + let currentBlockHeight = getCurrentBlock().height + let previousBoundary = ExecutionNodeVersionBeacon.findPreviousBoundary(blockHeight: currentBlockHeight)! + // Return the version defined at that boundary + return self.versionTable[previousBoundary]! } /// Checks whether given version was compatible at the given block height - pub fun isCompatibleENVersion(blockHeight: UInt64, version: Semver): Bool { - // TODO: - // - Find block range where given blockHeight fits - // - See if given version is greater than version at that time + pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool { + // Find previous version boundary & check minimum version in versionTable + // at that boundary + if let versionBoundary = ExecutionNodeVersionBeacon.findPreviousBoundary(blockHeight: blockHeight) { + let minimumVersion = self.versionTable[versionBoundary]! + + // Returns Bool representing compatibility between versions + if minimumVersion.oldestCompatibleVersion != nil && version.oldestCompatibleVersion != nil { + return minimumVersion.coreGreaterThanOrEqualTo(version.oldestCompatibleVersion!) && + version.coreGreaterThanOrEqualTo(minimumVersion.oldestCompatibleVersion!) + } else { + return version.coreGreaterThanOrEqualTo(minimumVersion) + } + } else { + // Assuming no previous boundary exists, return false + return false + } } /// Returns an array containing the block number at which to update and - /// associated version boundary - pub fun getNextVersionBoundaryPair(): [UInt64, Semver] { - if getCurrentBlock().height > + /// associated version boundary - [blockBoundary: UInt64, version: Semver] + /// If there is no upcoming version boundary defined, returns empty array - [] + pub fun getNextVersionBoundaryPair(): [AnyStruct?] { + // Get the current block height + let currentBlockHeight = getCurrentBlock().height + + // Return empty array if no version boundary mappings defined or + // if current block exceeds the last block boundary defined + if self.versionTable.length == 0 || currentBlockHeight > self.lastBlockBoundary { + return [] + } + + // We now know mappings are defined and that we are before the last defined + // version boundary. We go on to find the next version boundary + if let nextBoundary = ExecutionNodeVersionBeacon.findNextVersionBoundary(blockHeight: currentBlockHeight) { + let nextVersion = self.versionTable[nextBoundary]! + return [nextBoundary, nextVersion] + } + + return [] + } + + /// Returns the block height defined in the previous version boundary found in versionTable + /// If none exists, nil is returned + access(contract) fun findPreviousBoundary(blockHeight: UInt64): UInt64? { + // Search for previous version boundary + return self.binarySearch(target: blockHeight) + } + + /// Returns the block height defined in the upcoming version boundary found in versionTable + /// If none exists, nil is returned + access(contract) fun findNextVersionBoundary(blockHeight: UInt64): UInt64? { + // No boundary following given blockHeight if it is greater or equal to + // the last one defined. Return nil + if blockHeight >= self.lastBlockBoundary { + return nil + } + + // Otherwise, look for the next boundary + if let prevBoundary = self.binarySearch(target: blockHeight) { + return self.versionTable.keys[ + (self.versionTable.keys.firstIndex(of: prevBoundary)! + 1) + ] + } else { + return nil + } + } + + /// Binary search algorithm to find closest value key in versionTable that is <= target value + access(contract) fun binarySearch(target: UInt64): UInt64? { + // Return nil if the versionTable is empty + if self.versionTable.length == 0 { + return nil + } + + // Define search space + let boundaries = self.versionTable.keys + // Return last block boundary if target is beyond + if target >= self.lastBlockBoundary { + return self.lastBlockBoundary + } + + // Define search bounds + let length = boundaries.length + var left = 0 + var right = length + + // Loop until search pointers cross + while left < right { + var mid = (left + right) / 2 + if boundaries[mid] == target { + return boundaries[mid] + } + if target < boundaries[mid] { + if mid > 0 && target > boundaries[mid -1] { + return boundaries[mid - 1] + } + right = mid + } else { + if mid < (length - 1) && target < boundaries[mid + 1] { + return boundaries[mid] + } + left = mid + 1 + } + } + // Return nil if nothing found + return nil } init() { + /// Initialize variables + self.ExecutionNodeVersionKeeperStoragePath = /storage/ExecutionNodeVersionKeeper self.versionTable = {} self.versionUpdateBuffer = 1000 - self.ENVersionKeeperStoragePath = /storage/ENVersionKeeper + self.versionUpdateBufferVariance = 0.5 + self.lastBlockBoundary = 0 - self.account.save(<-create ENVersionAdmin(), to: self.ENVersionKeeperStoragePath) + /// Save + self.account.save(<-create ExecutionNodeVersionKeeper(), to: self.ExecutionNodeVersionKeeperStoragePath) } } \ No newline at end of file diff --git a/contracts/IENVersionBeacon.cdc b/contracts/IENVersionBeacon.cdc deleted file mode 100644 index 8821d67c3..000000000 --- a/contracts/IENVersionBeacon.cdc +++ /dev/null @@ -1,119 +0,0 @@ -/// This contract is used to defined block height and software version boundaries -/// for the software run by Execution Nodes. -pub contract interface IENVersionBeacon { - - pub enum ENVersionUpdateAction: UInt8 { - pub case added - pub case deleted - pub case amended - } - - /// Struct representing Execution Node software version - /// along with helper functions - pub struct ENVersion { - /// Compnents defining a semantic version - pub let major: UInt8 - pub let minor: UInt8 - pub let patch: UInt8 - - /// Oldest compatitible version with this version - /// - /// Defining this can help with logic around updating before a target block is reached - /// Such behavior may be desireable in the event breaking changes are released - /// between versions - pub let oldestCompatibleVersion: ENVersion - - init(major: UInt8, minor: UInt8, patch: UInt8, oldestCompatibleVersion: ENVersion) - - /// Returns version in Semver format (e.g. v..) - /// as a String - pub fun toString(): String - - /* Custom Comparators */ - - /// Returns true if ENVersion is greater than - /// passed ENVersion and false otherwise - pub fun greaterThan(_ other: ENVersion): Bool - - /// Returns true if ENVersion is greater than or - /// equal to passed ENVersion and false otherwise - pub fun greaterThanOrEqualTo(_ other: ENVersion): Bool - - /// Returns true if ENVersion is less than - /// passed ENVersion and false otherwise - pub fun lessThan(_ other: ENVersion): Bool - - /// Returns true if ENVersion is less than or - /// equal to passed ENVersion and false otherwise - pub fun lessThanOrEqualTo(_ other: ENVersion): Bool - - /// Returns true if ENVersion is equal to passed - /// ENVersion and false otherwise - pub fun equalTo(_ other: ENVersion): Bool - } - - /// Event emitted any time a new version is added to the version table - pub event ENVersionTableUpdated(height: UInt64, version: ENVersion, action: ENVersionUpdateAction) - - /// Event emitted any time the version cooldown period is updated - pub event ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: UInt64) - - /// Canonical storage path for ENVersionKeeper - pub let ENVersionAdminStoragePath: StoragePath - - /// Table dictating minimum version - {blockHeight: ENVersion} - access(contract) let versionTable: {UInt64: ENVersion} - - /// Number of blocks between height at updating and target height for version rollover - access(contract) let versionCooldownPeriod: UInt64 - - /// Admin interface that manages the Execution Node versioning - /// maintained in this contract - pub resource interface ENVersionAdmin { - - /// Update the minimum version to take effect at the given block height - pub fun addMinimumVersion(targetblockHeight: UInt64, version: ENVersion) { - pre { - targetblockHeight > getCurrentBlock().height + ENVersionAdmin.versionCooldownPeriod: "Target block height occurs too soon to update EN version" - } - emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.added) - } - - /// Deletes the entry in versionTable at the passed block height - /// Could be helpful in event of rollback - pub fun deleteBlockTargetVersionMapping(blockHeight: UInt64, version: ENVersion) { - pre { - targetblockHeight > getCurrentBlock().height + ENVersionAdmin.versionCooldownPeriod: "Target block height occurs too soon to update EN version" - } - emit EMVersionTableUpdated(height: targetblockHeight, version: version, action: ENVersionAction.deleted) - } - - pub fun updateVersionCooldownPeriod(cooldownInBlocks: UInt64) { - emit ENVersionCooldownPeriodUpdated(newVersionCooldownPeriod: cooldownInBlocks) - } - } - - /// Returns the current cooldown period within which ENs - /// can be assured version will not change - pub fun getVersionCooldownPeriod(): UInt64 - - /// Function that returns that minimum current version based on the current - /// block height and version table mapping - pub fun getCurrentMinimumENVersion(): ENVersion - - /// Returns a copy of the full historical versionTable - pub fun getVersionTable(): {ENVersion: UInt64} - - /// Checks whether given version was compatible at the given block height - pub fun isCompatibleENVersion(blockHeight: UInt64, version: ENVersion): Bool - - /// Returns - pub fun getNextVersion - - init() { - self.versionTable = {} - self.ENVersionAdminStoragePath = /storage/ENVersionAdmin - - self.account.save(<-create ENVersionAdmin(), to: self.ENVersionAdminStoragePath) - } -} diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index b026334b9..a08e81410 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ENVersionBeacon.cdc (5.492kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (17.353kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -9,7 +9,6 @@ // ../../../contracts/FlowStakingCollection.cdc (54.485kB) // ../../../contracts/FlowStorageFees.cdc (7.024kB) // ../../../contracts/FlowToken.cdc (7.141kB) -// ../../../contracts/IENVersionBeacon.cdc (4.877kB) // ../../../contracts/LockedTokens.cdc (28.679kB) // ../../../contracts/StakingProxy.cdc (5.483kB) // ../../../contracts/epochs/FlowClusterQC.cdc (17.48kB) @@ -85,23 +84,23 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _enversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x5f\x6f\xdb\x36\x10\x7f\xcf\xa7\x38\xe4\xa1\x90\x8a\x54\xee\x80\xa2\x18\x0c\x27\x40\x9b\xa5\xe8\x30\xac\x2d\x96\x64\x2f\xc3\x30\xd0\xd4\xc9\xe2\x2a\x91\x1e\x49\xd9\x0d\xd2\x7c\xf7\xe1\x48\x89\xfa\xeb\x38\x8d\x53\x6c\x79\x89\xa5\xe3\xfd\xfb\xf1\x77\xe4\x9d\x66\xb3\x19\x5c\xe5\xc2\x00\x57\xd2\x6a\xc6\x2d\x08\x03\x95\xc1\x14\xac\x82\x14\x33\x21\x31\x85\x65\xa1\xf8\x67\xc8\x51\xac\x72\x0b\x4c\xa6\x60\x54\x66\xb7\x4c\x23\x6c\x50\x1b\xa1\x24\x2c\x55\x25\x53\xa6\x05\x9a\x23\xb2\x98\x29\x0d\x36\xc7\x76\x9d\xae\x24\x2c\x6f\xe0\xe2\x0b\xf2\xca\x92\xc2\x07\x95\xa2\x49\x8e\xd6\xd5\xb2\xf5\x7c\xf1\xe1\x77\x6f\xee\x2d\x32\xae\x24\xdc\x1e\x1d\x01\x00\x90\xc1\x4b\xab\x2b\x6e\x41\xe3\x5a\xa3\x41\x69\x85\x5c\x0d\x8c\x8d\x62\x0a\xba\xac\x50\x72\x05\x5b\x61\x73\xc8\xb1\x58\xa3\x86\xac\x92\x9c\x14\x8d\x5b\x43\x31\x18\x6f\x3f\x44\x00\xb7\x4e\xd4\x88\x0b\xb4\x50\xb2\xbf\x95\x9e\xc3\xf5\xcf\xd2\xfe\x38\x16\x0a\xb9\x5b\xb8\x66\x96\xe7\x8d\x30\x48\x29\xb4\xdf\xd0\x56\x5a\x1a\xb0\xba\x42\x10\x19\x58\xda\x89\x06\x53\x61\x1c\x86\xbc\xd2\x1a\xa5\x73\x21\xca\xaa\xec\xa5\xd7\x78\xc9\x2a\x5a\x7e\xc9\xac\x30\x19\xe3\x56\xe9\x9b\x90\x49\x54\xaf\x9f\xb7\xc9\xc5\x73\x78\xab\x54\xd1\xc9\x91\xfe\xb4\x8b\x05\x0c\x16\x59\x82\xff\x54\xac\xb8\x52\xd1\x60\x47\x92\x15\xda\x73\x1f\xce\xaf\x3e\x9a\xd6\x4d\x1c\x07\x6b\x77\xf7\x27\xd9\x82\x2c\x0c\xac\x34\x32\x8b\xc4\x16\x26\x7b\x5a\x6b\x66\x88\x85\xed\x62\xe2\x5d\xc6\x0a\x83\xa0\x6c\x8e\x7a\x2b\x0c\x8e\x30\xa8\xad\x5d\xe5\x4c\x46\x7f\xf9\x75\x7b\xf3\x16\x19\x44\x2e\x69\xb7\xc1\x70\xe6\xd5\xfc\x53\x3c\x58\xdb\xc1\x89\xb2\xe9\xc9\xee\x00\x29\xb8\x81\xb9\xd3\xd3\xae\x3d\x78\xf6\xcc\x03\xec\xf8\xd2\xfa\xa2\xa7\xef\xec\xab\x15\xba\xc7\x46\xe8\xb8\x19\x02\x71\x4f\x8f\x08\x64\xa7\x82\xdb\xb0\xbe\xc6\xc1\x34\x01\xa5\x7b\x8a\x8e\xac\x74\x5c\x1d\x4a\x99\x8f\xfa\xa2\xe6\xfd\x43\xb9\xd3\xad\x99\x2e\xf7\x9c\x76\x0c\x5f\xbf\xf6\xcb\xc9\xbf\x7e\x14\x00\x05\x1a\xf3\x44\x45\x42\xa6\xbe\xb5\x42\x3a\x2c\x5b\xf4\x48\xf6\x18\xce\x3e\x94\xb2\x8b\x1e\x63\xbf\xa7\xa7\x7b\x8b\x63\xd1\x2d\x8e\xff\x61\x6d\x04\x6a\x3c\x6d\x61\x34\x34\x39\xac\x2a\x02\xd9\x9e\xbe\x24\x06\xe9\xf5\x14\xbf\x2d\x55\x3c\x20\xc1\x43\xd9\x15\x84\xee\x71\x1f\x10\xa1\x37\x90\x70\x89\xe5\x86\x7a\x19\xa5\x4b\x66\x21\xc2\x64\x95\xc0\x66\xe1\xfc\x9f\x25\x0b\xe7\xea\x2c\x59\x38\xab\x67\x71\xcf\x18\x33\xc0\xa8\xa3\x12\x72\x35\x82\xc2\x2a\x2f\x88\xe2\x79\xbd\x64\x3a\xf7\xe3\xcd\x71\xc2\x95\xe4\xcc\x46\x23\x7e\xb7\xb8\x24\xad\xb9\xd1\xaa\x46\xfd\x38\x39\xde\x2d\x1c\x09\x5a\xfb\x94\xe0\x7d\xf6\xf7\xfa\xd8\xeb\x27\xf8\x72\x20\xee\xf3\x35\x7e\xdb\x7f\x33\x49\x72\x21\x85\x8d\xba\x9d\xe5\x49\xaf\x95\x3c\xe9\xf5\x8e\xc3\x8b\xb9\xcb\x3f\xdf\x9e\x4e\x88\x3d\x03\xbd\xd5\xb1\xb8\xe6\x20\x0c\xc9\xd7\x09\xd3\x95\xd3\x86\x3a\x50\x2c\x85\xb5\x98\x02\x93\x37\x60\x45\x89\xc0\x40\xe2\xb6\xdb\xaf\xb2\x34\xf5\x93\x03\x35\xae\xcd\x7b\xcb\x96\x05\x86\x4e\x1b\x9d\xa9\x50\x60\x57\x24\xbc\x5e\xa7\xcc\x62\x1a\xf9\x09\xc3\x67\xfb\xfa\xd5\x09\x4c\xb4\xae\xbb\xec\x9c\x2b\x55\xa4\x6a\x2b\x3f\xa1\x16\x2a\x6d\x0c\x4a\xdc\x4e\xca\x1b\x17\x71\x9b\xe2\x39\x93\x4a\x0a\xce\x0a\x30\x56\x69\xb6\x42\xc2\x24\x77\x93\x4c\x70\xf2\x0b\xe2\x1a\x75\x08\x81\x7a\xfb\x81\xec\xd2\xeb\x7e\x62\x36\xa7\xfa\x09\x0f\xad\x1f\x97\x30\xa4\x82\x5b\xe6\xa6\x98\xa9\xb6\xbe\x31\xbe\xe9\x60\x34\x87\xdb\xeb\x77\xe2\xcb\xeb\x57\x73\xf8\x23\x38\xfd\xb3\xd9\xa3\xe7\xee\xdf\x73\xb8\xfa\xf8\xd3\xc7\x79\xfd\x1b\xe0\x05\x5c\x18\x42\x5f\x98\x1c\x58\x5a\x0a\x09\x1a\x8d\xaa\x34\x47\xba\x2f\x2c\x70\x26\xa1\x72\x50\x4d\x6c\x96\x37\x70\x4e\xa3\x15\x57\x32\x15\x6e\x60\x02\xa6\x69\xd2\xf3\x5a\x14\xbe\xb3\xe3\x94\x20\xa2\x11\x4b\x48\xf8\xe1\xe5\xcb\x97\x7e\x64\x34\x90\x69\x55\x86\x09\xa6\x1e\x20\x9f\x75\x4e\x31\xae\xb1\x44\x69\x8d\xdf\xd7\xe7\xb3\x00\xd3\x1b\x17\xae\x90\x16\x75\xc6\x9a\x78\x4b\x26\xd9\x0a\xfd\x58\x34\x98\xfe\x6a\x93\xcd\x91\x46\x26\x4a\x26\xa4\x65\x6e\x80\x15\xd2\x8f\x56\xcd\xa8\x19\x50\x6e\x1d\x04\x4c\xbd\xe7\xb6\xd2\x18\xe7\x68\x8c\xeb\xb3\xe3\xc6\xcd\x34\x9b\x46\x87\xa9\xc7\xb6\x1e\x95\xc2\xa0\x34\xa8\x62\x6a\xe3\x34\xbe\x18\x63\xec\x20\xac\x31\xb3\xb9\x46\x93\xab\x22\x9d\x3a\x44\x42\x2b\x8b\x76\x92\xed\x74\x96\xfb\x08\x3b\xae\x47\x35\xfe\x66\x82\x20\x4f\x0f\x78\xb0\x3f\x28\x9c\xf9\x7f\xb3\x01\x77\x87\x81\x08\x83\x66\x60\x32\xba\x09\x67\xbd\x94\xc8\xab\xd9\xe9\xb5\x17\xec\x70\xcf\xde\xd5\x1f\x32\xfc\x6e\xe9\xa6\x5b\x72\x5b\x57\x9f\x2b\x4d\xf1\x85\x2f\x35\x8c\x5a\x41\xa7\x12\xbe\x2d\x04\x7b\xa3\x0f\x3d\xbd\x63\x01\x4a\xb6\x5e\x37\x1b\xde\xc1\x6b\xe7\x27\x81\xf9\xe4\x07\x15\x3a\x04\xc3\x31\x55\xbf\xa0\xa3\xe6\x9d\x90\x83\x4f\x4d\x42\xf6\x8e\x40\x9f\x18\xb1\xaa\x50\x06\x8d\xa5\x8b\x66\x59\xd9\x4e\x03\xdc\x24\xdb\xb5\x32\x74\x73\x9e\x23\xff\xdc\xbb\xa0\x0a\x61\xdc\xb5\xe6\x79\xbe\x61\x45\x85\x40\xa7\x1a\x79\x9b\xb4\x44\x67\x73\xed\xea\xbd\x8f\xf4\xb4\x83\xc3\x5b\x52\x89\xe2\xa4\xa3\xd4\xd9\x32\xe7\xde\xc0\x36\x47\xea\xfa\x60\x25\x36\x18\xb2\x84\x2d\x33\x21\x07\x17\x01\xd6\x0b\x46\x61\xb4\x5f\x7d\x46\xb0\xbb\xb5\xef\xf7\x5f\xa5\xa3\xd6\xf6\x01\x1b\xa3\x99\x5c\x21\x05\xaf\x7b\x91\xd5\x28\x64\xc2\x9a\xa1\xf2\x25\xba\xce\xbd\x9f\xe7\x70\xa2\x6f\xde\x37\xa8\x53\x77\xd1\x05\xce\xb5\x49\xdd\x52\xe8\x56\x9b\xe7\xc6\x29\xdc\xde\xf5\xc5\xbb\xaf\x66\x38\x85\x59\x7d\xcb\xcf\x86\x97\x7b\xdf\x06\xe3\x5c\x55\xd2\x26\x86\x6d\x30\x5a\xbc\xe0\x2e\xe8\xc1\x51\x15\xc5\x27\x60\xd5\x7c\x9f\xd3\xb8\x4e\xe8\xee\xe8\xdf\x00\x00\x00\xff\xff\x1b\xd9\x59\x43\x74\x15\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x5d\x73\xdb\xb6\x96\xef\xf9\x15\xc7\x7e\xf0\x4a\xa9\x2d\x39\x3b\xdd\xce\x8e\xc7\x72\x27\x76\xd3\x6e\x66\xd3\xb4\x93\x8f\xee\x83\xc7\xb3\x03\x91\x87\x22\xae\x29\x40\x17\x00\x25\xeb\x26\xf9\xef\x77\xf0\x45\x02\x24\x28\x4b\x4e\x72\xe7\xfa\xa5\xb1\x01\x1c\x9c\xef\x2f\x1c\x76\x3a\x9d\xc2\x87\x92\x4a\xc8\x38\x53\x82\x64\x0a\xa8\x84\x5a\x62\x0e\x8a\x43\x8e\x05\x65\x98\xc3\xbc\xe2\xd9\x3d\x94\x48\x17\xa5\x02\xc2\x72\x90\xbc\x50\x1b\x22\x10\xd6\x28\x24\xe5\x0c\xe6\xbc\x66\x39\x11\x14\xe5\x33\x0d\xb1\xe0\x02\x54\x89\xed\x3e\x51\x33\x98\x6f\xe1\xd5\x03\x66\xb5\xd2\x07\xde\xf2\x1c\xe5\xe4\xd9\xaa\x9e\xb7\x37\x37\xab\x7a\xf1\x2f\x0b\xf9\x1a\x49\xc6\x19\x7c\x7a\xf6\x0c\x00\x40\xc3\x7e\xaf\x44\x9d\x29\x10\xb8\x12\x28\x91\x29\xca\x16\x7d\x7c\x88\x84\xf7\xb8\x24\x4c\xd1\x0c\x1c\xa4\x06\x00\xa9\x38\x5b\xc0\x86\xaa\x12\x4a\xac\x56\x28\xa0\xa8\x59\xa6\xef\x95\xcd\x9e\x5f\xb9\x00\x81\x05\x0a\x64\x19\x9e\x82\x44\x84\x52\xa9\x95\xbc\x98\x4e\x25\x2e\xd7\x28\x26\x5c\x2c\xa6\x66\xbb\x26\x41\x5a\x9c\xde\x9b\x25\xf8\x64\xfe\xee\x41\xdd\xf0\xe5\x8a\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x3a\xc0\xce\x83\xab\x50\xc1\x92\xfc\x8d\x8b\x0b\xf8\xf8\x9a\xa9\xff\xee\x2f\x52\x36\xbc\xb8\x22\x2a\x2b\x07\x17\x05\xbe\xc3\x0a\x89\xc4\x0b\xcd\x49\xca\x16\x3f\x3f\x8b\xd0\xfd\xa3\xca\x51\x2a\xc8\xf8\x72\x45\x14\x55\x74\x5e\xb5\x5c\x35\x3c\x53\x5a\x5b\xba\x58\x4f\xa7\xd3\x08\xca\x2f\x9e\x52\xb3\x3b\x23\xcc\xb0\xda\x02\xa8\xf8\x82\x66\x40\x84\x56\x19\xa8\x57\x39\x31\x22\x9c\x63\xc1\x05\x02\x01\x45\xc4\x02\x95\xd3\x39\x2a\x41\x20\xc9\x4a\xcc\x23\xf0\xef\xeb\xac\x84\x39\x96\x64\x4d\xb9\x80\x25\xd9\xc2\x1c\x21\x47\x49\x05\x12\x8d\x30\x65\x46\xfd\x70\x8d\x4c\xc1\x5c\x20\xb9\xd7\x57\x64\x25\x61\x0b\x94\x60\x14\xd2\x32\x21\x06\x3b\x47\xb5\x41\x64\x9e\x3a\xd9\xe3\x1e\x37\xcc\xb9\xb1\xbc\x99\x57\x5e\x49\x2f\x9c\xe4\x03\x56\x52\x46\xd5\x28\x94\xe1\x69\x24\xb4\xd3\x48\x4a\xa7\x29\xb1\x9c\x3e\x7a\xdb\x38\xd0\x34\xfd\x23\xb1\x2a\x26\xe6\x4e\x98\x59\xfd\x49\x2c\x6b\x24\xf4\xb2\xfe\x6f\x7f\xd9\x60\x05\x33\x8b\x5d\x62\xb9\x41\x53\xef\x69\x7e\xe9\x6f\x1c\x40\x1d\x66\x43\x44\x35\x20\xbe\xc4\xea\xf8\x0e\x55\x2d\x58\xa3\x70\x5a\xb2\xce\xca\x0a\x2e\x96\x44\xc1\x08\x27\x8b\x09\xac\x2f\x0d\xbd\x57\x93\x4b\x43\xd8\xd5\xe4\xd2\x50\x70\x75\x76\xd9\x62\x79\x35\x8e\x20\x13\x09\xc4\xf1\x3a\x92\x73\x51\x33\x50\xdc\x2e\x8c\xc6\x5e\x1c\x1d\x56\x6b\x65\xb0\x8e\xe0\x86\x0b\x74\x5b\x66\x81\x04\x26\x2d\x88\xe8\xa0\xf9\x99\x64\x9c\x65\x44\x8d\x8e\x27\xc7\x3b\x56\xfb\x2b\xb1\x14\x77\x5e\x31\xfe\xea\x3b\x0c\x03\x77\xdf\x11\xfd\xc9\xb8\x3a\x0d\x54\x2b\xc6\x99\xb3\x2f\xa0\x05\x50\x05\xf8\x40\xa5\x92\x70\x02\xc2\x88\x33\x3a\x47\x8b\x9e\x6e\x1d\xcd\x80\xd1\xaa\xc3\x72\xfd\x63\x8f\xf7\x38\xdf\xd0\x7a\x76\xdc\xd0\xdd\x81\x79\x14\x23\x1b\x68\xd9\x0e\xb8\x49\xa5\x7c\x0e\x37\xb5\x54\x7c\x69\x1c\x3b\x11\x44\x71\x21\xe1\xf9\x34\xad\xb6\x4a\xd4\x86\x07\x4e\x67\x33\xed\xe2\xa8\x84\x85\x40\xa2\x50\xc7\x48\x12\xf9\x50\x58\x11\xa9\x63\x6f\xb8\x5d\xc7\xdb\x82\x54\x12\x81\xab\x12\xc5\x86\x06\xf6\xe6\xf5\x55\x6f\xfc\xcd\xc2\xfc\x50\x12\x36\xfa\x7f\xbb\xd7\x7b\x8a\xf1\x05\x5c\x73\xde\x65\x28\x2d\x60\x14\xb8\x8c\x2b\x7b\xc6\xfe\xd6\x75\x2d\x01\x93\x34\x49\x31\x2f\x01\x2b\x2b\xe9\x10\xdc\x6c\x16\xc2\x83\x93\x93\xd0\xff\x34\x77\xe9\xdf\xbe\xf3\x5d\xed\xa2\xf9\xd5\x2f\x5a\x4f\xe7\x11\x31\xbf\x3d\x01\x91\xc1\x03\x46\x62\x1d\x95\x4b\x69\xd3\x61\xba\x02\x81\xcf\xd6\x47\xf1\xef\x35\xa9\x74\xa6\xf6\x6d\xf4\xe6\x0f\xf1\x4a\x03\xfc\xc0\xf7\x53\xa0\xc6\x6a\xaa\x62\xd2\xd5\x40\x73\x7c\x0c\x9f\x3f\xb7\xcb\x1e\xb6\x5d\x7a\x22\x37\x2a\x94\xf2\x9b\x9a\xcd\x1b\x94\xf2\x20\x9b\x09\xf4\xee\x32\x52\xbb\xa7\x68\xf1\xbe\x4a\x7c\x19\xe9\xf0\xf7\xbc\x69\xa7\xb9\x5c\x86\xe6\xf2\x6f\x69\x2d\x8d\x7e\x7c\x0f\x53\xf1\xba\xf2\x95\x76\xd2\xa8\xdc\xb7\x36\x12\x2a\xbb\x64\xc6\x59\xf3\x13\x48\x7e\x32\xa1\x5f\xab\x6a\xcd\x62\x9c\x8a\xee\xcd\x88\xe7\xf8\x40\x32\x55\x6d\x9f\xef\xc3\x92\x7d\xb8\x21\x95\xa0\x99\xfa\x2a\xc1\xc7\xc2\x6d\x09\x0e\xb2\xea\x86\xea\x7e\x72\xed\x48\xff\xd2\x96\xc2\xaf\x4c\x7d\x83\x4b\xaa\x14\xe6\x40\xd8\x16\x14\x5d\xea\x1a\xca\x56\x3a\x9a\x0d\x4b\x92\xa3\xa6\xdd\xe5\xcf\x1f\x74\x79\xd4\x94\xad\xb6\x3e\x4a\x95\xdd\x66\xdf\xcb\x3c\xa7\xfa\xef\x23\x5b\xf9\xdb\x62\xe5\xa7\x1f\x4f\x3d\xb0\x86\xf8\x7d\x01\xfe\x82\x15\xee\x0f\x70\x07\x85\xba\xb8\xf3\x15\x81\xa9\x20\x11\xe6\x75\x51\xa0\x80\x15\x0a\xca\x73\xd3\xc4\x30\x7f\xcf\xf7\xc0\xed\xa3\xd9\x79\x6d\x00\xd8\x7f\xe7\x23\x86\x9b\xc4\xaa\xc7\x78\xdc\xca\xe0\x86\x30\xce\x68\x46\x2a\x90\x8a\x0b\xb2\x40\x5d\x3b\x95\xa6\x03\x92\xba\xeb\x7f\x11\x57\x28\x1a\xa4\x74\x1d\x31\xbc\xed\xbd\x85\xf8\x27\x51\xa5\xae\x43\x9a\x5f\xda\xdb\x0d\x5b\x21\xa7\x99\xb2\x55\xf4\x92\x32\xba\xac\x97\x0d\x73\xce\xe0\x93\x29\xa4\xff\xc7\x31\xdc\xf2\xf7\x4b\xdb\x4c\x29\x79\x5d\xe5\xba\x7a\xe6\x22\x47\x81\x39\xcc\xb7\x71\xbb\x67\x44\x59\x8e\x0f\x63\xd8\x94\x34\x2b\x81\xb6\x2d\x12\x64\x05\x17\x99\x3d\x41\x99\x44\xa1\x49\x98\xe6\x4e\xc4\x66\x1b\xc9\x32\x94\x72\xe4\x1b\x3c\x63\x43\x6e\xa8\x89\x17\xf0\xc9\x32\xb4\xc5\xac\x81\xff\xb6\x5e\xce\x51\x00\x2f\x2c\x3e\xb2\xa9\xce\x7d\x1f\x4a\xb5\xcd\x03\x6d\xbf\xae\x6f\xe0\x56\x35\xff\x3d\x13\x04\xaf\x2a\xbe\x76\x5c\xef\xe1\xb4\x26\xcd\xce\x94\xa8\x5b\x56\xa1\xae\x63\x56\x68\x58\xcd\x99\x04\x81\x0b\x22\x72\x7d\x7d\xc9\x37\xb0\xac\xb3\x32\xd4\xcb\x10\x96\x69\x80\xac\x89\xd8\x76\x3b\x0c\x61\xdf\xec\x31\x86\x85\x00\xff\x22\x82\x12\x96\xe1\x05\x7c\xfc\x95\x3e\xfc\xf4\x63\xa8\x8e\x59\x89\x9a\x69\x1a\x95\x8a\x48\xdf\x48\x71\x17\x6d\x7d\x6b\x24\x94\x02\x2c\xc9\x6a\xe5\xcb\x1d\x0d\xc4\x19\x41\xc2\xa3\x28\x1e\xd9\x9e\xb2\xdd\x16\xeb\x66\x86\xd9\xab\xf1\xb8\xd6\x68\x5c\x3b\x2c\x1a\xe6\x36\x57\xbe\xcc\x97\x54\x57\xf7\x0a\x45\x41\x32\x6d\xe1\x44\xc1\x92\x30\xb2\x40\x69\xae\x8c\x5b\x87\x1e\x83\x10\xeb\x25\xa1\x4c\x11\xd3\xb0\x34\x44\x06\x4d\xcd\xc6\xde\x04\x4a\x5e\x8b\x0c\x83\x9b\x52\xe6\x67\xb1\xf9\x14\xc7\x1a\xcb\x15\x83\x4c\xd7\xcc\x34\x5b\xc8\x3d\x02\x16\x05\x66\x46\x35\xf5\xae\x05\x5d\x23\x8b\xac\xa9\x17\x54\x48\x9e\xff\x6e\x61\xb9\x9b\x47\x56\x8d\xaf\x43\xa3\xf5\x5e\xb2\xf5\x49\x8d\xa3\xec\x04\x9c\x95\x48\x25\x59\x3d\x90\x70\xb5\xa3\xd7\x3a\xe9\x49\x2b\xd9\x24\xb8\x80\xe3\x97\x4a\xe1\x72\x65\x0c\x50\x71\xe7\x03\xbc\x2e\x01\xaf\x95\x56\x43\xe3\x56\x26\x60\xe0\xc1\x75\xab\x84\xce\x5f\x48\x58\xd6\x5a\x47\xd1\xfd\xc9\xca\x8e\xc8\x0c\x99\xb1\x2c\x77\xfc\xa6\xc4\xec\x3e\xd6\xd9\x13\x50\x62\x0b\x64\x41\x28\x9b\x1c\xef\x45\xf2\x02\xd5\x4d\x2d\x04\x32\xfb\xf7\xd1\x78\xe2\x7c\xc5\x0f\xbb\xb8\x91\xb0\xbe\x21\x7e\x7c\x08\x3b\x97\x0e\x36\xcf\xb2\x5a\x48\x50\x9c\x83\xe4\x56\x53\x5c\xc0\x7a\xf5\xd6\x13\xd4\xc1\x7f\x30\xf5\x35\xe1\xd3\x99\x83\x31\x6d\x64\xca\x5a\x74\xc4\x19\xeb\xa9\x6d\xef\x5e\x02\xd1\x11\x32\xe3\x4b\xcd\xcd\x8e\xd7\xd9\x76\xfa\xd4\x2e\x12\x94\x58\xad\x8a\xba\xd2\x70\x33\x9d\x93\x68\xf7\x39\x27\xb6\x19\xcb\x10\xf3\x20\x85\xf2\x6a\x6c\xbc\x3e\xbe\x21\x52\x39\xe6\xfd\x6e\xb5\xc0\xf4\xcf\xba\x4d\xf1\x61\x45\x7d\x5c\x0c\x86\xc2\x49\x85\x6c\xa1\x74\xf1\x7e\x7e\x01\xc7\x6f\x79\x8f\x2e\xaf\x84\xd2\x36\x9e\xf6\xe5\xaf\x95\xb1\xe5\x2f\xeb\x46\x1f\xeb\x90\x8c\xb2\x5a\x9f\x5e\xfb\xdd\xbc\xe7\x50\xe3\x3e\xa3\x8e\x4d\x25\x3a\xb5\x70\x70\x43\x27\x4a\xa5\x53\x57\x95\x6a\x45\xda\x6b\x12\xb9\x88\x4e\x51\xc2\xdf\x5f\x33\xa3\xd6\xb2\xc9\x51\xba\x2c\xe7\x52\x3d\x89\xe7\x51\x24\x9b\xcd\x60\xf0\xde\xe3\x8f\x51\x2a\xb6\x21\x12\x18\x57\xb0\x12\x7c\x85\xa2\xda\xba\x18\x92\x1f\xc1\x3b\x5c\x1b\x5b\xdf\x57\x30\x2f\xa5\xa4\x0b\x26\x21\x33\x2f\x01\x07\xf9\x2e\x2f\x1e\x63\x2f\xf7\xa8\xad\x25\x02\xdd\x8b\x85\xb4\x68\xb5\x87\x08\x6c\xde\xc0\xb8\x80\x73\xbd\xa8\x0f\x34\x61\x4f\xbb\xbf\x6d\xdf\xa9\x1b\x74\xdf\x74\x51\x71\x2d\xd4\x2f\xdd\xa0\xd7\xc4\xa4\xef\x1d\xf3\x86\x13\xcd\x8b\x9d\x51\xb0\x47\xdf\xb7\x0d\x5a\xd3\x29\xbc\x8e\x63\x07\x65\x6d\xc5\xa2\x22\x83\x3a\xc4\x4b\xd8\x88\xd2\x6f\x71\xdf\xe3\xf6\xa2\x1f\x20\x4e\x7b\xfb\x5a\xcc\xa3\xa5\x5e\xd7\x5b\x27\x86\x49\xbd\x73\x9d\x06\x97\x98\x12\x09\x1b\x84\x7b\xc6\x37\x40\x15\x6c\x68\x55\x75\xc2\x5e\x17\x6e\x27\x0a\x42\x5e\x9b\xfc\x6b\x25\xf0\x2c\xe3\xcc\x96\x66\xfb\x32\xa6\x8f\xdf\xac\xcf\x82\xb8\x27\xae\x8b\xae\x03\x6a\xc3\x3e\x43\xdb\xaa\xae\xe5\x64\xb2\xa3\xf1\xe4\x28\xa2\x0b\x44\x26\x6b\x63\xa5\xb6\xec\xf0\xf1\xd6\x3c\x34\x22\xe3\xf5\xa2\xb4\x19\xac\xae\x07\x18\xcf\xad\xbf\x16\x28\x57\x9c\xe5\x11\x2c\x2d\xab\x94\xb6\x1c\xc4\xd4\x6f\x98\x64\xf4\xf5\x71\x89\x52\x92\x05\x5e\xc0\xf1\x0d\x61\xda\xb1\x5a\x7e\xf5\xa3\x9f\x26\x9e\x0e\x14\xc6\x5c\x40\x49\x75\xa5\x6a\x4a\x56\xef\xe9\x3a\x8e\x78\xfc\xac\xcb\xe6\x77\xb8\xe4\xeb\xb8\xee\xf6\xc6\x7a\x62\x34\x25\x3a\xa0\xab\x16\x61\x4e\xe4\x8d\xe4\x66\x7b\xdb\xad\x3d\x39\x60\xb7\x4f\xce\x5b\xc7\x47\x87\xa8\x77\xaf\x53\x71\xc8\xbd\x81\xe6\x3b\x2e\xa4\x18\x6a\xa3\x44\xdf\x73\x44\x3b\x4d\x7f\x68\x38\x9e\xf4\xa1\xda\xfe\x6b\x89\xfe\xe6\x46\x5c\xae\x20\xa6\x05\xcd\x48\xcf\x73\xb8\x46\x95\x3b\xb3\xcb\x46\xbf\x59\x3a\xa2\x2b\x7c\xdc\x78\xed\x94\x4d\x1f\xc2\x29\xaf\x30\xe5\x26\x2f\x5c\xc9\x8d\xb9\xdf\xb9\xb6\xa5\x2f\xd9\xcb\x78\x6d\x75\x3c\x84\xda\x18\xae\x66\x7e\xcb\x61\xc6\x39\x86\xe7\x30\x7a\x31\x39\x87\xb3\x03\xad\xda\x17\xee\x63\x38\x39\x39\x18\xdb\xcb\xaf\xc5\xf6\x50\x1f\xd4\x60\xfb\x88\x33\x02\xce\x9a\xf4\x2e\xd9\xff\x98\x6f\x81\x54\x15\xdf\x68\x7d\x74\x30\xa1\x10\x7c\x69\xf3\x73\x33\xfe\x61\x36\xee\xf6\x43\xda\xad\x64\x81\x73\x75\x95\xdd\x6c\xd0\xe9\xf6\x14\x8e\x07\x0d\x97\x76\xba\x09\xb7\x9c\xe5\x1e\xb2\xcd\xd3\x4f\x41\x92\xc2\x84\xdb\xa5\xae\xeb\xdd\xe4\x48\xf7\x29\x28\x81\xcc\x61\x95\xf5\x37\xc8\xc7\x87\xd2\xf1\xf4\xfb\x4b\xef\x3a\x5a\x18\xb6\x32\x7c\xe8\xe5\x07\x3b\x30\x29\x28\xcb\xdf\xe2\x83\x8f\xd3\x8d\x47\x8a\x7a\x8d\x7d\xee\xa4\x1e\x58\x9d\x68\x5e\x17\x40\xfa\x91\xcc\xcd\x0d\xb8\x9e\x95\x8b\x38\xa7\x80\x36\xe8\x9b\x7c\x59\x2f\x6c\xf0\x3f\x04\x9a\x5a\xc3\xdd\x59\x35\x41\xd0\x54\x5e\x71\x04\x2c\xec\xc1\x5e\x11\xdc\xc1\xc8\xd6\x6d\x44\xe9\xac\x8d\x38\xf0\x01\x50\xd6\x3a\xaf\x43\x00\x0f\x79\x2a\xff\x93\x50\xa9\x43\xad\x16\x2e\x13\xe2\x4c\xb8\x9b\x9d\x57\x0e\x68\x55\x0a\x76\xdf\x39\xf8\x9f\xd6\x49\x7c\x6c\xc6\xbc\x2c\x8a\x3a\x0b\x36\x73\x59\xb2\x2f\x74\x97\xb7\x84\xbd\xd6\x09\x7c\xf0\x0b\x01\x10\x52\x28\x0d\x0a\x1f\x54\x0f\x48\xa2\x25\x04\xbd\xdc\x3d\x10\xf6\xff\xa1\xe9\xd1\x6a\xb4\xb4\xe1\xb7\xde\x6c\xa0\xa3\x9b\x84\xf3\x5d\x4c\x17\xa2\xc2\x18\xfa\xb3\x2b\x83\x89\xcc\x21\xcf\x1a\x43\x31\x67\x57\x2a\x30\x98\x96\xf4\xdf\xcc\xf7\x4d\xfd\xee\x71\x2b\x83\xee\xce\x61\xee\x31\x55\xe3\x0c\x6f\x4f\x4a\x70\x92\xec\xe2\xf4\x76\x69\x34\x6f\x87\x6d\x78\x37\x9e\x3b\x8f\xed\x8f\x44\x0f\xa1\xbd\x76\x9a\xdd\x8e\xc1\x67\xf0\x62\xf0\xcc\xf8\x2e\x1d\x3f\xba\xfb\x0e\x14\xc7\xf9\x60\xbf\x07\xe2\xce\x48\xf3\xae\x5b\x62\x13\x98\xeb\xd0\x78\x9c\xcf\x75\x0e\xd9\xb6\x3c\x3b\xd3\xc5\x0d\x30\x6d\xd9\x73\xd4\xfa\x5a\x0b\xcc\xa3\x22\xc6\x94\xe1\x26\x70\x18\x73\x6f\x7a\x26\x5a\xbf\x17\xa8\x52\x79\xee\xd8\x67\xb4\x01\x3b\xc2\x87\xde\x21\x6f\x91\xa0\x8e\x40\xc6\x57\x5b\xff\x5a\x53\xd4\x55\x15\x16\x67\xc9\x27\xdb\x18\x31\xb3\xa6\x31\xea\x3e\xa3\xed\xc6\xad\x05\x19\x20\xf5\xab\x1b\x82\xb6\x41\x4c\x34\x02\x20\xaa\x79\xee\xf0\x92\x68\xbc\x2d\x91\x98\x03\x67\xa1\x98\x1a\x78\xbd\xa1\xf1\xf8\xd1\x28\x7c\x73\x0a\x08\x73\x79\x9c\xeb\x2f\xa5\xd4\x2b\xd9\x0d\xe8\xf7\x93\x7b\xf4\xf6\xba\xc6\x9e\x9a\xee\x63\x8e\xcb\x0b\x83\x10\xf2\x25\x68\x19\xba\xb7\x08\x4d\xf1\x4a\xe0\x9a\xf2\x5a\xb6\xa1\xcb\xe5\x23\x51\x2a\xd9\x9c\x7d\x7a\xfa\xea\x06\xb7\xcd\x65\xfb\x27\x68\x7f\x76\x4e\x3c\x9a\x9d\x1d\x85\x64\x06\xa5\x64\x87\x31\x96\xca\x54\xa2\x33\xa4\x6a\xb7\x5d\xe4\xef\x8e\xba\xda\x67\xb8\x2a\x61\x53\xa2\x2a\x51\xb8\xa7\xb3\xc6\x4a\x89\xf4\x03\xe9\x5a\x75\x76\x3f\xaf\x79\x65\xa2\xb2\x37\x64\x1c\x73\x60\x68\xf8\xa0\x37\xca\xa1\x8d\x83\xb2\xbc\x95\x77\x2f\x65\x39\x81\xcc\x68\x45\x57\x95\x3a\x4f\x33\x21\xc4\x41\x26\xba\x8c\x7c\x1d\xa7\xd6\x5f\x2b\xee\xf9\x70\x16\xee\x3e\x28\x08\xfa\xb9\x7e\x92\x39\x92\x61\x07\xa1\xbb\xa3\x81\xee\x83\xb4\xec\x8b\xbe\xcf\xf0\xc2\xa3\x15\x55\xbd\x47\xf0\x5e\x59\x15\x23\x33\x38\x4b\xee\xa6\x84\x4f\x4e\x9a\x77\xb4\x47\x76\x0e\x8e\x9f\x75\x2e\x1c\x9c\x8a\x7c\xe4\x9e\xa3\x64\x55\xaf\x7f\xd6\x8f\x41\xde\x8f\xe4\xee\x10\xf3\x23\x53\x75\x07\xde\xda\x9d\x90\xde\x79\x8d\x7d\x95\xa9\xcd\xb3\x22\xe3\x09\x57\x68\x4b\xb7\xd3\xe1\x09\xbf\xe4\xc2\x60\x22\x40\x18\x10\x21\xc8\xd6\x3c\x6f\x10\xff\x6d\x49\xe7\x55\x4d\x17\x6b\x26\x13\x68\x5f\x59\x89\x6b\xf3\xda\x89\x7f\xc9\x33\x6a\x26\x1b\x7a\x16\x7c\x06\xb7\xf3\xd4\x84\x42\xcf\x3d\xdc\x35\xe0\x5e\x9b\xb0\x6d\xc7\x0e\x19\x1f\x7e\x65\xf5\x7e\xf3\xb4\x09\xaa\xe6\xd9\xc8\xd1\x73\x06\xb7\x77\xdd\x20\x98\x28\xad\xff\x24\xd4\xa4\x1e\xb7\x2f\xd9\xd6\x7e\x01\xf5\xf3\x5d\xec\xa2\x7e\xc3\x44\xf0\xe9\xce\x1d\x1c\x1e\x83\x12\x31\x21\x44\x9f\x16\x9a\xf6\xe1\x07\xd8\xf6\xf9\x2c\x04\xd4\xf6\x4e\x1c\x9a\xf8\x90\x21\xe6\x72\x70\x6a\xc5\x81\x09\x9d\xe4\x70\x84\x9f\xcd\xe0\x1c\x3e\x7f\x4e\xb7\x67\xcc\xa9\xc7\x1a\x31\x4e\x37\x6f\xef\xd2\x2f\x92\xba\x5c\xd4\xa5\xa2\x79\xcc\x49\xbe\x16\x76\x9b\x07\xee\xeb\xa6\x86\xbc\x2e\x3d\xd3\x69\xbf\x84\xd5\xb7\x2c\x38\xd8\xa1\x01\xed\xe1\x5d\xdf\x21\x51\xee\x76\x83\x87\xa9\xd1\xff\x95\x9d\x1c\x7f\xe9\xae\x00\x12\x22\x75\x77\x94\xe4\x77\xb8\xe5\x34\x04\x98\x14\x44\x2c\xa5\x81\xea\x21\x4a\x43\xbd\x78\x5c\x0f\x67\x38\xa0\x17\xe6\xe3\xb4\x54\xf8\x76\x96\xcf\x38\xc3\xc6\xc7\xe9\xe0\x62\xbe\x54\xd3\xd7\x3a\xa9\xf6\x06\xa1\xb4\x6d\x3f\x1e\xa7\x5d\xb3\xdc\xff\xe3\xe7\xd8\xc6\xdf\x23\x11\x99\x1d\x2e\x1c\xc4\x3d\x99\x8d\xcd\x29\x23\x62\x6b\x8f\xbb\xd7\xda\x38\x27\x78\x2a\x0b\x87\xbd\xde\x77\x64\xe1\xa3\x0a\xbb\x9b\x8b\x6d\x1b\x58\x63\x59\x55\x7c\xa3\x09\x08\xd2\x49\xe7\x2c\xec\xb7\x4b\xc1\x27\x18\x5c\x34\xc3\xc4\x21\xbc\xc6\xaa\x35\x41\xbe\x7a\xf0\xce\x92\xd1\x2a\xb4\xce\x10\xfe\xd5\xec\x20\x6f\x14\x42\x8a\xdd\xd1\x1f\x7e\x68\xf9\x14\x2a\xce\xef\x9b\xcf\x6f\x8d\xaf\x18\xf2\x11\x5a\x81\x02\x1f\xb1\x9f\x9a\xec\x18\x70\xee\x35\x72\x6e\x7b\x79\xc9\x28\xbd\x71\x52\x50\x21\xd5\x6b\x96\xe3\xc3\x88\x17\x17\x11\x66\xe3\x23\xf8\x01\x5e\xc4\xa9\xc9\xdd\xee\xd4\x24\xc9\xae\x8e\x7a\x5f\x1b\x42\x41\x5a\x7b\x22\xd5\x82\x0b\xaa\xca\x65\xe3\x69\xb3\x8a\x4b\x94\x0a\xd6\xa4\xaa\xd1\xcd\x8d\xc4\x73\x22\xc6\xbb\x53\x09\x97\xfe\x21\xdd\xee\x1d\x56\xdc\x24\x6f\x77\x2b\x6a\xab\x42\x7e\xf2\x24\x1e\x55\xe9\x0e\xa0\xf8\xcf\x3c\x06\x83\xe2\x81\x7a\x65\xbe\xe2\x45\xcf\x25\xb9\x22\x19\x46\x99\x44\xf0\x98\x92\x70\xf8\x71\x57\xaa\x25\x27\x39\x95\x5a\x78\x2e\x52\xe9\x1e\x64\x42\xaa\xdc\xda\x81\x06\x93\xde\xbb\x17\xad\x06\x31\x19\x11\xeb\xf9\x18\x50\xed\x78\xdb\x6c\x33\xb3\xae\x58\xa8\xa8\xd3\xa5\xff\x28\x5c\x96\xe5\xf6\x87\xf7\xbe\xe1\x7c\x05\x35\x53\xb4\xf2\x77\xaf\xb8\x19\x4e\x95\x90\x09\x2e\x5b\x1c\x36\x25\xad\xd0\x82\xbf\x74\x00\x63\xaa\xf5\x45\x4b\x9a\xc3\x0c\x46\x66\xd7\x0f\x76\xd7\x18\xa6\xf0\x9f\xdd\x12\xab\xa5\xe1\x76\x49\xf3\x3b\xad\x1d\x8e\xc7\x83\xd5\x44\xe7\xc8\x40\xb1\x10\x0b\xec\xb2\x77\x51\x1f\xbc\x29\xf8\x72\xd3\xee\x3d\x39\x69\x24\xdd\x39\x08\x67\x2f\x52\x67\x07\xd1\x83\x33\x78\x71\xf7\x48\x1f\xdd\x1c\x76\x82\x59\xd2\x7c\xbf\xd2\xca\x61\x7b\xa9\x79\xec\xbb\xa8\xe3\x00\xf1\x2e\xc5\xda\x7b\x1d\x84\xf9\x3e\x58\x3b\x1d\x73\xe0\x77\xf6\x54\x21\xe5\x49\x18\x57\xa5\x0e\x79\x26\x44\x77\xf3\x05\xef\x0e\x9c\x79\x98\x0f\xd9\xc7\x9d\xff\xa7\xc1\x6b\x46\x15\x25\x15\xfd\x07\xda\xf7\xdc\x79\x15\x3c\x8e\x1a\xb3\xdb\xeb\xa3\x06\x98\xc1\xd4\x7d\x35\x31\x7d\xe4\x63\x09\x48\xb5\xf4\x60\x06\x9f\xbe\x24\x97\x3b\x0f\x2d\x2f\xce\xcf\xcf\x1f\xdd\xe7\x5f\xbb\xb5\xf5\x4e\xfe\x2b\xde\x9e\x6e\x66\x47\x3c\x79\x4f\xd6\x18\x1f\x22\x59\xc6\x6b\xa6\x26\x92\xac\x71\x74\x79\x96\x99\x2c\x62\xc7\x14\xde\x68\x7c\x0a\x8a\x5f\x1c\xc0\x40\x9f\xb6\x7d\x79\x06\xff\x0c\x00\x00\xff\xff\x11\x60\x63\x79\xc9\x43\x00\x00" -func enversionbeaconCdcBytes() ([]byte, error) { +func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( - _enversionbeaconCdc, - "ENVersionBeacon.cdc", + _executionnodeversionbeaconCdc, + "ExecutionNodeVersionBeacon.cdc", ) } -func enversionbeaconCdc() (*asset, error) { - bytes, err := enversionbeaconCdcBytes() +func executionnodeversionbeaconCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconCdcBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "ENVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0x4a, 0xa, 0x46, 0xdd, 0xdb, 0x42, 0xbd, 0xd0, 0x1e, 0xad, 0xb1, 0x8b, 0x1d, 0xeb, 0xc5, 0xfd, 0x49, 0x94, 0x3a, 0x2a, 0x8d, 0xa4, 0xbd, 0xd6, 0x7a, 0xbc, 0xa6, 0x65, 0x3d, 0x72, 0x97}} + info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x6, 0xf0, 0xb4, 0x74, 0x86, 0xa9, 0xec, 0x7c, 0x8f, 0x90, 0xa9, 0x85, 0xd1, 0x21, 0xf7, 0x74, 0xce, 0x9e, 0x68, 0xf5, 0xe6, 0xb, 0x9, 0x21, 0x9e, 0xf9, 0x8e, 0x92, 0x1b, 0x2, 0x2f}} return a, nil } @@ -265,26 +264,6 @@ func flowtokenCdc() (*asset, error) { return a, nil } -var _ienversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\xdf\x6f\x1b\x37\x0c\x7e\xf7\x5f\x41\xf4\xc9\xee\x52\xfb\x65\x18\x86\x20\x0d\xd0\x7a\x1e\x56\x0c\x4d\x8b\x35\xdd\xeb\xc0\xd3\xf1\x7c\x5a\xee\x24\x4f\xe2\xd9\x0d\x82\xfc\xef\x03\xa5\xfb\xa1\x3b\xdb\x6d\xd7\x65\x6f\xcb\x5b\x4e\x12\xf9\xf1\x23\x45\x7e\xf2\x6a\xb5\x82\xdb\x52\x7b\x50\xd6\xb0\x43\xc5\xa0\x3d\x34\x9e\x72\x60\x0b\x39\x15\xda\x50\x0e\x59\x65\xd5\x1d\x94\xa4\xb7\x25\x03\x9a\x1c\xbc\x2d\xf8\x80\x8e\x60\x4f\xce\x6b\x6b\x20\xb3\x8d\xc9\xd1\x69\xf2\x33\xb1\x58\x58\x07\x5c\xd2\xb0\xcf\x35\x06\xb2\x7b\xd8\x7c\x22\xd5\xb0\x1c\xb8\xb1\x39\xf9\xe5\x6c\xd7\x64\x89\x67\xc3\xe4\x0a\x54\x04\x6f\x36\x37\xbf\x47\xcb\xaf\x09\x95\x35\xf0\x30\x9b\x01\x00\xc8\x76\x32\x4d\x0d\xfd\xfa\xc7\x5d\x8e\x4c\xaf\x94\x18\xbd\x84\x8f\x6f\x0c\xff\x08\x0f\x61\x6f\xb7\x5f\xa1\x27\xc0\x3c\xa7\xfc\xf8\x73\x4e\x15\xf1\xa9\x05\xac\xc9\x74\x27\x1e\xa3\x6f\x89\xeb\x03\xbb\x46\x31\x38\xda\x39\xf2\x64\x58\x9b\xed\x24\xa6\x23\x6a\xfa\xb3\x58\x59\xb3\x85\x83\xe6\x12\x4a\xaa\x76\xe4\xa0\x68\x4c\xc0\xed\xfb\xd8\x7c\xb4\xdf\x47\x97\x84\x22\x26\xd6\xb6\xde\x19\x32\xec\x63\x66\xc4\x3b\x82\xa7\x1a\x0d\x6b\x35\x72\xd8\x19\xac\x88\xa1\xc6\x3f\xad\x6b\xb9\x39\x5e\xd4\xe6\xfc\xe2\x0e\x59\x95\xdd\xe2\x08\xc9\xbb\x2a\x27\xcf\xa0\x6c\xbd\x43\xd6\xac\xb3\x6a\xa8\x85\x10\x22\x4b\x4d\x4d\x11\xad\x56\xab\x91\x95\x9f\xba\x28\xc2\x6e\x85\x26\x30\x13\x0d\x54\x76\xab\x15\xa0\x93\xc2\x82\x46\xb2\x2c\x1b\x33\x2a\xac\x23\x40\x60\x74\x5b\xe2\xb6\x32\xb5\x07\x47\xa8\xca\x24\x93\x21\x5b\x8d\x2a\x21\xa3\x12\xf7\xda\x3a\xa8\xf1\x1e\x32\x49\xb9\xd7\x8e\x50\x00\x6b\x13\x8a\x94\xf6\x64\x18\x32\x47\x78\x27\x2e\x54\x89\x66\x4b\x1e\x42\xd9\x52\x45\xe8\x27\x66\x33\xe2\x03\x91\xe9\xa2\xf3\x47\xb4\xd9\x40\xce\x3a\x72\x93\x55\xd4\x26\xf3\x72\xc8\xeb\x40\xa6\x36\x9a\xe7\x69\x86\x2e\x46\x29\xb9\x18\xe5\xe0\xe2\x2b\x4c\x2f\xc6\x89\xfa\x8d\xb8\x71\xa6\x4f\x85\xc4\xfc\x81\xea\xbd\x54\x9f\x75\x35\x32\xcc\x69\xb9\x5d\xc2\xfe\x2a\x60\xb8\x5e\x5e\x05\xef\xd7\xcb\xab\xe0\xf7\x7a\x31\x32\x86\x1e\x50\xee\x80\x36\xdb\x51\xd0\x45\x63\x80\x6d\x5c\x98\x2f\x2e\xbb\x2d\xc3\xd9\xe7\xb0\x6e\x3c\xdb\x3a\x54\x30\x3a\x64\xeb\x3c\x3c\x5f\x9d\x86\xca\xae\x21\xd0\x45\x72\x0b\xb4\x87\xad\x23\x64\x92\xae\x82\xa3\x7a\x82\x1d\x7a\xe9\x56\xc3\x66\xe9\x4f\x05\x56\x9e\xc0\x72\x49\xee\xa0\x3d\x1d\x81\x6d\xad\xdd\x96\x68\xe6\x7f\xc4\x7d\x29\x85\x97\xf0\xda\xda\xea\x1b\xd1\x81\x75\xa3\x83\xf4\x57\x83\x95\x74\xd3\x7f\x8b\xf4\x9d\xdb\x88\xa9\x5b\xfb\x24\x90\x2b\xf2\xfe\x89\xd8\x14\x53\x4f\x46\x65\x8f\xeb\x69\x79\xec\x30\x3e\x2d\x89\x13\x4c\xa3\x83\xff\x0c\x1f\x7d\x11\x15\x8c\x47\xd1\x26\x74\x2d\xaa\x35\x33\xe5\x80\xe6\x1e\x58\xd7\xd2\x19\x0d\x1d\x86\xdb\xee\xe3\xe4\x13\x88\xd2\xea\xba\xef\x2c\xfd\x6f\x98\xa8\xc1\x54\xef\xf0\x56\x16\xe3\x5c\xcd\xe7\x71\xe8\xc7\xfe\xf3\xc3\xf7\x17\x9d\x85\x04\xdf\x05\x60\x3b\x7d\x4f\x0e\xe5\xc5\x17\x21\xa7\xc0\x94\xb5\x55\x6e\x0f\x06\x76\xe4\xb4\xcd\x83\x18\x89\x48\xce\xa1\x5d\xb7\x27\xde\x87\x03\x1d\x6c\x43\x87\x93\xeb\x5d\x20\x09\xaa\x35\x1a\x6b\xb4\xc2\x0a\x3c\x5b\x87\x5b\x92\x96\x5b\x06\x09\xd3\x3b\xf9\x95\x68\x47\x6e\x96\x36\xf9\x7e\xed\x55\x5e\x6b\xf3\x21\x1e\x7d\x8f\x5c\x4a\xfb\xeb\xff\x19\xdc\x04\x56\x21\xd7\x8a\xe3\x24\xab\xb5\xd1\x75\x53\xf7\x91\xbf\x80\x87\x30\xcc\x7e\x69\x09\xef\xed\x3f\x06\x13\xa8\x14\x79\x3f\xef\xb4\xd2\x22\x60\xd8\x27\x09\xbb\x84\x87\x18\xda\xe8\x68\xef\xfe\xa6\xa9\x33\x72\x60\x8b\x38\x32\x7d\x3f\xc5\x3a\x55\xc7\xc3\x90\x95\x7a\x6d\xe7\x6b\xbb\x2a\x64\x74\x40\x9d\xad\x2a\xbb\x6f\xd9\xf8\x1c\xac\xd3\xcc\x0f\x90\x02\x71\x89\xe8\xe3\x12\x45\xac\x18\x94\xe9\x2b\x45\x31\x51\x56\xad\xd9\x6e\xf8\x88\x89\x1a\xb5\x61\x0c\x1a\x35\x0c\xf3\x44\xc7\xf6\xc9\x72\xe4\x6d\xe3\x14\x25\x9e\xc6\xb9\xeb\xc4\x65\x67\x34\xd6\x50\x40\x30\x4d\x92\x5c\x23\xbc\x23\xa0\xa2\x20\x15\x48\x93\x5d\x5b\xbd\x27\x33\x12\xc9\x47\xd7\x1b\xf3\xfc\x6d\xb4\xd5\x7a\x9e\x47\x82\x47\x29\x3f\x7f\xc7\x16\x89\x10\x0c\x66\x1d\x4d\xbe\xc8\xdf\x91\x49\xb8\x86\x2d\xf1\xba\x71\x8e\x0c\xbf\x96\xef\xf3\xc5\xb2\x4d\xe9\x77\x13\x16\x96\x67\xb2\xf6\xec\x36\x55\x5a\xed\x61\xab\x54\xe3\x3c\xb0\xb5\xe0\x6d\xe4\x25\x5e\x53\xd8\xdc\x74\xf0\x9f\x8d\xf0\x3d\x8e\xfe\x93\x1e\x00\x9b\xb7\x9f\x6b\x38\x47\xc1\x24\xbc\xec\xcf\x76\x9e\xd8\x73\x96\xa1\xe9\x0d\xda\xe5\x71\x36\x91\x9d\xa2\xfa\x63\x8d\x91\x61\x77\x2f\xc5\x93\xde\xa5\x2e\xb1\xed\xa4\x39\x99\xd9\xa8\xc7\x9b\x2a\x17\x51\x29\xb2\xb5\x68\x2a\xb1\x13\xdb\x93\x2d\xc2\x3d\xc9\x50\xdd\x1d\xd5\x42\x7c\x74\x84\x74\x44\x6e\x5b\xec\x6f\x71\xb7\x13\x01\xf5\x7f\x4d\xfc\x27\x35\xd1\xbe\xf5\x4e\x56\x45\x97\x9a\x08\xf8\xe4\xe4\x98\x77\xa3\xe9\x8d\x09\xac\xf9\x7e\x94\x4c\x58\x8f\x71\x7c\xeb\x78\x9a\x7a\x49\xe1\xc2\x58\x01\xf4\xca\xa4\x24\x50\x31\x9f\x47\xf3\x53\x9e\x52\xda\xc0\xa1\xd4\xaa\x84\xcd\x8d\xef\x0f\xcb\x63\x2b\x23\x40\xef\x1b\x47\x79\xf2\x76\xab\x2a\x30\x96\xdb\x57\xd0\x2c\x25\x67\xa8\xd4\x09\x33\x8b\xe3\xde\xfe\x73\xfb\xb4\x8d\x4d\xdd\xf5\x48\x91\xfb\x9e\xda\x41\xee\x7f\x42\x90\x87\x16\x58\x93\xc6\xd3\xdb\x3b\xfa\x05\x62\xa4\x64\xa0\x8e\x57\x67\x0a\xb7\xad\xf2\xb6\xf3\xf6\x39\x11\xc0\x93\xa7\x58\xca\x27\x82\xb2\xbb\x7b\xb9\xc2\x82\xa4\x68\xaa\x0a\x4a\x2d\xda\x20\x88\x84\xb4\x4f\x9c\xa1\x27\xac\x89\x93\x87\xde\x4b\xc7\x50\x92\xbe\x75\x49\x32\x87\x0f\x25\x89\xe0\x6b\x87\x48\x9f\x07\xf4\xdd\xe3\x3a\xe9\x47\x67\x06\x4d\x87\x40\xfb\xe1\x61\x38\x04\xfb\xb5\xed\x24\x15\xbf\x09\x1d\xd3\x18\x6f\xe8\x13\x8f\xa8\x0b\x2f\xd8\xf4\x12\x78\xaa\x8a\xe5\xa8\x9d\xbe\x84\x87\xc7\xf1\xf2\x59\xf5\x04\x2f\x61\xd5\xea\xb0\xd5\x78\xd3\x6c\x6c\x01\x95\xb2\x8d\xe1\xa5\xc7\x3d\xcd\xaf\x5e\xa8\xf0\x4e\x9a\xf4\xaf\xf9\xe2\x02\xd8\x5e\x7e\xc1\xe5\xa2\xbd\x58\x8f\xb3\xbf\x03\x00\x00\xff\xff\xe1\xa4\xf9\xd6\x0d\x13\x00\x00" - -func ienversionbeaconCdcBytes() ([]byte, error) { - return bindataRead( - _ienversionbeaconCdc, - "IENVersionBeacon.cdc", - ) -} - -func ienversionbeaconCdc() (*asset, error) { - bytes, err := ienversionbeaconCdcBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "IENVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0x46, 0xa9, 0x20, 0x8e, 0xdb, 0xb, 0x76, 0xaf, 0x8e, 0xad, 0x13, 0xd, 0xba, 0x43, 0x4e, 0x95, 0xa8, 0x2f, 0xef, 0xa7, 0x83, 0xdc, 0x5b, 0xee, 0x53, 0x6, 0x77, 0x18, 0x52, 0x0, 0xfe}} - return a, nil -} - var _lockedtokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\x5d\x73\x1b\x39\x72\xef\xfa\x15\xb0\x1e\x76\xc9\x3b\x99\x72\x2e\xa9\x3c\xb0\xac\xf5\xc9\x96\xbd\xa7\x5a\xaf\xed\x92\xe4\x38\xa9\xd4\xd5\x15\x38\xd3\x14\xb1\x1e\x0e\x66\x81\x19\xd2\x8c\xcb\xff\x3d\x85\xcf\xc1\xe7\x0c\xc9\x75\x76\xed\x9c\xf9\x22\x71\x06\x68\x34\xba\x1b\x8d\xfe\x02\x78\xfe\xa7\x93\x13\x84\x10\x7a\x49\x8b\xf7\x50\xde\xd1\xf7\x50\x73\x44\xd6\x4d\x05\x6b\xa8\x5b\x8e\xda\x15\xa0\x65\x57\x17\x2d\xa1\x35\xae\x48\xbb\x43\x0c\x7e\xed\x08\x83\x12\xb5\x14\xad\x71\x8d\xef\x01\xbd\x78\xf9\xfa\x9d\x84\xb2\xe8\x76\xc0\x38\xaa\x24\x30\xd4\x2a\x68\x4b\x46\xd7\x12\x8e\xfc\x8e\x38\xae\x60\xa6\x06\x7d\x8e\x8b\x95\x7e\xba\xa2\x55\x09\x0c\xdd\x83\x18\x73\x4b\x11\x2e\x0a\xda\xd5\x2d\x9f\xa1\xd7\x35\x98\x6f\x88\x48\x84\x08\xf3\x46\x90\xa0\x74\x8b\x19\xba\x6e\xd1\x96\x54\x15\x5a\x00\xfa\x85\x92\xba\xad\x76\xa8\xa0\x75\xcb\x68\x55\x41\x89\x16\x3b\x89\x49\xc7\x81\x21\x5c\x97\x0e\x5a\xb8\x5c\x93\x9a\xf0\x96\xe1\x96\xb2\x99\x84\x79\x97\x7e\x89\xd6\x1d\x6f\x51\x41\x1f\x72\x72\x5f\x2b\x08\x0c\xd7\x7c\x09\x0c\xd1\x25\xc2\xf5\xce\x9f\x7f\x12\x16\x2a\x70\x5d\xd3\x16\x91\xba\x05\x86\x0b\x81\x73\xbb\x92\xb0\xf4\x44\x64\x27\xf1\x90\x76\x2d\xc2\x4d\xc3\xe8\x06\x57\x21\x29\x15\xd1\xce\x64\x5b\xf8\x50\x40\xd3\x0a\xa6\x94\xd0\x50\x4e\x5a\x84\xcb\x92\x28\xb6\x19\x84\x2c\x9f\x28\x13\x0d\xbb\x5a\x3c\x47\xf0\x81\xf0\x96\xd4\xf7\xf2\x35\xc2\x2d\x02\xc1\x96\x35\xa9\x80\xb7\xb4\x06\x44\x6a\x67\xc8\x0d\xa8\xb6\x0d\x30\x42\x4b\xcd\x47\x31\x39\x0e\x05\xad\xcb\x80\x53\x7a\x08\x28\x35\xc5\x0d\x93\xee\x56\x84\x3b\x4d\x25\x10\x52\xa3\x65\x57\x55\xa8\xa1\x9c\x03\x27\xb4\x96\x0c\xd2\xbc\x13\x94\x0d\x19\xb7\x13\x44\x44\x25\x45\xdb\x15\x6e\x61\x03\x4c\x82\x91\x2f\xb6\xb8\xd6\x24\x25\xe1\x68\x52\x38\x78\x4b\x19\x20\x8c\x0a\xdc\xe0\x05\x91\x62\xdd\xae\x70\x8b\x70\x55\xd1\x2d\x37\x70\xd6\x82\x48\x02\x4a\xc9\xf0\xd6\x48\xf3\x76\x05\xb5\x1a\x64\x01\x05\x5d\x3b\x53\x14\x68\xe1\x8a\x53\xd4\x52\x09\xa1\x01\xb6\xa4\x6c\x8d\x78\x8b\xdf\x0b\x92\xd1\x06\x18\x16\x0c\xe1\x96\xdb\x81\x24\x73\x4d\xcf\x77\x62\x0c\xec\xd1\x4c\x10\xb4\x60\x80\x5b\x28\xcf\xd0\x82\xb6\x2b\xbb\x42\x10\x66\x82\x47\xa4\x25\xb8\x22\xff\x03\xa5\x04\x6e\xa6\x40\x18\x62\xc0\x1b\x28\x5a\xb2\x01\x44\x17\xbf\x40\xd1\xf2\xb9\xbb\xda\x7f\x96\x4b\x98\xa1\xa5\x90\x09\xc1\xc7\x15\x16\x8b\x5b\x43\x57\xb2\x25\x66\x26\x1b\xff\x4d\xad\x52\xd3\xb6\x9f\x7a\xcf\x58\xcd\xa3\x02\x57\x15\xb7\x9a\x43\x91\x94\xd6\x1e\x94\x04\x71\xad\x7c\xfb\x58\x28\x8e\xa7\xa9\x8a\x0b\x9f\xa4\x3e\x41\x4f\x4e\xd0\x9f\xce\x4f\x4e\xc8\xba\xa1\xac\x45\x2f\x2a\xba\x95\x18\xa8\x81\x1e\x7d\x10\x12\x7f\xf7\xfa\xa7\xe7\xaf\x2e\xaf\xae\x6e\x9e\xdf\xde\xda\x86\x5d\x7d\x4f\x16\x15\xf8\x8d\xdf\xbe\xfa\xf1\xfa\xe9\xcb\xe7\xc9\x0e\x15\xdd\x5e\x5f\xdd\xe1\x45\x05\xb7\x1a\x31\x67\x88\xeb\xab\xbb\xcb\xa7\x2f\x9f\xdf\xde\x5d\xfe\x74\xfd\xea\xc7\x44\xd7\xdb\x96\x32\x7c\x0f\x2f\x00\xb8\xdb\xef\xf6\xee\xf5\xcd\xe5\x8f\xcf\x5f\x3c\x7f\x7e\x1b\x74\xd2\x83\xbc\x61\xf4\xc3\xce\xf4\xd0\xe0\xdf\xdc\xbc\xfe\xcf\xff\x32\xcd\x4f\x9a\x6e\xa1\xd6\x90\x50\x32\x9e\x92\xff\xa8\x64\x4d\x34\x80\x0d\xd4\x2d\xba\x95\x34\xbf\x54\x24\xbf\x81\x7b\xc2\x5b\x60\x50\x4e\x70\x59\x32\xe0\x7c\x8e\x2e\xd5\x3f\xd3\xa0\xdf\x5b\x2d\x05\xfb\xf4\x4c\x76\x7d\x49\xd6\xa4\xbd\xae\x85\x78\xf3\x44\xaf\x33\x44\xf4\xbb\xcb\xb5\x18\x60\x8e\xde\xbe\x20\x1f\xfe\xfd\xdf\xce\x50\x0d\x5b\xd9\xd7\x3c\x89\xe0\xbf\x4c\x23\x76\xc9\x5f\xd1\x12\x12\x03\xd5\xb4\x84\xeb\xab\x39\xba\x6d\x19\xa9\xef\xc3\x89\x66\xa1\x5d\x41\x05\xf7\x62\x6b\xd8\x03\x64\x12\xa6\x62\xc9\x95\x52\xdc\x49\x12\x60\x6f\xea\x1a\xcc\xf9\xf9\x39\x7a\x83\x85\xdc\x53\xad\xd2\xc2\x05\xa0\x77\x68\xa9\x05\x68\xc7\x0a\xb0\xfd\xb4\x56\xf7\x17\x9a\x45\xae\x82\x36\xa1\x24\xb4\x98\x8a\x21\xc5\x84\xec\x97\x21\x6c\x1a\x46\x36\xb8\x05\x57\xd5\x1a\xf5\xd1\xef\xde\xa2\xab\xc6\x74\x04\x85\x37\x0a\x9c\x42\xc1\xf9\xb2\x0f\x0a\x1e\x61\xd4\x36\x5c\x91\xfa\xfd\x71\x24\xb9\x14\xfd\x8f\xc1\x46\xef\xff\xc2\x1e\x91\xaa\x2b\x1c\x5e\xbd\xdf\x67\xf4\x67\x16\xc6\x31\x8c\xf1\xec\xae\x9c\x78\x84\x1a\xde\xc3\xc7\x51\xe6\x7b\x20\xd0\x2d\x2a\x52\xa0\x26\xc2\x63\x60\x0f\x16\xfd\x18\xe0\x52\xa8\x53\x52\x0b\xb5\x2f\xf7\x4f\x84\x17\xd2\x2a\x42\x03\xb8\x79\x6b\xf5\xba\x5e\x52\x35\xbe\xe6\x94\xfd\x3f\x24\x90\x44\xc0\x52\x5f\xed\xb8\x94\xa1\x2d\xed\xaa\x52\xe1\x6c\x3b\x08\xdc\x0d\xd9\x54\x47\x69\x15\x74\x5c\x90\x56\xef\xd5\x01\x86\x3c\x8f\xe2\x33\x35\xd2\xbe\x8c\x1c\xc4\xb3\x11\xd3\xe3\x2b\x17\x53\xc2\xb2\x0b\x50\x0b\x9c\xde\x5e\x45\x7b\x63\x40\x3a\xe6\xa8\x1a\x41\xd0\xbe\x07\x33\x3a\x99\x31\x92\x0b\x63\xa1\x97\x66\x17\x41\x25\x03\x39\xeb\xdc\xb1\x5d\xb5\xdd\xa0\x8d\xd6\x5e\x97\x84\xc6\x6b\x68\xb6\x1a\xd4\x2d\x03\xa5\x21\xbe\xc4\x85\x87\xd1\x47\xd9\xce\xb4\x5d\x76\xb5\xdd\x89\x9c\x8d\x6b\x52\x42\xd5\xe2\x5e\x33\x8b\xe6\x9f\xdc\x49\x0a\x53\x38\xa9\x8b\x85\x4d\x27\x65\xaa\x4c\xab\x1e\xc7\xc3\xc2\x45\x01\xbc\x5f\x14\x2d\x8d\x35\xfd\x06\x77\x95\xb1\x94\x14\x30\x65\x23\x9c\x97\x6a\x77\x12\xd3\x37\x23\xf3\x04\x05\x62\x5d\x3b\xf7\xed\xa0\xd9\x0d\x14\x40\x36\xc0\xce\x82\xe7\x6f\x18\xdd\x10\xe1\x88\xf8\xb4\xb3\xc4\xb3\x64\x10\x66\x38\x62\xb0\x04\x06\x75\x01\x06\xcf\x12\x96\x12\x75\xe9\x7e\xa8\x59\x0c\x51\x65\xe6\xc2\xf5\xc6\xb8\xac\x3c\x4f\xc7\x0a\x07\x03\x0f\x20\xe1\x6a\x94\x33\xb4\x5d\x91\x62\x25\xbd\x88\x85\x21\xb1\x6e\xb4\xa5\x68\x8b\x77\x7c\xee\xc1\x47\xe8\x5f\xa6\xe8\x8a\x30\x28\xda\x6a\x27\xac\x12\x84\x95\xeb\xa7\x6c\x50\xe3\x12\x2a\x37\x53\xda\xe8\x91\x9e\x55\xec\x89\x24\x3a\x18\xe6\x2f\x53\x74\x5d\x97\x7a\x20\xb4\x21\x58\x02\x8a\x19\x94\xc0\xa1\x47\x20\x1c\xdb\x93\xe5\x0d\x66\x8a\x08\x73\xf4\xcc\x2e\xbb\xc7\xdf\x59\x03\x79\xf6\x1f\xe2\xe5\x0f\x21\x0f\x41\xdb\x21\xd2\x1d\x53\xd4\x35\x9a\xcf\x98\xfd\xb5\x35\xea\x3d\x46\x09\xbf\x9c\x70\x54\x82\xb6\xf2\xac\x1f\xa5\xfa\x99\x3e\x3c\xc2\xb2\xeb\x57\x9a\x59\x63\x3e\x56\xaf\x1b\xed\xe4\x0a\x9b\x4e\xd8\xc5\xce\x0a\x9b\xa1\x77\xc2\xdd\xa3\x75\x25\xdc\x35\xb4\x24\x32\x08\x40\x7a\x5f\xd2\x83\x24\x68\xc7\x51\xd7\x08\xc1\x14\x02\x21\x6d\x37\xed\xb6\xd1\x98\x7e\xb5\x1d\x6f\x8e\xfe\x1a\x3b\x00\xb3\x1e\x9f\x27\x03\x18\x5b\xdb\xf1\x73\x21\x5d\x1a\x80\x49\x84\xed\x70\x79\x9c\x6d\x13\x07\x6d\xe1\x5f\x4e\xf6\x10\x98\xa9\xa3\x33\xc5\x87\x43\xb5\x9c\xa9\x35\x7d\xa1\x04\x2e\x7e\xdd\xd3\x11\x3d\x7e\x88\x6a\x52\xa5\x9b\xf4\x84\xca\xb5\x72\x44\x05\x5d\xa0\x47\xb3\x47\xb6\xc9\xa7\x7e\x26\x25\xf0\x96\xd1\x1d\x9a\x84\xa8\x9a\x17\x01\x4e\xc3\x6d\xae\x22\x62\x7f\x72\x79\x9d\x51\xa0\xc6\x69\xf5\xc5\x42\x9b\xff\xbc\x37\xba\xcc\x12\x53\x7a\xd2\x27\x9f\xd9\x91\xf4\x66\x3d\x11\x4e\xa0\xe0\xa9\x37\xa0\x64\x4a\x92\x27\xba\x9b\xf1\xdd\x94\x03\xa2\x81\x3c\x7e\x28\xfe\x4e\x53\x53\x52\x4a\x72\x22\x40\x4c\xdd\xe1\x93\x70\xf6\x41\x46\xd8\x0e\x72\x62\x37\xb0\x44\x17\x8e\xbc\xcc\x16\x94\x31\xba\x9d\x4c\x1f\x9c\x44\x1d\x16\xb8\xc2\x62\x03\xb9\x90\xae\xef\x4c\x7f\xf5\xdb\x19\xa0\x33\x9f\x40\x8f\x1f\x22\x35\xb9\x98\x24\x03\x7b\xbb\x1e\x21\x49\x92\x88\xcb\x66\x3b\x4c\x73\xf9\x9d\xd1\x74\x11\x9b\x6d\xf0\x23\xcd\x68\xa3\x22\x27\x81\x2b\x98\xa6\x73\x40\x66\x06\x6d\xc7\x6a\xf4\xf8\xa1\x9c\xa9\x01\x15\x70\xcd\x00\x56\x7f\xf7\xe3\xff\x08\xa8\x43\x70\x6c\x18\x04\x4f\x50\x6a\x65\xff\x70\x61\x9d\xe1\xd3\x1b\xf8\xb5\x03\xde\x0a\xe3\x40\xed\x4b\xf0\xa1\x00\x28\x43\xda\xa2\x4a\xf4\x3c\xf5\x60\x7f\xf2\x25\xa0\xa1\x3c\xc4\x27\x39\xfa\xc5\x05\x5a\xc0\x92\x32\x98\x84\xaf\xa6\xe8\x61\x8f\xd8\xdb\xa6\xc4\x02\xad\x14\x1e\x62\x1f\x24\x75\x41\x99\xd8\xdf\x07\x91\x3a\x6a\x71\x28\x6d\xfb\xf8\x61\xbf\x02\x22\xc9\x31\x0c\x4e\xa9\x85\xec\x1a\x48\x76\xb2\x72\xe5\xcb\xac\x33\x0f\x23\xbe\xf7\xd0\x3e\x55\xab\x68\x32\x35\x72\x71\x84\x2e\x48\x0c\x6e\xe7\x69\xf4\x40\x02\x8b\x84\xde\x1a\x33\xe4\x53\x5a\xd3\xdf\x61\xa2\x47\x0f\x91\x04\x91\xd1\x12\x6e\xa8\x67\xe6\x58\xca\x49\x35\xf1\x0c\xbb\xf9\x0a\xe5\xa2\xc1\x06\xd8\x0e\xb5\x64\x2d\xb6\x79\xe3\xd1\x30\xa8\xc4\x3c\xd0\x0a\x37\x0d\xd4\xfc\x08\x8f\xe5\x88\x89\xfe\x39\x98\xa8\xf8\x80\x78\x31\x1c\xd0\x93\x70\xe8\xb6\x06\xf6\x60\x86\x73\xc1\x3d\x09\xd9\x8d\xed\x45\x0b\x6d\x6f\xfa\xea\x40\x73\x92\xc0\x26\x7e\x27\x5c\x92\x1a\xb6\xbe\xad\xd7\x47\x93\x85\x81\x63\xa2\xad\x36\x90\xea\x01\x52\x59\x8a\xf5\x5a\xec\xdc\xb8\x36\x91\x78\xc7\x50\x8e\x36\x73\xe1\x98\x41\xc4\x28\xa6\x11\x92\xa1\x49\x19\x35\xac\x97\x74\xee\x45\x7a\xa5\x79\x26\x1e\x47\xf1\xc0\x80\x87\x64\x29\x17\x93\x6f\x59\xa5\x8d\xad\x84\xd2\x13\x5d\xb5\xf3\x28\x06\x43\x17\x89\xf0\xb6\x45\x65\x62\x02\x9c\x3d\xe4\x19\x29\x03\x35\x21\x97\x20\xe7\xc0\xda\x49\xf4\x5c\xca\x5c\x3f\xda\x4c\xd1\x49\x42\x2a\xd1\x9f\x13\xaf\x9e\x49\x62\xb7\x99\xb7\x6f\x6b\x93\x19\xc8\xbf\xcd\x74\xbd\x81\x2d\x66\x25\x94\x42\xc9\x3f\x9a\x3d\x3a\x4b\xa2\xba\x06\xce\xf1\x3d\xcc\xd1\xe9\x33\x95\xc2\x33\x7c\x73\xe5\xa8\xab\x5b\x52\x21\x5c\x55\xd1\xde\xde\x30\xd8\x10\xda\x71\xd5\x6e\x85\x37\x80\x16\x00\xfd\x3e\x5a\x9f\x46\xa3\x26\x68\x69\xec\xd0\x8c\x99\xfa\x39\xb6\x11\x8d\xf8\xe1\xfb\xc8\x5e\x82\x97\x10\x28\x5c\x96\x42\xa6\x6e\xa0\xa0\xac\x9c\x90\x52\x49\x94\x64\x0f\x29\xcf\x10\xa3\x15\x38\x8f\xc4\x57\xa1\x24\xda\x2d\x65\xa2\xfb\xa5\xd1\x31\xb6\x45\xf4\xce\x6d\xfe\x13\xec\x92\x4d\x7f\x82\xdd\x99\x91\x0c\xbf\x4d\xff\xf0\x0c\x05\x72\x28\xac\x4a\xf5\x28\x20\x45\x82\x4d\xb1\xca\xdc\x33\x47\x91\xd4\x9d\xee\xda\xd3\x94\xca\x68\xc7\x58\xe1\xf5\xfe\xd4\x01\xca\x4e\x05\x6c\xab\x0a\x18\x5a\x61\xa5\xcc\x1a\x28\xc8\x52\x6d\x53\xd7\x57\x26\x4f\x9b\xf6\x9c\x35\x84\x9d\x0c\xc9\x38\x61\x29\x1d\x7b\x44\x09\x6d\xd8\xa7\x56\x82\x44\x4a\x5a\xe3\x95\xae\x93\x98\x75\x1d\x33\x3a\xcf\x76\xce\x6b\xbd\x2b\xb7\x89\x45\xc9\x76\x9c\xa9\x27\x67\x0e\x28\xef\xf5\xc1\x8a\xd1\x43\x29\x54\x8d\xa9\x97\xae\x72\x4c\xbd\x77\xd5\x63\xfe\x7d\xb6\xfb\x67\x51\x91\x3d\x93\x7e\x2f\x3d\x19\xc7\x44\x50\x5a\x4d\xee\x21\x3f\x09\xa9\xb0\x5b\x37\x6c\x63\x79\x55\x7f\x33\x9a\xa1\x47\xec\x00\xc5\x90\x48\x37\x8e\x6b\x87\xab\xa4\x62\x30\xcb\x4d\x6d\x04\x52\xe3\x4c\xe7\xe8\xbb\xe1\x68\x56\xc2\x6c\x17\x43\xbc\x6e\xda\xbc\x99\x91\x33\x4f\xe4\x6b\xdd\x39\xbd\x2a\x6b\xb9\x29\x88\x8d\xeb\x3b\xd9\x01\xf3\x11\xfc\xd2\x4e\x9c\x87\xd1\x03\x09\x35\x6a\xa8\x1d\x0a\x3d\xa2\x2f\x2b\x08\x2a\x9e\xf5\x4f\x13\xc0\xc5\x84\xb2\x03\x04\xf4\xf8\x34\xc4\x1a\x06\x6b\xba\x01\xc3\x9a\x91\x40\x63\x86\x35\x03\x7c\x49\xbb\x73\x1e\x79\xb2\x48\xf5\x82\x38\x80\x59\x1f\x4e\x4c\x20\x57\x42\x35\xa8\xa9\x33\xe8\x95\x50\x9d\xf8\xc4\x0b\x33\x2e\x36\x9f\xc3\x4d\x32\x09\xd7\xbb\x05\x2d\x77\x62\xcf\x62\x80\xcb\x44\x42\xd1\x49\xa9\x78\xb9\x86\x4c\xa2\x28\x4a\x31\x26\xf2\x45\xf7\xd0\x7a\xcd\xb4\x29\x22\xe8\xa5\xff\x1d\xed\x12\x79\xcd\xa9\x1e\xae\x77\x37\xd8\x50\x9a\xed\x57\xa2\x8d\xda\x47\x9f\xa4\x1a\xf5\xbb\x9c\x6c\xf9\xf6\xba\x6e\xff\xf5\x2f\xc3\x2d\xd3\x70\x1d\xae\xdc\xda\x0c\x8c\xf6\xca\xb2\xa9\x65\x4b\x6a\xc7\x87\x3b\x3c\x15\x95\xe2\x4e\x9c\xcd\x50\x3c\x30\x56\x8b\x4e\x34\x4d\x14\x62\xd3\x38\xe3\x64\x22\xe9\x61\x7d\x46\xe8\xbb\xfb\x19\x6d\xc2\x51\xc7\x55\xc1\xa4\x8a\x43\x64\xd2\x39\x1e\x90\x7c\x31\x02\xea\xe3\x19\xfa\xf1\x54\x22\xd5\x7a\xa9\x3b\x37\x4a\x1f\x0f\x15\x64\x76\xde\x6a\xf4\x72\xc5\x55\x4e\xf2\x41\xda\x7d\x3a\xcb\xd4\x35\xbe\x27\xcc\xb3\x39\x13\x2f\xfe\xe2\x27\x4f\xa4\x67\x6b\x4a\xd2\x5e\xf9\x8f\x9f\x0c\xa3\xe9\x98\x90\x47\x60\x1a\x1b\x05\x49\x2c\xad\x88\x47\x88\xfa\x6f\xc2\x6c\x89\x2e\x8a\x8a\x2a\x79\x0e\x62\x53\x68\xe6\xa6\x63\xa4\x2e\x48\xeb\xd3\xa1\x07\x17\x42\x83\xce\xd1\xe9\xcf\x1d\x6f\x51\x83\xb9\x98\x74\xa2\xf2\xaf\xcf\xbb\x0f\x06\x23\xa5\x8e\x36\x0b\xe6\x02\x79\xd3\x8b\x1b\xba\x28\xa1\x0b\x0f\x43\x1f\xac\x58\x2f\xaa\x56\x42\x19\x87\x5c\xed\x4e\x8d\xac\x6c\x93\xcb\x27\x95\x9f\xed\x33\x9e\x89\xb1\x03\xd9\x42\x17\x69\xe1\x9a\xf8\x9c\x88\xd0\x9e\x46\x88\x16\x2e\xa2\xbd\xa9\xf8\x5b\x71\xf5\xe5\xc8\x43\xd7\x7f\x35\x8e\x71\x82\x77\x72\xe1\xb4\xba\xf0\x43\xd7\x63\xca\x64\xa1\x94\x93\x54\x42\x3e\x21\x23\xaa\x72\x34\xab\x7e\x7a\x13\xd2\xed\x25\x4d\xc9\x04\xb0\x64\x6a\x22\x9a\x4c\x22\xe8\x9b\x8a\xf7\xb9\x1a\x3e\x13\xe8\x13\xf0\x79\x62\x77\xb7\xea\x5f\xd5\xc3\xd8\x3a\x0d\x95\x2f\x9f\x1d\xb1\x99\x0f\x4c\x0d\x07\x2b\x25\xf2\xce\xb3\x58\x9a\x6c\xd7\x08\x96\x72\x93\xed\x16\xd2\x67\x57\x70\xd6\xa4\x26\xeb\x6e\x2d\x8b\x1f\xf0\xbd\xac\x56\x02\xb6\x51\x16\x8f\x93\x6c\xaa\x3a\xe1\x5b\x15\x58\x56\x2e\x09\x21\x6e\x28\xb3\x85\x69\x06\xb2\xde\x21\x35\x6a\x06\x25\x22\xfc\xb3\x16\xe1\x0d\x26\x95\xb0\xfb\x64\x65\x0e\x8f\x63\x9b\xa3\x36\xcd\x00\xe1\x52\x72\x35\x73\xb3\x09\xe8\x61\x58\x43\x3b\xd3\x33\xd7\x8f\x6e\xfa\x79\x67\x44\xc9\xa5\xbe\xb5\x4b\x54\xb2\x66\x7f\xd9\x48\xda\x60\x87\x4e\xcc\x89\x73\xe7\x44\xc5\xe6\x89\xb5\xcf\xac\x2d\x05\x8d\xb5\x57\xda\xb2\xc6\xec\x3d\x57\xa5\xec\x98\x7b\x40\xfc\xaa\x75\x97\x7f\xc6\xc3\x8e\xa6\x78\x64\xa6\x39\x39\xcd\x30\x29\x9b\x4d\x38\x1f\x9d\x5d\x0d\x03\x0a\x2e\x79\xf4\x91\x80\xad\x2d\xb3\xe0\x5d\x51\x00\x94\xbe\x01\xa6\x24\xde\x96\xa8\xeb\x80\x3e\xe1\xa8\x52\x26\x1c\xae\x11\x65\x08\x7e\xed\x70\x65\x0b\xb2\x3c\xbe\x7d\xde\xcc\xed\x00\x35\xb3\x81\xd9\x8c\x04\x05\x55\xfa\x52\xbc\xed\xd6\xa0\xe6\xad\xcf\x50\x48\x67\xc9\x04\x6f\xf2\xe6\x9d\x06\xba\x53\x81\x1a\x61\xa1\x29\x2e\xa9\xd0\xce\x0a\xa4\xb3\x65\xca\x0e\x09\xf3\xbd\x6f\x43\x26\xb5\xbb\xf6\x9b\xf4\x31\x49\x90\x3d\xc5\x2f\x93\x6b\xa9\x23\xc8\xc9\x08\xf7\x97\x6c\xb2\xfc\xe1\x1c\xb7\xd1\xdf\xeb\x2b\x5b\x67\x2a\xbf\x7b\x43\x68\xe3\x09\x52\xa1\xdf\x5e\x0e\x86\x82\xbf\x07\x72\x7a\xcf\xb8\xdc\xd7\x6c\xe4\x3d\x35\x06\xdd\xa9\xb5\xe8\x4e\x83\x5a\x50\x6d\xc7\xe9\xdd\xc1\xa9\xb2\x55\x31\x7d\x3f\x50\xdf\xfb\x59\x58\x1e\x99\x4a\x9c\xb7\x49\x1c\x74\x43\x51\x54\x51\xaf\xe6\x69\xc6\xc7\xdb\xbf\x0a\x24\x5c\x24\xda\xc1\x49\xc6\xa0\x4f\x85\xc4\x87\x23\x95\x14\x78\xfd\x7d\xab\x4e\xbc\x3d\x08\xbd\x1d\xf7\x9b\xbb\x4f\x07\xc3\x26\xcd\xd1\xa1\x08\x4b\x22\xec\x15\x78\x47\x43\xb6\x6f\x0a\x2d\xaf\x69\x8f\xde\x93\x19\x29\x8f\x11\x0e\xc7\x8d\x3e\x5e\x3e\x12\xbe\xf8\xfe\x22\xe2\x05\x12\x73\x0b\xe3\x30\x41\x09\xfa\xee\x25\x2b\x41\x9f\xe3\xc5\xc5\x07\x34\x26\x31\xe9\x70\xdb\xef\x20\x36\x7d\x68\x36\x23\x39\x7b\x45\xfa\x7e\x5f\x44\x95\xda\x0e\x91\x75\x02\x8d\x23\xb1\x2c\x1b\x66\xe4\x2d\xeb\xec\x99\xb8\x57\x61\x38\x2a\xb2\x38\x7c\x8d\x95\x0f\x19\x1d\x19\x85\x93\x21\xa3\xdf\x3f\x34\x74\x5d\x6f\x70\x45\xc2\xc3\x62\xf9\x88\x90\xfb\x6d\x34\xce\x93\x10\xa8\xa8\x0e\x4b\xa6\x4a\xa4\xd2\x79\x2e\x56\x19\x9f\xfc\xc3\x60\x71\x03\xcb\x64\xf8\x60\x3a\x47\x4f\x29\x0d\x73\xb8\x5a\x72\xfa\xbe\x6e\xaa\x43\x4d\x37\xa7\x1a\x9f\xad\x70\x7d\xaf\x8d\x94\xbe\x12\x00\x85\x0e\xbb\x59\x0b\x9d\x2c\xed\x7b\x15\x56\x17\x4c\xfe\x21\x0c\x06\x1b\xee\x4b\x67\xa9\xc3\xb5\xe1\x14\x64\xec\xb3\x3c\x72\x99\x62\xab\x77\x3c\x4a\x06\x03\x4d\xe3\x64\x6d\x94\xa8\x2d\x34\x29\x22\x2a\x68\x1b\x91\x69\x97\x5f\x1b\x85\x72\xb4\x40\x31\x06\x06\x55\x80\x84\xb7\x5b\xe5\x28\xd9\xd3\x31\x6b\xeb\x48\x10\x5c\x9a\x68\xfe\x79\xdf\x90\x5b\xd2\x36\x7f\x05\xdb\x74\x5d\xea\x57\xc6\x1e\x39\x99\xa3\x59\x11\x94\x01\x85\x9c\x19\xac\x08\x1a\x62\x63\x40\x62\x5d\x0b\x3a\x54\x30\x34\xc6\xd6\xce\x14\x21\x44\xc7\xc2\x73\xb5\x29\x1e\xbb\x4d\x0d\xc3\x37\x9e\x8f\xf3\x2d\x43\xab\x91\x00\x82\xe6\x13\x33\xd5\x20\xda\xba\x43\x37\xfe\x03\x59\xe7\xb3\x64\x00\xd5\xce\x06\x41\xf0\xa2\x02\x0f\x16\xa7\xd6\x01\x55\x27\xb5\x04\x3a\x67\x7e\xec\x45\x85\xe2\xf8\x4a\x1e\x6f\x5c\x80\xad\x19\xf5\x23\x36\x26\x88\xe9\x0b\x8f\x00\x0a\xcb\xa5\xba\x02\xa1\xda\xa1\x56\xdd\xa2\x20\x9c\xdb\x3d\x54\x87\x99\xd1\x37\x59\x1a\x97\xa5\x0c\xad\x92\x31\x94\x10\xd8\x40\x99\xf2\x88\x2c\xea\x33\x00\x46\x6b\xc8\xab\x17\x9c\xb8\x43\xc4\x56\xa6\xda\xdb\x42\xa8\x6f\x3c\xcd\xf0\x34\x4b\xa8\x7d\x19\x22\x8f\xe9\x2a\xfc\x84\x87\xe8\x94\x06\x7e\x6f\xe3\xb3\xea\xd2\x14\xf1\xd2\x77\x2e\xcd\xe1\x45\x7d\xc0\xb0\x2f\x00\x33\x91\x23\x7b\xcc\x35\xc9\x64\x3d\xee\x65\x55\x45\xe7\xbc\xfe\x79\x19\xea\x12\x25\xc7\xbc\x77\xf6\x46\x16\x99\x0a\xf1\x55\xe9\x02\xcb\x23\xd7\x11\xa7\xe2\x73\xc8\x3a\xc2\x2e\x3c\x68\xa4\xee\x39\x52\xcb\xdb\x53\xeb\x1e\x1c\xa5\xe2\x7d\x15\x7e\x1e\x22\x20\x74\x79\x41\x6b\x4e\x4a\xd0\x37\x50\xf1\x96\x54\x55\xb0\x0b\x18\x7c\x48\x8d\x5a\x60\x6b\x5b\xde\x61\x8e\x4c\xf0\x62\x05\x65\x57\xc5\x52\xd3\x1f\x66\xfa\x66\x40\x38\xb3\x3b\xd6\x68\x14\x7d\x6d\xbd\xe6\x9d\xad\x27\x1f\x12\xd1\x11\x0e\x68\xcd\xf3\x60\xcf\xa3\x7e\xc1\xe0\xe3\x42\xaf\x0c\x9a\xe0\xdc\xa5\x97\x58\xf3\xfa\xa9\x30\x99\x91\x6d\x9e\xb0\x59\xb2\x22\xf6\xcd\xae\xb0\x9f\x50\x1e\x42\x2e\xee\x23\x2f\xc3\xa6\xc7\x03\x97\xf3\x68\x38\x5c\x94\xaa\x29\x4a\xc4\xf7\x93\x11\xa4\xb0\x54\x28\x0a\x22\x45\x01\xcd\xff\x6f\x71\xa4\x83\xca\x8b\x22\x59\xfc\xad\xc1\x24\x9b\xad\xf9\xbf\x8b\x28\xf5\x05\xaa\xc3\x41\x25\x63\xa6\x64\x13\xd1\xce\x66\x19\x29\x09\xd3\xf9\x4b\x88\x5b\xa4\x69\xfa\xb9\x94\x44\x9f\x5f\xfb\x23\x22\x18\x4e\x58\x39\x26\xb9\x51\x3f\xc7\x47\x33\xae\xfa\x24\xa7\x2f\x02\xd6\xac\x31\x0e\xcb\xa2\x2b\xde\x43\x5e\x0e\xbe\x18\x7b\xe4\x4b\x12\x86\x3d\x19\x7a\x5c\x80\xc3\xb2\x2e\x0a\x71\x5c\x7b\xbb\xbd\xbe\x86\xc8\xdf\xeb\xdd\x58\x44\xbb\x02\x0e\xa3\x71\x90\x90\xe1\x5f\x8c\x75\xf0\x15\x32\xfc\x0f\x8d\x42\xb8\x3e\x6f\x26\xac\xf4\x05\xc5\x1f\xbe\x22\xee\x1e\x1b\x8c\xb0\xe6\x78\xc6\x97\x8d\x2c\x7c\xaf\xf7\x1e\x4e\xec\x88\x9d\xff\x4d\x75\x27\x78\xfd\x5b\xf6\xf1\xac\xb3\x37\x22\x40\x7b\x7a\x96\xfb\xfa\x88\xe3\x82\x74\xa8\xab\xe8\x6f\x19\x5e\xe7\x20\xec\x61\x45\xf9\xe8\x00\xc7\xb7\xfd\x25\x21\x95\xc7\xf8\xa1\x09\x01\x3b\xce\x15\xcd\x9c\x31\xbb\x2c\x4d\xc9\x74\xe2\x70\x19\xb6\x2f\x7d\xea\x72\xf7\x22\xdf\xe8\x00\x8a\xd7\xb4\xf3\xef\xee\x1d\x6e\x2c\x09\x20\xef\x2c\x19\x77\x2a\x43\x37\xfb\x26\xbc\x29\x13\x5d\xe1\xa6\x01\x86\x5e\xe2\x05\x77\xaf\xc4\xb3\x3d\xe4\x95\x7d\xa6\xba\x99\xb0\xc4\xa5\x88\x59\x91\x17\xdd\x97\x94\xd9\xea\x53\xb7\x74\x9b\xc7\xe4\x4e\xdd\xa8\x3a\xf7\x49\xef\x2d\xc7\x9f\x71\xd3\xc8\x62\xa9\x65\x78\x92\x40\xba\x7b\x83\x4e\x30\x01\x9e\xf7\xf9\xcd\x35\xa1\x73\xf4\xd1\x72\x62\x84\xd0\x9f\x02\xd7\x3f\x59\x82\x6d\xaf\x0a\xbf\x40\x1f\x93\x67\x4d\xe5\xed\x89\x65\xa9\x8b\x1e\x75\xf3\xef\x79\xfa\x2a\xe1\xe0\x06\x50\xe4\xdf\x49\xc9\xe4\xfd\x0d\x5f\x9f\xac\x8a\xcf\x00\xe9\xfe\x3b\x85\xe8\xdf\xcd\xe6\x75\x69\x25\xd7\x7c\xe4\x09\xee\xd1\x1b\xb5\x53\x40\xa7\x31\x9c\x3d\x6e\xd8\x4e\x13\x27\xbb\x9b\xfd\x08\xee\xfd\xb1\x3c\xc5\x53\xa7\xf6\xcb\x70\x2e\xba\xcf\x7b\x8c\xb6\x1f\xfb\xa5\xf5\xe9\x87\xb0\x50\xcc\x3b\x1d\x63\xc8\xac\x87\xf8\x7b\x0a\x71\xbf\x40\x38\x58\xb0\xf2\x08\x72\x6a\x25\xe7\xea\xe9\x75\x9d\x6f\xaa\xcb\xe4\x30\x25\x9d\xbf\xfb\x36\xad\xb4\x7b\x9a\x4d\x0a\xdc\xf8\x34\x4c\xa1\x13\x6a\xd3\xf0\xda\x5f\x6e\x6f\x53\x26\xdc\xc5\xcf\x57\x9c\xa6\x33\xa9\x11\x65\xfa\xfe\xfd\x05\x20\x73\xec\xa3\x2f\xfa\x36\x32\xb1\x5d\x51\x95\x77\x8b\xd3\xe4\x89\x8b\x63\xfd\xe9\xcf\x07\x88\x72\x96\x51\xad\xb1\x3a\xb4\xcd\x7a\x0a\xed\x41\xad\xf0\x20\x66\x5a\x25\x26\x60\xa3\x6c\x44\xef\x37\x31\x6f\xaf\xf8\x6a\x81\x9b\xd1\xf2\xbc\xf0\xe6\xf0\x43\x42\xab\x99\xf9\x16\xb8\x19\x99\xaf\x59\xfb\x07\x28\xea\xe0\x73\x90\xde\x0e\x3e\x87\xa8\xf1\xf0\x50\xc0\x40\x81\x70\x92\x1a\x83\x25\xc2\xda\xcc\xc4\x65\x7f\x2e\x4f\x5d\x5e\x12\xde\xa3\xbd\xc2\xdc\x9c\x94\x82\xd2\xbb\x42\x5b\xad\x30\x16\x5e\xa3\x1d\x5f\x64\xd2\x4f\x3a\x12\x89\x34\x72\x9e\x98\x84\x97\x69\x8f\xde\x30\x28\xf1\x76\x8c\xfa\x14\x71\x1e\x64\xad\x7b\xdd\x79\x36\x2a\x2a\xa9\xa7\x47\xc9\x4d\xfa\xf9\xde\x62\xd4\xff\x3f\x90\x15\xd2\xea\xdb\x3d\x2f\xeb\x9d\x0b\x51\xf2\xa7\x36\x0f\xe4\xa6\x28\x44\x67\xef\x9e\x3e\xd1\x3a\xf3\x43\x2e\x56\x95\xf6\x9b\x5a\x2c\xd7\x7b\xdd\xba\x3b\x47\x7f\x1d\x3c\x67\xdb\x1f\x22\xd3\xb3\xc8\x8f\x23\xff\x84\x1b\x8e\x3a\xee\x64\x6e\x8e\x72\xef\xd6\xb3\xbb\x80\x3d\x27\x99\xb9\xd7\x40\xd5\x0a\x84\x77\x45\xab\x8d\xcb\x6e\x55\xd1\x0f\xca\x24\x48\xe4\x8c\xfe\x99\xce\xd8\x1b\xc3\x41\x4f\x69\x80\x6c\x03\x63\x7b\x5f\x43\x0c\xe2\xf3\x3b\x8e\x45\x11\x72\xdf\xdf\x33\x27\x3d\x73\xfd\x17\x29\x3c\x3d\xee\x86\x70\xdc\x71\xe5\xc6\x88\xd5\x82\xb8\xec\xda\xd5\xa5\x39\xc9\xdd\x03\x95\xba\x60\xf0\x37\x40\xd0\x05\x3a\xd7\x67\x8b\xcf\xab\xfc\x6d\x16\x19\x40\xce\xcf\x65\x08\x40\xfa\x47\x3a\x52\x80\xb2\x90\xc2\xdf\xe0\xc8\xc0\xf1\xad\xf3\x24\x90\xe4\x4f\x69\x64\xe6\x17\x74\x08\xd0\x4b\xff\x28\x86\x0b\x6a\x69\x56\xef\xdf\xfc\x7b\xd9\x1d\xc4\x92\xbf\x5b\x21\x67\x27\xbf\x9d\x57\x61\xab\x24\x8d\xb2\x3f\x2d\x11\x4f\xcc\x6f\x3a\x0e\x6c\x1c\x2b\x03\xca\x73\x3b\xac\x0e\xe5\xa4\xbe\xaf\xe2\xdf\x42\x91\xe5\x60\x5a\x27\x38\xb7\x0d\xc8\xad\x90\xe3\x0d\x4c\x46\xcc\x76\xb1\xee\xe6\x07\x70\xd8\x89\x00\xa9\x41\x2a\x52\xbf\xf7\x94\x84\x7b\x53\xab\x63\xd4\xf9\x4e\xac\xd7\x7e\x40\x3e\x03\x17\x15\xb3\x7b\x68\xe7\xc3\xbd\x93\x68\x5b\x30\x53\xf4\xe4\x09\x6a\x70\x4d\x8a\xc9\xe9\x33\x59\x1c\x2b\x8c\x94\x7b\xb1\xa9\x7b\xbf\xab\x42\x93\xbf\x3c\x73\x6a\x54\xc2\xa7\x93\xff\x0d\x00\x00\xff\xff\xa2\x57\x9d\xaa\x07\x70\x00\x00" func lockedtokensCdcBytes() ([]byte, error) { @@ -496,7 +475,7 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "ENVersionBeacon.cdc": enversionbeaconCdc, + "ExecutionNodeVersionBeacon.cdc": executionnodeversionbeaconCdc, "FlowContractAudits.cdc": flowcontractauditsCdc, "FlowFees.cdc": flowfeesCdc, "FlowIDTableStaking.cdc": flowidtablestakingCdc, @@ -505,7 +484,6 @@ var _bindata = map[string]func() (*asset, error){ "FlowStakingCollection.cdc": flowstakingcollectionCdc, "FlowStorageFees.cdc": flowstoragefeesCdc, "FlowToken.cdc": flowtokenCdc, - "IENVersionBeacon.cdc": ienversionbeaconCdc, "LockedTokens.cdc": lockedtokensCdc, "StakingProxy.cdc": stakingproxyCdc, "epochs/FlowClusterQC.cdc": epochsFlowclusterqcCdc, @@ -558,7 +536,7 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "ENVersionBeacon.cdc": {enversionbeaconCdc, map[string]*bintree{}}, + "ExecutionNodeVersionBeacon.cdc": {executionnodeversionbeaconCdc, map[string]*bintree{}}, "FlowContractAudits.cdc": {flowcontractauditsCdc, map[string]*bintree{}}, "FlowFees.cdc": {flowfeesCdc, map[string]*bintree{}}, "FlowIDTableStaking.cdc": {flowidtablestakingCdc, map[string]*bintree{}}, @@ -567,7 +545,6 @@ var _bintree = &bintree{nil, map[string]*bintree{ "FlowStakingCollection.cdc": {flowstakingcollectionCdc, map[string]*bintree{}}, "FlowStorageFees.cdc": {flowstoragefeesCdc, map[string]*bintree{}}, "FlowToken.cdc": {flowtokenCdc, map[string]*bintree{}}, - "IENVersionBeacon.cdc": {ienversionbeaconCdc, map[string]*bintree{}}, "LockedTokens.cdc": {lockedtokensCdc, map[string]*bintree{}}, "StakingProxy.cdc": {stakingproxyCdc, map[string]*bintree{}}, "epochs": {nil, map[string]*bintree{ From d347200402744349e6ad0f51fbdde0452928cf5b Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 9 Sep 2022 15:39:52 -0500 Subject: [PATCH 05/21] Created txns & scripts for ExecutionNodeVersionBeacon contract --- contracts/ExecutionNodeVersionBeacon.cdc | 59 +- lib/go/contracts/contracts.go | 52 +- lib/go/contracts/internal/assets/assets.go | 6 +- lib/go/templates/internal/assets/assets.go | 728 +++++++++++------- .../admin/add_version_to_table.cdc | 38 + .../admin/change_version_update_buffer.cdc | 25 + .../admin/delete_latest_version.cdc | 25 + ...current_minimum_execution_node_version.cdc | 5 + .../get_next_version_boundary_pair.cdc | 5 + .../scripts/get_version_table.cdc | 5 + .../scripts/get_version_update_buffer.cdc | 5 + .../scripts/is_compatible_version.cdc | 5 + 12 files changed, 630 insertions(+), 328 deletions(-) create mode 100644 transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc create mode 100644 transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc create mode 100644 transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 8755b3a31..206bb9da0 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -12,19 +12,15 @@ pub contract ExecutionNodeVersionBeacon { pub let patch: UInt8 pub let preRelease: String? - /// Oldest compatitible version with this version - /// - /// Defining this can help with logic around updating before a target block is reached - /// Such behavior may be desireable in the event breaking changes are released - /// between versions - pub let oldestCompatibleVersion: Semver? - - init(major: UInt8, minor: UInt8, patch: UInt8, preRelease: String?, oldestCompatibleVersion: Semver?) { + /// Value denoting compatibility with previous versions + pub let isBackwardsCompatible: Bool + + init(major: UInt8, minor: UInt8, patch: UInt8, preRelease: String?, isBackwardsCompatible: Bool) { self.major = major self.minor = minor self.patch = patch self.preRelease = preRelease - self.oldestCompatibleVersion = oldestCompatibleVersion + self.isBackwardsCompatible = isBackwardsCompatible } /// Returns version in Semver format (e.g. v..-) @@ -106,7 +102,7 @@ pub contract ExecutionNodeVersionBeacon { pub event ExecutionNodeVersionTableAddition(height: UInt64, version: Semver) pub event ExecutionNodeVersionTableDeletion(height: UInt64, version: Semver) /// Event emitted any time the version update buffer period is updated - pub event ExecutionNodeVersionUpdateBufferUpdated(newVersionUpdateBuffer: UInt64) + pub event ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: UInt64) /// Canonical storage path for ExecutionNodeVersionKeeper pub let ExecutionNodeVersionKeeperStoragePath: StoragePath @@ -116,7 +112,9 @@ pub contract ExecutionNodeVersionBeacon { /// enforced by insertion/deletion access(contract) let versionTable: {UInt64: Semver} - /// Number of blocks between height at updating and target height for version rollover + /// Number of blocks between block height when version boundary is defined and + /// the version boundary being defined. Nodes can expect that changes to the versionTable + /// they will have at least this long to respond to a version boundary access(contract) var versionUpdateBuffer: UInt64 /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries access(contract) let versionUpdateBufferVariance: UFix64 @@ -130,7 +128,7 @@ pub contract ExecutionNodeVersionBeacon { pub resource interface ExecutionNodeVersionAdmin { /// Update the minimum version to take effect at the given block height - pub fun addMinimumVersion(targetBlockHeight: UInt64, newVersion: Semver) { + pub fun addVersionBoundaryToTable(targetBlockHeight: UInt64, newVersion: Semver) { pre { targetBlockHeight > ExecutionNodeVersionBeacon.lastBlockBoundary : "Attempting to insert mapping out of order. Block Boundary insertions must be inserted in ascending order. Check versionTable & try again." @@ -141,7 +139,7 @@ pub contract ExecutionNodeVersionBeacon { /// Deletes the last entry in versionTable which defines an upcoming version boundary /// Could be helpful in case rollback is needed - pub fun deleteLastVersionMapping(): Semver { + pub fun deleteLatestVersionBoundary(): Semver { pre { ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." } @@ -149,7 +147,7 @@ pub contract ExecutionNodeVersionBeacon { /// Updates the number of blocks that must buffer updates to the versionTable /// and the block number the version is targetting - pub fun updateVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { + pub fun changeVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { post { ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." } @@ -163,7 +161,7 @@ pub contract ExecutionNodeVersionBeacon { /// Admin resource that manages the Execution Node versioning /// maintained in this contract pub resource ExecutionNodeVersionKeeper: ExecutionNodeVersionAdmin { - pub fun addMinimumVersion(targetBlockHeight: UInt64, newVersion: Semver) { + pub fun addVersionBoundaryToTable(targetBlockHeight: UInt64, newVersion: Semver) { // Insert mapping into versiontable ExecutionNodeVersionBeacon.versionTable.insert( key: targetBlockHeight, @@ -176,7 +174,7 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionTableAddition(height: targetBlockHeight, version: newVersion) } - pub fun deleteLastVersionMapping(): Semver { + pub fun deleteLatestVersionBoundary(): Semver { // Ensure deletion occurs with enough time for nodes to respond assert( ExecutionNodeVersionBeacon.lastBlockBoundary > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer, @@ -197,11 +195,11 @@ pub contract ExecutionNodeVersionBeacon { return removed } - pub fun updateVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { + pub fun changeVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { // New buffer should be within range of expected buffer varianca assert( - newUpdateBufferInBlocks >= UInt64(UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance)) && - newUpdateBufferInBlocks <= UInt64(UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 + ExecutionNodeVersionBeacon.versionUpdateBufferVariance)), + UFix64(newUpdateBufferInBlocks) >= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance) && + UFix64(newUpdateBufferInBlocks) <= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 + ExecutionNodeVersionBeacon.versionUpdateBufferVariance), message: "Can only change versionUpdateBuffer by allowed variance from existing buffer." ) @@ -224,7 +222,7 @@ pub contract ExecutionNodeVersionBeacon { } } - emit ExecutionNodeVersionUpdateBufferUpdated(newVersionUpdateBuffer: newUpdateBufferInBlocks) + emit ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: newUpdateBufferInBlocks) } pub fun assignLastBlockBoundary() { @@ -275,16 +273,17 @@ pub contract ExecutionNodeVersionBeacon { let minimumVersion = self.versionTable[versionBoundary]! // Returns Bool representing compatibility between versions - if minimumVersion.oldestCompatibleVersion != nil && version.oldestCompatibleVersion != nil { - return minimumVersion.coreGreaterThanOrEqualTo(version.oldestCompatibleVersion!) && - version.coreGreaterThanOrEqualTo(minimumVersion.oldestCompatibleVersion!) - } else { - return version.coreGreaterThanOrEqualTo(minimumVersion) + // Determine lesser version + if version.coreLessThan(minimumVersion) { + return false + } else if version.coreEqualTo(minimumVersion) { + return true + } else if minimumVersion.coreLessThan(version) { + return version.isBackwardsCompatible } - } else { - // Assuming no previous boundary exists, return false - return false } + // Assuming no previous boundary exists, return false + return false } /// Returns an array containing the block number at which to update and @@ -331,9 +330,9 @@ pub contract ExecutionNodeVersionBeacon { return self.versionTable.keys[ (self.versionTable.keys.firstIndex(of: prevBoundary)! + 1) ] - } else { - return nil } + + return nil } /// Binary search algorithm to find closest value key in versionTable that is <= target value diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go index feaf670df..f077be45e 100644 --- a/lib/go/contracts/contracts.go +++ b/lib/go/contracts/contracts.go @@ -25,18 +25,19 @@ import ( /// const ( - flowFeesFilename = "FlowFees.cdc" - storageFeesFilename = "FlowStorageFees.cdc" - flowServiceAccountFilename = "FlowServiceAccount.cdc" - flowTokenFilename = "FlowToken.cdc" - flowIdentityTableFilename = "FlowIDTableStaking.cdc" - flowQCFilename = "epochs/FlowClusterQC.cdc" - flowDKGFilename = "epochs/FlowDKG.cdc" - flowEpochFilename = "epochs/FlowEpoch.cdc" - flowLockedTokensFilename = "LockedTokens.cdc" - flowStakingProxyFilename = "StakingProxy.cdc" - flowStakingCollectionFilename = "FlowStakingCollection.cdc" - flowContractAuditsFilename = "FlowContractAudits.cdc" + flowFeesFilename = "FlowFees.cdc" + storageFeesFilename = "FlowStorageFees.cdc" + flowServiceAccountFilename = "FlowServiceAccount.cdc" + flowTokenFilename = "FlowToken.cdc" + flowIdentityTableFilename = "FlowIDTableStaking.cdc" + flowQCFilename = "epochs/FlowClusterQC.cdc" + flowDKGFilename = "epochs/FlowDKG.cdc" + flowEpochFilename = "epochs/FlowEpoch.cdc" + flowLockedTokensFilename = "LockedTokens.cdc" + flowStakingProxyFilename = "StakingProxy.cdc" + flowStakingCollectionFilename = "FlowStakingCollection.cdc" + flowContractAuditsFilename = "FlowContractAudits.cdc" + executionNodeVersionBeaconFilename = "ExecutionNodeVersionBeacon.cdc" // Test contracts // only used for testing @@ -44,17 +45,18 @@ const ( // Each contract has placeholder addresses that need to be replaced // depending on which network they are being used with - placeholderFungibleTokenAddress = "0xFUNGIBLETOKENADDRESS" - placeholderFlowTokenAddress = "0xFLOWTOKENADDRESS" - placeholderIDTableAddress = "0xFLOWIDTABLESTAKINGADDRESS" - placeholderStakingProxyAddress = "0xSTAKINGPROXYADDRESS" - placeholderQCAddr = "0xQCADDRESS" - placeholderDKGAddr = "0xDKGADDRESS" - placeholderEpochAddr = "0xEPOCHADDRESS" - placeholderFlowFeesAddress = "0xFLOWFEESADDRESS" - placeholderStorageFeesAddress = "0xFLOWSTORAGEFEESADDRESS" - placeholderLockedTokensAddress = "0xLOCKEDTOKENSADDRESS" - placeholderStakingCollectionAddress = "0xFLOWSTAKINGCOLLECTIONADDRESS" + placeholderFungibleTokenAddress = "0xFUNGIBLETOKENADDRESS" + placeholderFlowTokenAddress = "0xFLOWTOKENADDRESS" + placeholderIDTableAddress = "0xFLOWIDTABLESTAKINGADDRESS" + placeholderStakingProxyAddress = "0xSTAKINGPROXYADDRESS" + placeholderQCAddr = "0xQCADDRESS" + placeholderDKGAddr = "0xDKGADDRESS" + placeholderEpochAddr = "0xEPOCHADDRESS" + placeholderFlowFeesAddress = "0xFLOWFEESADDRESS" + placeholderStorageFeesAddress = "0xFLOWSTORAGEFEESADDRESS" + placeholderLockedTokensAddress = "0xLOCKEDTOKENSADDRESS" + placeholderStakingCollectionAddress = "0xFLOWSTAKINGCOLLECTIONADDRESS" + placeholderExecutionNodeVersionBeaconAddress = "0xEXECUTIONNODEVERSIONBEACONADDRESS" ) // Adds a `0x` prefix to the provided address string @@ -116,7 +118,6 @@ func FlowFees(fungibleTokenAddress, flowTokenAddress string) []byte { // FlowStorageFees returns the FlowStorageFees contract // which imports the fungible token and flow token contracts -// func FlowStorageFees(fungibleTokenAddress, flowTokenAddress string) []byte { code := assets.MustAssetString(storageFeesFilename) @@ -171,7 +172,7 @@ func FlowServiceAccount(fungibleTokenAddress, flowTokenAddress, flowFeesAddress, // FlowIDTableStaking returns the FlowIDTableStaking contract // -// The staking contract imports the FungibleToken and FlowToken contracts +// # The staking contract imports the FungibleToken and FlowToken contracts // // Parameter: latest: indicates if the contract is the latest version, or an old version. Used to test upgrades func FlowIDTableStaking(fungibleTokenAddress, flowTokenAddress, flowFeesAddress string, latest bool) []byte { @@ -226,7 +227,6 @@ func FlowStakingCollection( // FlowLockedTokens return the LockedTokens contract // // Locked Tokens imports FungibleToken, FlowToken, FlowIDTableStaking, StakingProxy, and FlowStorageFees -// func FlowLockedTokens( fungibleTokenAddress, flowTokenAddress, diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index a08e81410..28ef9586d 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (17.353kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (17.193kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x5d\x73\xdb\xb6\x96\xef\xf9\x15\xc7\x7e\xf0\x4a\xa9\x2d\x39\x3b\xdd\xce\x8e\xc7\x72\x27\x76\xd3\x6e\x66\xd3\xb4\x93\x8f\xee\x83\xc7\xb3\x03\x91\x87\x22\xae\x29\x40\x17\x00\x25\xeb\x26\xf9\xef\x77\xf0\x45\x02\x24\x28\x4b\x4e\x72\xe7\xfa\xa5\xb1\x01\x1c\x9c\xef\x2f\x1c\x76\x3a\x9d\xc2\x87\x92\x4a\xc8\x38\x53\x82\x64\x0a\xa8\x84\x5a\x62\x0e\x8a\x43\x8e\x05\x65\x98\xc3\xbc\xe2\xd9\x3d\x94\x48\x17\xa5\x02\xc2\x72\x90\xbc\x50\x1b\x22\x10\xd6\x28\x24\xe5\x0c\xe6\xbc\x66\x39\x11\x14\xe5\x33\x0d\xb1\xe0\x02\x54\x89\xed\x3e\x51\x33\x98\x6f\xe1\xd5\x03\x66\xb5\xd2\x07\xde\xf2\x1c\xe5\xe4\xd9\xaa\x9e\xb7\x37\x37\xab\x7a\xf1\x2f\x0b\xf9\x1a\x49\xc6\x19\x7c\x7a\xf6\x0c\x00\x40\xc3\x7e\xaf\x44\x9d\x29\x10\xb8\x12\x28\x91\x29\xca\x16\x7d\x7c\x88\x84\xf7\xb8\x24\x4c\xd1\x0c\x1c\xa4\x06\x00\xa9\x38\x5b\xc0\x86\xaa\x12\x4a\xac\x56\x28\xa0\xa8\x59\xa6\xef\x95\xcd\x9e\x5f\xb9\x00\x81\x05\x0a\x64\x19\x9e\x82\x44\x84\x52\xa9\x95\xbc\x98\x4e\x25\x2e\xd7\x28\x26\x5c\x2c\xa6\x66\xbb\x26\x41\x5a\x9c\xde\x9b\x25\xf8\x64\xfe\xee\x41\xdd\xf0\xe5\x8a\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x3a\xc0\xce\x83\xab\x50\xc1\x92\xfc\x8d\x8b\x0b\xf8\xf8\x9a\xa9\xff\xee\x2f\x52\x36\xbc\xb8\x22\x2a\x2b\x07\x17\x05\xbe\xc3\x0a\x89\xc4\x0b\xcd\x49\xca\x16\x3f\x3f\x8b\xd0\xfd\xa3\xca\x51\x2a\xc8\xf8\x72\x45\x14\x55\x74\x5e\xb5\x5c\x35\x3c\x53\x5a\x5b\xba\x58\x4f\xa7\xd3\x08\xca\x2f\x9e\x52\xb3\x3b\x23\xcc\xb0\xda\x02\xa8\xf8\x82\x66\x40\x84\x56\x19\xa8\x57\x39\x31\x22\x9c\x63\xc1\x05\x02\x01\x45\xc4\x02\x95\xd3\x39\x2a\x41\x20\xc9\x4a\xcc\x23\xf0\xef\xeb\xac\x84\x39\x96\x64\x4d\xb9\x80\x25\xd9\xc2\x1c\x21\x47\x49\x05\x12\x8d\x30\x65\x46\xfd\x70\x8d\x4c\xc1\x5c\x20\xb9\xd7\x57\x64\x25\x61\x0b\x94\x60\x14\xd2\x32\x21\x06\x3b\x47\xb5\x41\x64\x9e\x3a\xd9\xe3\x1e\x37\xcc\xb9\xb1\xbc\x99\x57\x5e\x49\x2f\x9c\xe4\x03\x56\x52\x46\xd5\x28\x94\xe1\x69\x24\xb4\xd3\x48\x4a\xa7\x29\xb1\x9c\x3e\x7a\xdb\x38\xd0\x34\xfd\x23\xb1\x2a\x26\xe6\x4e\x98\x59\xfd\x49\x2c\x6b\x24\xf4\xb2\xfe\x6f\x7f\xd9\x60\x05\x33\x8b\x5d\x62\xb9\x41\x53\xef\x69\x7e\xe9\x6f\x1c\x40\x1d\x66\x43\x44\x35\x20\xbe\xc4\xea\xf8\x0e\x55\x2d\x58\xa3\x70\x5a\xb2\xce\xca\x0a\x2e\x96\x44\xc1\x08\x27\x8b\x09\xac\x2f\x0d\xbd\x57\x93\x4b\x43\xd8\xd5\xe4\xd2\x50\x70\x75\x76\xd9\x62\x79\x35\x8e\x20\x13\x09\xc4\xf1\x3a\x92\x73\x51\x33\x50\xdc\x2e\x8c\xc6\x5e\x1c\x1d\x56\x6b\x65\xb0\x8e\xe0\x86\x0b\x74\x5b\x66\x81\x04\x26\x2d\x88\xe8\xa0\xf9\x99\x64\x9c\x65\x44\x8d\x8e\x27\xc7\x3b\x56\xfb\x2b\xb1\x14\x77\x5e\x31\xfe\xea\x3b\x0c\x03\x77\xdf\x11\xfd\xc9\xb8\x3a\x0d\x54\x2b\xc6\x99\xb3\x2f\xa0\x05\x50\x05\xf8\x40\xa5\x92\x70\x02\xc2\x88\x33\x3a\x47\x8b\x9e\x6e\x1d\xcd\x80\xd1\xaa\xc3\x72\xfd\x63\x8f\xf7\x38\xdf\xd0\x7a\x76\xdc\xd0\xdd\x81\x79\x14\x23\x1b\x68\xd9\x0e\xb8\x49\xa5\x7c\x0e\x37\xb5\x54\x7c\x69\x1c\x3b\x11\x44\x71\x21\xe1\xf9\x34\xad\xb6\x4a\xd4\x86\x07\x4e\x67\x33\xed\xe2\xa8\x84\x85\x40\xa2\x50\xc7\x48\x12\xf9\x50\x58\x11\xa9\x63\x6f\xb8\x5d\xc7\xdb\x82\x54\x12\x81\xab\x12\xc5\x86\x06\xf6\xe6\xf5\x55\x6f\xfc\xcd\xc2\xfc\x50\x12\x36\xfa\x7f\xbb\xd7\x7b\x8a\xf1\x05\x5c\x73\xde\x65\x28\x2d\x60\x14\xb8\x8c\x2b\x7b\xc6\xfe\xd6\x75\x2d\x01\x93\x34\x49\x31\x2f\x01\x2b\x2b\xe9\x10\xdc\x6c\x16\xc2\x83\x93\x93\xd0\xff\x34\x77\xe9\xdf\xbe\xf3\x5d\xed\xa2\xf9\xd5\x2f\x5a\x4f\xe7\x11\x31\xbf\x3d\x01\x91\xc1\x03\x46\x62\x1d\x95\x4b\x69\xd3\x61\xba\x02\x81\xcf\xd6\x47\xf1\xef\x35\xa9\x74\xa6\xf6\x6d\xf4\xe6\x0f\xf1\x4a\x03\xfc\xc0\xf7\x53\xa0\xc6\x6a\xaa\x62\xd2\xd5\x40\x73\x7c\x0c\x9f\x3f\xb7\xcb\x1e\xb6\x5d\x7a\x22\x37\x2a\x94\xf2\x9b\x9a\xcd\x1b\x94\xf2\x20\x9b\x09\xf4\xee\x32\x52\xbb\xa7\x68\xf1\xbe\x4a\x7c\x19\xe9\xf0\xf7\xbc\x69\xa7\xb9\x5c\x86\xe6\xf2\x6f\x69\x2d\x8d\x7e\x7c\x0f\x53\xf1\xba\xf2\x95\x76\xd2\xa8\xdc\xb7\x36\x12\x2a\xbb\x64\xc6\x59\xf3\x13\x48\x7e\x32\xa1\x5f\xab\x6a\xcd\x62\x9c\x8a\xee\xcd\x88\xe7\xf8\x40\x32\x55\x6d\x9f\xef\xc3\x92\x7d\xb8\x21\x95\xa0\x99\xfa\x2a\xc1\xc7\xc2\x6d\x09\x0e\xb2\xea\x86\xea\x7e\x72\xed\x48\xff\xd2\x96\xc2\xaf\x4c\x7d\x83\x4b\xaa\x14\xe6\x40\xd8\x16\x14\x5d\xea\x1a\xca\x56\x3a\x9a\x0d\x4b\x92\xa3\xa6\xdd\xe5\xcf\x1f\x74\x79\xd4\x94\xad\xb6\x3e\x4a\x95\xdd\x66\xdf\xcb\x3c\xa7\xfa\xef\x23\x5b\xf9\xdb\x62\xe5\xa7\x1f\x4f\x3d\xb0\x86\xf8\x7d\x01\xfe\x82\x15\xee\x0f\x70\x07\x85\xba\xb8\xf3\x15\x81\xa9\x20\x11\xe6\x75\x51\xa0\x80\x15\x0a\xca\x73\xd3\xc4\x30\x7f\xcf\xf7\xc0\xed\xa3\xd9\x79\x6d\x00\xd8\x7f\xe7\x23\x86\x9b\xc4\xaa\xc7\x78\xdc\xca\xe0\x86\x30\xce\x68\x46\x2a\x90\x8a\x0b\xb2\x40\x5d\x3b\x95\xa6\x03\x92\xba\xeb\x7f\x11\x57\x28\x1a\xa4\x74\x1d\x31\xbc\xed\xbd\x85\xf8\x27\x51\xa5\xae\x43\x9a\x5f\xda\xdb\x0d\x5b\x21\xa7\x99\xb2\x55\xf4\x92\x32\xba\xac\x97\x0d\x73\xce\xe0\x93\x29\xa4\xff\xc7\x31\xdc\xf2\xf7\x4b\xdb\x4c\x29\x79\x5d\xe5\xba\x7a\xe6\x22\x47\x81\x39\xcc\xb7\x71\xbb\x67\x44\x59\x8e\x0f\x63\xd8\x94\x34\x2b\x81\xb6\x2d\x12\x64\x05\x17\x99\x3d\x41\x99\x44\xa1\x49\x98\xe6\x4e\xc4\x66\x1b\xc9\x32\x94\x72\xe4\x1b\x3c\x63\x43\x6e\xa8\x89\x17\xf0\xc9\x32\xb4\xc5\xac\x81\xff\xb6\x5e\xce\x51\x00\x2f\x2c\x3e\xb2\xa9\xce\x7d\x1f\x4a\xb5\xcd\x03\x6d\xbf\xae\x6f\xe0\x56\x35\xff\x3d\x13\x04\xaf\x2a\xbe\x76\x5c\xef\xe1\xb4\x26\xcd\xce\x94\xa8\x5b\x56\xa1\xae\x63\x56\x68\x58\xcd\x99\x04\x81\x0b\x22\x72\x7d\x7d\xc9\x37\xb0\xac\xb3\x32\xd4\xcb\x10\x96\x69\x80\xac\x89\xd8\x76\x3b\x0c\x61\xdf\xec\x31\x86\x85\x00\xff\x22\x82\x12\x96\xe1\x05\x7c\xfc\x95\x3e\xfc\xf4\x63\xa8\x8e\x59\x89\x9a\x69\x1a\x95\x8a\x48\xdf\x48\x71\x17\x6d\x7d\x6b\x24\x94\x02\x2c\xc9\x6a\xe5\xcb\x1d\x0d\xc4\x19\x41\xc2\xa3\x28\x1e\xd9\x9e\xb2\xdd\x16\xeb\x66\x86\xd9\xab\xf1\xb8\xd6\x68\x5c\x3b\x2c\x1a\xe6\x36\x57\xbe\xcc\x97\x54\x57\xf7\x0a\x45\x41\x32\x6d\xe1\x44\xc1\x92\x30\xb2\x40\x69\xae\x8c\x5b\x87\x1e\x83\x10\xeb\x25\xa1\x4c\x11\xd3\xb0\x34\x44\x06\x4d\xcd\xc6\xde\x04\x4a\x5e\x8b\x0c\x83\x9b\x52\xe6\x67\xb1\xf9\x14\xc7\x1a\xcb\x15\x83\x4c\xd7\xcc\x34\x5b\xc8\x3d\x02\x16\x05\x66\x46\x35\xf5\xae\x05\x5d\x23\x8b\xac\xa9\x17\x54\x48\x9e\xff\x6e\x61\xb9\x9b\x47\x56\x8d\xaf\x43\xa3\xf5\x5e\xb2\xf5\x49\x8d\xa3\xec\x04\x9c\x95\x48\x25\x59\x3d\x90\x70\xb5\xa3\xd7\x3a\xe9\x49\x2b\xd9\x24\xb8\x80\xe3\x97\x4a\xe1\x72\x65\x0c\x50\x71\xe7\x03\xbc\x2e\x01\xaf\x95\x56\x43\xe3\x56\x26\x60\xe0\xc1\x75\xab\x84\xce\x5f\x48\x58\xd6\x5a\x47\xd1\xfd\xc9\xca\x8e\xc8\x0c\x99\xb1\x2c\x77\xfc\xa6\xc4\xec\x3e\xd6\xd9\x13\x50\x62\x0b\x64\x41\x28\x9b\x1c\xef\x45\xf2\x02\xd5\x4d\x2d\x04\x32\xfb\xf7\xd1\x78\xe2\x7c\xc5\x0f\xbb\xb8\x91\xb0\xbe\x21\x7e\x7c\x08\x3b\x97\x0e\x36\xcf\xb2\x5a\x48\x50\x9c\x83\xe4\x56\x53\x5c\xc0\x7a\xf5\xd6\x13\xd4\xc1\x7f\x30\xf5\x35\xe1\xd3\x99\x83\x31\x6d\x64\xca\x5a\x74\xc4\x19\xeb\xa9\x6d\xef\x5e\x02\xd1\x11\x32\xe3\x4b\xcd\xcd\x8e\xd7\xd9\x76\xfa\xd4\x2e\x12\x94\x58\xad\x8a\xba\xd2\x70\x33\x9d\x93\x68\xf7\x39\x27\xb6\x19\xcb\x10\xf3\x20\x85\xf2\x6a\x6c\xbc\x3e\xbe\x21\x52\x39\xe6\xfd\x6e\xb5\xc0\xf4\xcf\xba\x4d\xf1\x61\x45\x7d\x5c\x0c\x86\xc2\x49\x85\x6c\xa1\x74\xf1\x7e\x7e\x01\xc7\x6f\x79\x8f\x2e\xaf\x84\xd2\x36\x9e\xf6\xe5\xaf\x95\xb1\xe5\x2f\xeb\x46\x1f\xeb\x90\x8c\xb2\x5a\x9f\x5e\xfb\xdd\xbc\xe7\x50\xe3\x3e\xa3\x8e\x4d\x25\x3a\xb5\x70\x70\x43\x27\x4a\xa5\x53\x57\x95\x6a\x45\xda\x6b\x12\xb9\x88\x4e\x51\xc2\xdf\x5f\x33\xa3\xd6\xb2\xc9\x51\xba\x2c\xe7\x52\x3d\x89\xe7\x51\x24\x9b\xcd\x60\xf0\xde\xe3\x8f\x51\x2a\xb6\x21\x12\x18\x57\xb0\x12\x7c\x85\xa2\xda\xba\x18\x92\x1f\xc1\x3b\x5c\x1b\x5b\xdf\x57\x30\x2f\xa5\xa4\x0b\x26\x21\x33\x2f\x01\x07\xf9\x2e\x2f\x1e\x63\x2f\xf7\xa8\xad\x25\x02\xdd\x8b\x85\xb4\x68\xb5\x87\x08\x6c\xde\xc0\xb8\x80\x73\xbd\xa8\x0f\x34\x61\x4f\xbb\xbf\x6d\xdf\xa9\x1b\x74\xdf\x74\x51\x71\x2d\xd4\x2f\xdd\xa0\xd7\xc4\xa4\xef\x1d\xf3\x86\x13\xcd\x8b\x9d\x51\xb0\x47\xdf\xb7\x0d\x5a\xd3\x29\xbc\x8e\x63\x07\x65\x6d\xc5\xa2\x22\x83\x3a\xc4\x4b\xd8\x88\xd2\x6f\x71\xdf\xe3\xf6\xa2\x1f\x20\x4e\x7b\xfb\x5a\xcc\xa3\xa5\x5e\xd7\x5b\x27\x86\x49\xbd\x73\x9d\x06\x97\x98\x12\x09\x1b\x84\x7b\xc6\x37\x40\x15\x6c\x68\x55\x75\xc2\x5e\x17\x6e\x27\x0a\x42\x5e\x9b\xfc\x6b\x25\xf0\x2c\xe3\xcc\x96\x66\xfb\x32\xa6\x8f\xdf\xac\xcf\x82\xb8\x27\xae\x8b\xae\x03\x6a\xc3\x3e\x43\xdb\xaa\xae\xe5\x64\xb2\xa3\xf1\xe4\x28\xa2\x0b\x44\x26\x6b\x63\xa5\xb6\xec\xf0\xf1\xd6\x3c\x34\x22\xe3\xf5\xa2\xb4\x19\xac\xae\x07\x18\xcf\xad\xbf\x16\x28\x57\x9c\xe5\x11\x2c\x2d\xab\x94\xb6\x1c\xc4\xd4\x6f\x98\x64\xf4\xf5\x71\x89\x52\x92\x05\x5e\xc0\xf1\x0d\x61\xda\xb1\x5a\x7e\xf5\xa3\x9f\x26\x9e\x0e\x14\xc6\x5c\x40\x49\x75\xa5\x6a\x4a\x56\xef\xe9\x3a\x8e\x78\xfc\xac\xcb\xe6\x77\xb8\xe4\xeb\xb8\xee\xf6\xc6\x7a\x62\x34\x25\x3a\xa0\xab\x16\x61\x4e\xe4\x8d\xe4\x66\x7b\xdb\xad\x3d\x39\x60\xb7\x4f\xce\x5b\xc7\x47\x87\xa8\x77\xaf\x53\x71\xc8\xbd\x81\xe6\x3b\x2e\xa4\x18\x6a\xa3\x44\xdf\x73\x44\x3b\x4d\x7f\x68\x38\x9e\xf4\xa1\xda\xfe\x6b\x89\xfe\xe6\x46\x5c\xae\x20\xa6\x05\xcd\x48\xcf\x73\xb8\x46\x95\x3b\xb3\xcb\x46\xbf\x59\x3a\xa2\x2b\x7c\xdc\x78\xed\x94\x4d\x1f\xc2\x29\xaf\x30\xe5\x26\x2f\x5c\xc9\x8d\xb9\xdf\xb9\xb6\xa5\x2f\xd9\xcb\x78\x6d\x75\x3c\x84\xda\x18\xae\x66\x7e\xcb\x61\xc6\x39\x86\xe7\x30\x7a\x31\x39\x87\xb3\x03\xad\xda\x17\xee\x63\x38\x39\x39\x18\xdb\xcb\xaf\xc5\xf6\x50\x1f\xd4\x60\xfb\x88\x33\x02\xce\x9a\xf4\x2e\xd9\xff\x98\x6f\x81\x54\x15\xdf\x68\x7d\x74\x30\xa1\x10\x7c\x69\xf3\x73\x33\xfe\x61\x36\xee\xf6\x43\xda\xad\x64\x81\x73\x75\x95\xdd\x6c\xd0\xe9\xf6\x14\x8e\x07\x0d\x97\x76\xba\x09\xb7\x9c\xe5\x1e\xb2\xcd\xd3\x4f\x41\x92\xc2\x84\xdb\xa5\xae\xeb\xdd\xe4\x48\xf7\x29\x28\x81\xcc\x61\x95\xf5\x37\xc8\xc7\x87\xd2\xf1\xf4\xfb\x4b\xef\x3a\x5a\x18\xb6\x32\x7c\xe8\xe5\x07\x3b\x30\x29\x28\xcb\xdf\xe2\x83\x8f\xd3\x8d\x47\x8a\x7a\x8d\x7d\xee\xa4\x1e\x58\x9d\x68\x5e\x17\x40\xfa\x91\xcc\xcd\x0d\xb8\x9e\x95\x8b\x38\xa7\x80\x36\xe8\x9b\x7c\x59\x2f\x6c\xf0\x3f\x04\x9a\x5a\xc3\xdd\x59\x35\x41\xd0\x54\x5e\x71\x04\x2c\xec\xc1\x5e\x11\xdc\xc1\xc8\xd6\x6d\x44\xe9\xac\x8d\x38\xf0\x01\x50\xd6\x3a\xaf\x43\x00\x0f\x79\x2a\xff\x93\x50\xa9\x43\xad\x16\x2e\x13\xe2\x4c\xb8\x9b\x9d\x57\x0e\x68\x55\x0a\x76\xdf\x39\xf8\x9f\xd6\x49\x7c\x6c\xc6\xbc\x2c\x8a\x3a\x0b\x36\x73\x59\xb2\x2f\x74\x97\xb7\x84\xbd\xd6\x09\x7c\xf0\x0b\x01\x10\x52\x28\x0d\x0a\x1f\x54\x0f\x48\xa2\x25\x04\xbd\xdc\x3d\x10\xf6\xff\xa1\xe9\xd1\x6a\xb4\xb4\xe1\xb7\xde\x6c\xa0\xa3\x9b\x84\xf3\x5d\x4c\x17\xa2\xc2\x18\xfa\xb3\x2b\x83\x89\xcc\x21\xcf\x1a\x43\x31\x67\x57\x2a\x30\x98\x96\xf4\xdf\xcc\xf7\x4d\xfd\xee\x71\x2b\x83\xee\xce\x61\xee\x31\x55\xe3\x0c\x6f\x4f\x4a\x70\x92\xec\xe2\xf4\x76\x69\x34\x6f\x87\x6d\x78\x37\x9e\x3b\x8f\xed\x8f\x44\x0f\xa1\xbd\x76\x9a\xdd\x8e\xc1\x67\xf0\x62\xf0\xcc\xf8\x2e\x1d\x3f\xba\xfb\x0e\x14\xc7\xf9\x60\xbf\x07\xe2\xce\x48\xf3\xae\x5b\x62\x13\x98\xeb\xd0\x78\x9c\xcf\x75\x0e\xd9\xb6\x3c\x3b\xd3\xc5\x0d\x30\x6d\xd9\x73\xd4\xfa\x5a\x0b\xcc\xa3\x22\xc6\x94\xe1\x26\x70\x18\x73\x6f\x7a\x26\x5a\xbf\x17\xa8\x52\x79\xee\xd8\x67\xb4\x01\x3b\xc2\x87\xde\x21\x6f\x91\xa0\x8e\x40\xc6\x57\x5b\xff\x5a\x53\xd4\x55\x15\x16\x67\xc9\x27\xdb\x18\x31\xb3\xa6\x31\xea\x3e\xa3\xed\xc6\xad\x05\x19\x20\xf5\xab\x1b\x82\xb6\x41\x4c\x34\x02\x20\xaa\x79\xee\xf0\x92\x68\xbc\x2d\x91\x98\x03\x67\xa1\x98\x1a\x78\xbd\xa1\xf1\xf8\xd1\x28\x7c\x73\x0a\x08\x73\x79\x9c\xeb\x2f\xa5\xd4\x2b\xd9\x0d\xe8\xf7\x93\x7b\xf4\xf6\xba\xc6\x9e\x9a\xee\x63\x8e\xcb\x0b\x83\x10\xf2\x25\x68\x19\xba\xb7\x08\x4d\xf1\x4a\xe0\x9a\xf2\x5a\xb6\xa1\xcb\xe5\x23\x51\x2a\xd9\x9c\x7d\x7a\xfa\xea\x06\xb7\xcd\x65\xfb\x27\x68\x7f\x76\x4e\x3c\x9a\x9d\x1d\x85\x64\x06\xa5\x64\x87\x31\x96\xca\x54\xa2\x33\xa4\x6a\xb7\x5d\xe4\xef\x8e\xba\xda\x67\xb8\x2a\x61\x53\xa2\x2a\x51\xb8\xa7\xb3\xc6\x4a\x89\xf4\x03\xe9\x5a\x75\x76\x3f\xaf\x79\x65\xa2\xb2\x37\x64\x1c\x73\x60\x68\xf8\xa0\x37\xca\xa1\x8d\x83\xb2\xbc\x95\x77\x2f\x65\x39\x81\xcc\x68\x45\x57\x95\x3a\x4f\x33\x21\xc4\x41\x26\xba\x8c\x7c\x1d\xa7\xd6\x5f\x2b\xee\xf9\x70\x16\xee\x3e\x28\x08\xfa\xb9\x7e\x92\x39\x92\x61\x07\xa1\xbb\xa3\x81\xee\x83\xb4\xec\x8b\xbe\xcf\xf0\xc2\xa3\x15\x55\xbd\x47\xf0\x5e\x59\x15\x23\x33\x38\x4b\xee\xa6\x84\x4f\x4e\x9a\x77\xb4\x47\x76\x0e\x8e\x9f\x75\x2e\x1c\x9c\x8a\x7c\xe4\x9e\xa3\x64\x55\xaf\x7f\xd6\x8f\x41\xde\x8f\xe4\xee\x10\xf3\x23\x53\x75\x07\xde\xda\x9d\x90\xde\x79\x8d\x7d\x95\xa9\xcd\xb3\x22\xe3\x09\x57\x68\x4b\xb7\xd3\xe1\x09\xbf\xe4\xc2\x60\x22\x40\x18\x10\x21\xc8\xd6\x3c\x6f\x10\xff\x6d\x49\xe7\x55\x4d\x17\x6b\x26\x13\x68\x5f\x59\x89\x6b\xf3\xda\x89\x7f\xc9\x33\x6a\x26\x1b\x7a\x16\x7c\x06\xb7\xf3\xd4\x84\x42\xcf\x3d\xdc\x35\xe0\x5e\x9b\xb0\x6d\xc7\x0e\x19\x1f\x7e\x65\xf5\x7e\xf3\xb4\x09\xaa\xe6\xd9\xc8\xd1\x73\x06\xb7\x77\xdd\x20\x98\x28\xad\xff\x24\xd4\xa4\x1e\xb7\x2f\xd9\xd6\x7e\x01\xf5\xf3\x5d\xec\xa2\x7e\xc3\x44\xf0\xe9\xce\x1d\x1c\x1e\x83\x12\x31\x21\x44\x9f\x16\x9a\xf6\xe1\x07\xd8\xf6\xf9\x2c\x04\xd4\xf6\x4e\x1c\x9a\xf8\x90\x21\xe6\x72\x70\x6a\xc5\x81\x09\x9d\xe4\x70\x84\x9f\xcd\xe0\x1c\x3e\x7f\x4e\xb7\x67\xcc\xa9\xc7\x1a\x31\x4e\x37\x6f\xef\xd2\x2f\x92\xba\x5c\xd4\xa5\xa2\x79\xcc\x49\xbe\x16\x76\x9b\x07\xee\xeb\xa6\x86\xbc\x2e\x3d\xd3\x69\xbf\x84\xd5\xb7\x2c\x38\xd8\xa1\x01\xed\xe1\x5d\xdf\x21\x51\xee\x76\x83\x87\xa9\xd1\xff\x95\x9d\x1c\x7f\xe9\xae\x00\x12\x22\x75\x77\x94\xe4\x77\xb8\xe5\x34\x04\x98\x14\x44\x2c\xa5\x81\xea\x21\x4a\x43\xbd\x78\x5c\x0f\x67\x38\xa0\x17\xe6\xe3\xb4\x54\xf8\x76\x96\xcf\x38\xc3\xc6\xc7\xe9\xe0\x62\xbe\x54\xd3\xd7\x3a\xa9\xf6\x06\xa1\xb4\x6d\x3f\x1e\xa7\x5d\xb3\xdc\xff\xe3\xe7\xd8\xc6\xdf\x23\x11\x99\x1d\x2e\x1c\xc4\x3d\x99\x8d\xcd\x29\x23\x62\x6b\x8f\xbb\xd7\xda\x38\x27\x78\x2a\x0b\x87\xbd\xde\x77\x64\xe1\xa3\x0a\xbb\x9b\x8b\x6d\x1b\x58\x63\x59\x55\x7c\xa3\x09\x08\xd2\x49\xe7\x2c\xec\xb7\x4b\xc1\x27\x18\x5c\x34\xc3\xc4\x21\xbc\xc6\xaa\x35\x41\xbe\x7a\xf0\xce\x92\xd1\x2a\xb4\xce\x10\xfe\xd5\xec\x20\x6f\x14\x42\x8a\xdd\xd1\x1f\x7e\x68\xf9\x14\x2a\xce\xef\x9b\xcf\x6f\x8d\xaf\x18\xf2\x11\x5a\x81\x02\x1f\xb1\x9f\x9a\xec\x18\x70\xee\x35\x72\x6e\x7b\x79\xc9\x28\xbd\x71\x52\x50\x21\xd5\x6b\x96\xe3\xc3\x88\x17\x17\x11\x66\xe3\x23\xf8\x01\x5e\xc4\xa9\xc9\xdd\xee\xd4\x24\xc9\xae\x8e\x7a\x5f\x1b\x42\x41\x5a\x7b\x22\xd5\x82\x0b\xaa\xca\x65\xe3\x69\xb3\x8a\x4b\x94\x0a\xd6\xa4\xaa\xd1\xcd\x8d\xc4\x73\x22\xc6\xbb\x53\x09\x97\xfe\x21\xdd\xee\x1d\x56\xdc\x24\x6f\x77\x2b\x6a\xab\x42\x7e\xf2\x24\x1e\x55\xe9\x0e\xa0\xf8\xcf\x3c\x06\x83\xe2\x81\x7a\x65\xbe\xe2\x45\xcf\x25\xb9\x22\x19\x46\x99\x44\xf0\x98\x92\x70\xf8\x71\x57\xaa\x25\x27\x39\x95\x5a\x78\x2e\x52\xe9\x1e\x64\x42\xaa\xdc\xda\x81\x06\x93\xde\xbb\x17\xad\x06\x31\x19\x11\xeb\xf9\x18\x50\xed\x78\xdb\x6c\x33\xb3\xae\x58\xa8\xa8\xd3\xa5\xff\x28\x5c\x96\xe5\xf6\x87\xf7\xbe\xe1\x7c\x05\x35\x53\xb4\xf2\x77\xaf\xb8\x19\x4e\x95\x90\x09\x2e\x5b\x1c\x36\x25\xad\xd0\x82\xbf\x74\x00\x63\xaa\xf5\x45\x4b\x9a\xc3\x0c\x46\x66\xd7\x0f\x76\xd7\x18\xa6\xf0\x9f\xdd\x12\xab\xa5\xe1\x76\x49\xf3\x3b\xad\x1d\x8e\xc7\x83\xd5\x44\xe7\xc8\x40\xb1\x10\x0b\xec\xb2\x77\x51\x1f\xbc\x29\xf8\x72\xd3\xee\x3d\x39\x69\x24\xdd\x39\x08\x67\x2f\x52\x67\x07\xd1\x83\x33\x78\x71\xf7\x48\x1f\xdd\x1c\x76\x82\x59\xd2\x7c\xbf\xd2\xca\x61\x7b\xa9\x79\xec\xbb\xa8\xe3\x00\xf1\x2e\xc5\xda\x7b\x1d\x84\xf9\x3e\x58\x3b\x1d\x73\xe0\x77\xf6\x54\x21\xe5\x49\x18\x57\xa5\x0e\x79\x26\x44\x77\xf3\x05\xef\x0e\x9c\x79\x98\x0f\xd9\xc7\x9d\xff\xa7\xc1\x6b\x46\x15\x25\x15\xfd\x07\xda\xf7\xdc\x79\x15\x3c\x8e\x1a\xb3\xdb\xeb\xa3\x06\x98\xc1\xd4\x7d\x35\x31\x7d\xe4\x63\x09\x48\xb5\xf4\x60\x06\x9f\xbe\x24\x97\x3b\x0f\x2d\x2f\xce\xcf\xcf\x1f\xdd\xe7\x5f\xbb\xb5\xf5\x4e\xfe\x2b\xde\x9e\x6e\x66\x47\x3c\x79\x4f\xd6\x18\x1f\x22\x59\xc6\x6b\xa6\x26\x92\xac\x71\x74\x79\x96\x99\x2c\x62\xc7\x14\xde\x68\x7c\x0a\x8a\x5f\x1c\xc0\x40\x9f\xb6\x7d\x79\x06\xff\x0c\x00\x00\xff\xff\x11\x60\x63\x79\xc9\x43\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x5b\x73\x1b\x37\x77\xef\xfa\x15\x47\x7a\x50\x49\x47\x22\xe5\xce\xd7\x4c\x47\x23\x2a\x63\x29\x4e\xe2\xa9\xeb\x64\x7c\x49\x1f\x34\x9a\x0e\xb8\x7b\x96\x8b\x6a\x09\xb0\x00\x96\x14\x6b\xfb\xbf\x77\x70\xdb\x05\x76\xb1\x14\x29\xdb\x9d\xea\x25\x96\x00\x1c\x9c\xfb\x0d\x67\x33\x9d\x4e\xe1\x63\x49\x25\x64\x9c\x29\x41\x32\x05\x54\x42\x2d\x31\x07\xc5\x21\xc7\x82\x32\xcc\x61\x5e\xf1\xec\x01\x4a\xa4\x8b\x52\x01\x61\x39\x48\x5e\xa8\x0d\x11\x08\x6b\x14\x92\x72\x06\x73\x5e\xb3\x9c\x08\x8a\xf2\x48\x43\x2c\xb8\x00\x55\x62\xbb\x4f\xd4\x0c\xe6\x5b\x78\xfd\x88\x59\xad\xf4\x81\x77\x3c\x47\x39\x39\x5a\xd5\xf3\xf6\xe6\x66\x55\x2f\xfe\x6d\x21\xdf\x20\xc9\x38\x83\xcf\x47\x47\x00\x00\x1a\xf6\x07\x25\xea\x4c\x81\xc0\x95\x40\x89\x4c\x51\xb6\xe8\xe3\x43\x24\x7c\xc0\x25\x61\x8a\x66\xe0\x20\x35\x00\x48\xc5\xd9\x02\x36\x54\x95\x50\x62\xb5\x42\x01\x45\xcd\x32\x7d\xaf\x6c\xf6\xfc\xc6\x05\x08\x2c\x50\x20\xcb\xf0\x0c\x24\x22\x94\x4a\xad\xe4\xe5\x74\x2a\x71\xb9\x46\x31\xe1\x62\x31\x35\xdb\x35\x09\xd2\xe2\xf4\xc1\x2c\xc1\x67\xf3\x77\x0f\xea\x96\x2f\x57\x9c\x21\x53\xd2\xf2\x53\xe3\x4b\x40\x7a\xec\xd6\x01\x76\x1e\x5c\x85\x0a\x96\xe4\xbf\xb8\xb8\x84\x4f\x6f\x98\xfa\xd7\xfe\x22\x65\xc3\x8b\x2b\xa2\xb2\x72\x70\x51\xe0\x7b\xac\x90\x48\xbc\xd4\x9c\xa4\x6c\xf1\xcb\x51\x84\xee\xdf\xa4\xaa\x11\x72\x64\xdc\x70\x36\xe3\xcb\x15\x51\x74\x4e\x2b\xaa\xb6\x96\x69\x2b\x81\x6b\xca\x6b\xe9\x51\x97\xbd\x4b\xa8\xbc\x21\xd9\xc3\x86\x88\x5c\xde\xba\xf3\x15\x5e\xc2\x0d\xe7\x55\x7b\x19\x65\x54\x8d\x42\x2a\xcf\x22\xb2\xce\x22\x3a\xce\x52\x88\x9f\xed\xba\x68\x1c\x88\x41\xff\x48\xac\x8a\x89\xb9\x0e\x66\x96\xb9\x89\x65\x7d\xbf\x5e\xd6\xff\xed\x2f\x1b\x84\x60\x66\x11\x4b\x2c\x37\x18\xea\x3d\xcd\x2f\xfd\x8d\x49\xac\x61\x96\xa6\xa6\x39\xfe\x35\x96\xd3\x7b\x54\xb5\x60\x8d\x10\x80\x32\xaf\x7e\x05\x17\x4b\xa2\x60\x84\x93\xc5\x04\xd6\x57\x86\xd6\xeb\xc9\x95\x21\xea\x7a\x72\x65\xb0\xbf\x3e\xbf\x6a\x31\xbc\x1e\x47\x90\x89\x04\xe2\x58\x1c\x49\xb6\xa8\x19\x28\x6e\x17\x46\x63\x2f\x85\x0e\x9b\xb5\xf8\xad\x85\xdc\x72\x81\x6e\xcb\x2c\xe0\xfe\xa4\x05\x11\x1d\x34\x3f\x93\x8c\xb3\x8c\xa8\xd1\xc9\xe4\x64\xc7\x6a\x7f\x25\x96\xe0\xce\x2b\xc6\xdf\x7c\x87\x61\xe0\xee\x3b\xa2\x3f\x19\x1f\xa0\x81\x6a\xa5\x38\x17\x4e\x45\x68\x01\x54\x01\x3e\x52\xa9\x24\x9c\x82\x30\xe2\x8c\xce\xd1\xa2\xa7\x57\xc7\x33\x60\xb4\xea\xb0\x5c\xff\xd8\xe3\x3d\xce\x37\xb4\x9e\x9f\x34\x74\x77\x60\x1e\xc7\xc8\x06\x5a\xb6\x03\x6e\x52\x29\x5f\xc0\x6d\x2d\x15\x5f\x1a\x8f\x47\x04\x51\x5c\x48\x78\x31\x4d\xab\xad\x12\xb5\xe1\x81\xd3\xd9\x8c\x0b\xd4\x91\x67\x21\x90\x28\xd4\xc1\x83\xb0\xe8\xdc\x8a\x48\x1d\x94\xc2\xed\x3a\x10\x15\xa4\x92\x08\x5c\x95\x28\x36\x34\xb0\x35\xaf\xaf\x7a\xe3\xef\x16\xe6\xc7\x92\xb0\xd1\x7f\xda\xbd\x97\x0e\xd0\xd8\xfa\x8a\x0e\x43\x69\x01\xa3\xc0\x5d\x5c\xdb\x33\xf6\xb7\xae\x5b\x09\x98\xa4\x49\x8a\x79\x09\x58\x59\x49\x87\xe0\x66\xb3\x10\x1e\x9c\x9e\x86\xbe\xa7\xb9\x4b\xff\xf6\x83\xef\x6a\x17\xcd\xaf\x7e\xd1\x7a\x39\x8f\x88\xf9\xed\x19\x88\x0c\x1e\x30\x12\xeb\xa8\x5c\x4a\x9b\x0e\xd3\x15\x08\xfc\xb5\x3e\x8a\xff\x5d\x93\x4a\xa7\x30\xdf\x47\x6f\xfe\x14\xaf\x35\xc0\x8f\x7c\x3f\x05\x6a\xac\xa6\x2a\x26\x5d\x0d\x34\xc7\xc7\xf0\xe5\x4b\xbb\xec\x61\xdb\xa5\x67\x72\xa3\x42\x29\xbf\xab\xd9\xbc\x45\x29\x0f\xb2\x99\x40\xef\xae\x22\xb5\x7b\x8e\x16\xef\xab\xc4\x57\x91\x0e\xff\xc8\x9b\x76\x9a\xcb\x55\x68\x2e\xff\x2f\xad\xa5\xd1\x8f\x1f\x61\x2a\x5e\x57\xbe\xd1\x4e\x1a\x95\xfb\xde\x46\x42\x65\x97\xcc\xe8\xd4\x73\x48\x7e\x36\xa1\xdf\xaa\x6a\xcd\x62\x9c\x86\xee\xcd\x88\x17\xf8\x48\x32\x55\x6d\x5f\xec\xc3\x92\x7d\xb8\x21\x95\xa0\x99\xfa\x26\xc1\xc7\xc2\x6d\x09\x0e\x32\xea\x86\xea\x7e\x62\xed\x48\xff\xda\xd6\x88\xaf\xd7\xc8\x14\xe0\x92\x2a\x85\x39\x10\xb6\x05\x45\x97\x08\x04\xb2\x92\xb0\x85\xb1\x87\x25\xc9\x51\xd3\xee\xf2\xe7\x8f\xc4\xe7\xda\x9a\x2c\x34\xe7\x53\xf5\xa8\xd9\xf7\x2a\xcf\xa9\xfe\xfb\xc8\x96\xc4\xb6\x46\xf9\xf9\x1f\x67\x1e\x58\x43\xfc\xbe\x00\x7f\xc5\x0a\xf7\x07\xb8\x83\x42\x5d\x74\xfb\x8a\xa0\x5e\xe5\x44\x21\xcc\xeb\xa2\x40\x01\x2b\x14\x94\xe7\xa6\xba\x37\x7f\xcf\xf7\xc0\xed\x93\xd9\x79\x63\x00\xdc\x1a\xce\xe5\x23\x86\x9b\xc4\xaa\xc7\x78\xdc\xca\xe0\x96\x30\xce\x68\x46\x2a\x90\x8a\x0b\xb2\x40\x5d\x37\x95\xa6\x35\x90\xba\xeb\xdf\x10\x57\x28\x1a\xa4\x74\x1d\x31\xbc\xed\x83\x85\xf8\x17\x51\xa5\xae\x43\x9a\x5f\xda\xdb\x0d\x5b\x21\xa7\x99\x22\xa6\x8e\x5d\x52\x46\x97\xf5\xb2\x61\xce\x39\x7c\x36\x5d\x8d\x3f\x1c\xc3\x2d\x7f\xbf\xb6\x5d\x86\x92\xd7\x55\x0e\x73\x04\x2e\x72\x14\x98\xc3\x7c\x1b\xf7\x41\x46\x94\xe5\xf8\x38\x86\x4d\x49\xb3\x12\x68\xdb\x3b\x40\x56\x70\x91\xd9\x13\x94\x49\x14\x9a\x84\x69\xee\x44\x6c\xb6\x91\x2c\x43\x29\x47\xbe\xf3\x31\x36\xe4\x86\x9a\x78\x09\x9f\x2d\x43\x5b\xcc\x1a\xf8\xef\xea\xe5\x1c\x05\xf0\xc2\xe2\x23\x61\x8e\x6a\x83\xc8\x62\xf4\x36\x25\xb2\x6e\x7b\x66\xab\xc5\xef\x9b\x3a\x84\xe5\x0d\xc8\x50\x6d\x9a\xbd\x73\xd4\x8c\x73\xdb\x27\xb6\x63\x03\x19\x61\x80\x8f\x2b\xcc\x94\x0e\x26\xca\x19\x94\xd4\x96\x14\x00\x69\xad\xc9\x41\xdf\xc2\x86\x56\x15\x94\x64\x8d\x40\x14\x68\xfb\xd5\x00\x74\x5c\xe2\x6c\xa1\x4f\x0b\x94\x2b\xce\x4c\xdb\x89\xf4\x70\x49\x33\x6d\x4d\x84\xdf\x99\xd2\xc5\x56\x96\xa8\x1c\xce\xc4\x74\x79\x40\xe0\x82\x88\x5c\x53\x57\xf2\x0d\x2c\xeb\xac\x0c\x91\x0f\x61\x19\x7a\xd7\x96\x1b\x96\xc9\x89\x8e\xd7\x53\x12\x0d\x01\xfe\x4d\x04\x25\x2c\xc3\x4b\xf8\xf4\x1b\x7d\xfc\xf9\x1f\xa1\xbd\x64\x25\x6a\xa9\x6a\x54\x2a\xcd\x1f\x2b\xcf\x56\x76\xac\xc7\x62\x58\x92\xd5\xca\xd7\x63\x1a\x88\xbd\x2a\xe5\xf2\x62\x01\x81\x32\xc7\x9d\x1f\x1c\x66\xaf\xc6\xe3\x46\xa3\x71\xe3\xb0\x68\x98\xdb\x5c\xf9\x2a\x5f\x52\x06\x94\x29\x14\x05\xc9\xd0\xaa\xc5\x92\x30\x62\xd4\xa2\xc4\x4e\xd3\xcf\x63\x10\x62\xbd\x24\x94\x29\x62\xb4\xd2\x10\x19\xb4\x23\x1b\x87\x20\x50\xf2\x5a\x64\x18\xdc\x94\xf2\x0f\x16\x9b\xcf\x71\x30\xb4\x5c\x31\xc8\x74\xfd\x80\x66\x0b\x79\x40\xc0\xa2\xd0\x3a\x4d\x94\xd9\xb5\xa0\xeb\x8e\x3d\xf5\xa2\x1e\xc9\x73\xdf\xa2\x74\xac\xf9\xc8\x8d\x4c\x46\x8a\x88\x05\x5a\xae\xfd\xd1\x71\xe7\xad\xf3\x6c\x3c\x7a\x27\x32\xae\x44\x2a\x1b\xec\x81\x84\xeb\x1d\xdd\xd2\x49\x4f\x6a\xc9\x6e\xc6\x25\x9c\xbc\x52\x0a\x97\x2b\xe3\x20\x15\x77\xce\xca\xeb\x14\xf0\x5a\x69\x75\x34\xfe\x6f\x02\x06\x1e\xdc\xb4\xca\xe8\x1c\x9b\x84\x65\xad\x75\x15\xdd\x9f\xac\x0c\x89\xcc\x90\x19\x0b\x73\xc7\x6f\x4b\xcc\x1e\x62\xdd\x3d\x05\x25\xb6\x40\x16\x84\xb2\xc9\xc9\x5e\x24\x2f\x50\xdd\xd6\x42\x20\xb3\x7f\x1f\x8d\x27\xce\xd9\xfd\xb4\x8b\x1b\x09\x2b\x1c\xe2\xc7\x47\x73\x69\xec\x48\x79\x96\xd5\x42\x3b\x38\x0e\x92\x5b\x8d\x71\x91\xf5\xf5\x3b\x4f\x50\x07\xff\xc1\x1c\xdd\xc4\x79\x67\x16\xc6\xc4\x91\x29\x6b\xd9\x11\x67\x6c\x48\xb1\x9e\x57\x02\xd1\xa1\x3c\xe3\x4b\xcd\xcd\xa4\x63\x6c\x3c\x88\x0f\x59\x25\x56\xab\xa2\xae\x34\xdc\x4c\x27\x4f\x82\x57\xd5\x9c\x64\x0f\xda\xde\x19\x62\x1e\xe4\x7a\x5e\x9d\x4d\x78\xc2\xb7\x44\xa1\x54\x1d\xbd\x36\xbd\xbe\x6e\x67\x7b\x58\x57\x9f\x96\x84\x21\x72\x52\x21\x5b\xa8\x12\xae\xe1\xe2\x12\x4e\xde\xf1\x7e\xfc\x71\x7a\x28\x6d\x93\x6c\x5f\x16\x5b\x31\x5b\x16\xb3\x6e\xa4\xb4\xbe\xc9\xe8\xab\x75\xef\xb5\xdf\x3d\x10\xbe\x3c\x54\x9d\x07\xeb\x0d\x56\x33\x1c\xdc\xd0\x9f\x52\xe9\x34\x56\xa5\xda\xa6\xd6\x07\x27\xf2\x26\x9d\x4e\x85\xbf\xbf\x61\x46\xb3\x65\x93\x4f\x75\x59\xce\xa5\x7a\x16\xcf\xa3\xa0\x36\x9b\xc1\xe0\xbd\x27\x9f\xa2\xb4\x71\x43\x24\x30\xae\x60\x25\xf8\x0a\x45\xb5\x75\xa4\xe4\xc7\xf0\x1e\xd7\xc6\xdc\xf7\x15\xcc\x2b\x29\xe9\x82\xe9\x0c\x22\x2b\x31\x3f\xc8\x7d\x79\xf1\x18\x93\x79\x40\x6d\x30\x11\xe8\x5e\x58\xa4\x45\xab\x3d\x44\x60\x93\xf3\x70\x01\x17\x7a\x51\x1f\x68\x22\xa0\xf6\x80\xdb\xbe\x7f\x37\xe8\xbe\xed\xa2\xe2\xda\xbd\x5f\xbb\xf1\xaf\x09\x4f\x3f\x3a\xfc\x0d\x27\xc5\x97\x3b\x03\x62\x8f\xbe\x1f\x13\xbf\xa6\x53\x78\x13\x87\x11\xca\xda\x2a\x4b\x45\x86\x75\x88\xb7\xb0\xc1\xa5\xdf\x96\x7f\xc0\xed\x65\x3f\x56\x9c\xf5\xf6\xb5\x98\x47\x4b\xbd\x4e\xbd\xce\x15\x93\xfa\xe7\xba\x23\xf6\x2a\x20\x12\x36\x08\x0f\x8c\x6f\x80\x2a\x9b\xdb\xc6\x11\xb0\x0b\xb7\x13\x10\x21\xaf\x4d\x4a\xb6\x12\x78\x9e\x71\x66\xcb\xc9\x7d\x19\xd3\xc7\x6f\xd6\x67\x41\xdc\xc7\xd7\x85\xe2\x01\xf5\x6c\x9f\xa1\x6d\x25\xda\x72\x32\xd9\x85\xf9\x96\x80\xa2\xeb\x5a\x26\x6b\x63\xb0\xb6\x5a\xf2\xd1\xd7\x3c\x3c\x22\xe3\xf5\xa2\xb4\x79\xad\x2e\x23\x99\xa9\x48\xda\xda\x21\x82\xa5\xc5\x95\x52\x98\x83\xf8\xfa\x1d\x53\x8e\xbe\x4a\x2e\x51\x4a\xb2\xc0\x4b\x38\xb9\x25\x4c\xfb\x58\xcb\xb2\x7e\x20\xd4\xc4\xd3\x81\x7a\x9e\x0b\x28\xa9\x2e\xb0\x4d\xa5\xed\x9d\x5e\xc7\x27\x8f\x8f\xba\x6c\x7e\x8f\x4b\xbe\x8e\xdb\x05\xde\x5e\x4f\x8d\xb2\x44\x07\x74\x2d\x23\xcc\x89\xbc\x91\xdc\x6c\x6f\xd3\xb5\x27\x07\x4c\xf7\xd9\x59\xec\xf8\xf8\x10\x0d\xef\x35\x58\x0e\xb9\x37\x50\x7e\xc7\x85\x14\x43\x6d\xc0\xe8\x3b\x8f\x68\xa7\x69\x6b\x0d\x87\x96\x3e\x54\xdb\x36\x2e\xd1\xdf\xdc\x88\x4b\x1b\xc0\x1a\x05\x2d\x68\x46\x7a\xce\xc3\xf5\xd7\xdc\x99\x5d\x66\xfa\xdd\x32\x93\xe9\x14\xde\xe1\xc6\x6b\xa7\x6c\xda\x27\x4e\x79\x85\x29\x42\x79\xe1\x0a\x71\xcc\xfd\xce\xb5\x2d\x88\xc9\x5e\xc6\x6b\x6b\xe6\x21\xd4\xc6\x70\x3d\xf3\x5b\x0e\x33\xce\x31\xbc\x80\xd1\xcb\xc9\x05\x9c\x1f\x68\xd5\xbe\x9c\x1f\xc3\xe9\xe9\xc1\xd8\x5e\x7d\x2b\xb6\x87\xfa\xa0\x06\xdb\x27\x9c\x11\x70\xd6\x64\x7a\xc9\xae\xc8\x7c\x0b\xa4\xaa\xf8\x46\xeb\xa3\x83\x09\x85\xe0\x4b\x9b\xaa\x6b\x2f\x62\xa5\xbb\xdb\x0f\x69\xb7\x92\x05\xce\xd5\xd5\x79\xb3\x41\xa7\xdb\x53\x38\x1e\xb4\x61\xda\x69\x25\xdc\x72\x96\x7b\xc8\x36\x65\x3f\x03\x49\x0a\x13\x71\x97\xba\xda\x77\x5d\xab\xee\x0b\x56\x02\x99\xc3\xea\xec\xef\x90\x9a\x0f\x65\xe6\xe9\x67\xa3\xde\x75\xb4\x30\x6c\x65\xf8\xd8\x4b\x11\x76\x60\x52\x50\x96\xbf\xc3\xc7\x5e\xa0\x8e\x5a\xa4\x7d\xee\xa4\xde\x85\x9d\x68\xde\x14\x89\x36\x9e\x1f\x77\x70\x9d\x2c\x17\x71\xce\x00\x6d\xd0\x37\xa9\xb3\x5e\xd8\xe0\x3f\x09\x34\x65\x87\xbb\xb3\x6a\x82\xa0\x29\xc2\xe2\x08\x58\xd8\x83\xbd\x92\xb8\x83\x91\x2d\xe1\x88\xd2\x89\x1b\x71\xe0\x03\xa0\xac\x75\x5e\x87\x00\x1e\xf2\x54\xfe\x27\xa1\x52\x87\x5a\x2d\x5c\x25\xc4\x99\x70\x37\x3b\xaf\x1c\xd0\xaa\x14\xec\xbe\x73\xf0\x3f\xad\x93\x30\xb0\x5a\x3b\x07\x9d\x08\xcf\x05\x92\x07\xd9\x17\xba\xcb\x5b\xc2\x0e\xec\x04\x3e\xfa\x85\x00\x08\x29\x94\x06\x85\x8f\xaa\x07\x24\xd1\x20\x82\x5e\xfa\x1e\x08\xfb\x3f\xd0\x74\x6e\x35\x5a\xda\xf0\x5b\x6f\x36\xd0\xe7\x4d\xc2\xf9\x21\xa6\x0b\x51\x8d\x0c\xfd\x91\x9b\xc1\x44\xe6\x90\xd7\x98\xa1\x98\xb3\x2b\x15\x18\x4c\x4b\xfa\x4f\xfd\xfb\xa6\x7e\x0f\xb8\x95\x41\xa3\xe7\x30\xf7\x98\x2a\x73\x86\xb7\x27\x25\x38\x49\x36\x74\x7a\xbb\x34\x9a\x77\xc3\x36\xbc\x1b\xcf\x9d\xc7\xf6\x47\xa2\x87\xd0\x5e\x3b\xcd\x6e\xc7\xe0\x73\x78\x39\x78\x66\x7c\x9f\x8e\x1f\xdd\x7d\x07\x8a\xe3\x62\xb0\xf5\x03\x71\x93\xa4\x79\x8e\x2e\xb1\x09\xcc\x75\x68\x3c\xce\xe7\x3a\x87\x6c\x1b\xa0\x9d\x69\xe1\x06\x98\xb6\xec\x39\x6a\x7d\xad\x05\xe6\x51\x11\x63\x2a\x71\x13\x38\x8c\x81\x34\xed\x13\xad\xdf\x0b\x54\xa9\x3c\x77\xec\x33\xda\x80\x1d\xe1\xfb\xf4\x90\xb7\x48\x50\x47\x20\xe3\xab\xad\x7f\xc3\x29\xea\xaa\x0a\x8b\xb3\xe4\x4b\x73\x8c\x98\x6d\xc0\x8c\xfb\xaf\x7f\xbb\x71\x6b\x41\x06\x48\xfd\xe6\x86\x9a\x6d\x10\x13\x8d\x00\x88\x6a\x1e\x41\xbc\x24\x1a\x6f\x4b\x24\xe6\xc0\x59\x28\xa6\x06\x5e\x6f\x08\x3c\x7e\x4a\x0a\x5f\xa2\x02\xc2\x5c\x1e\xf7\xef\xf6\xc6\x94\x7a\x25\xbb\x01\xfd\xd6\x72\x8f\xde\x5e\x03\xd9\x53\xd3\x7d\xe2\xf1\x2f\x98\x27\x47\x7d\x45\x9d\x4e\xdd\xcb\x84\xa6\xb8\x19\x6c\x6e\x42\x97\xcb\x47\xa2\x54\xb2\x39\xfb\xfc\xf4\xd5\x0d\x62\x9b\xcb\xf6\x4f\xd0\xfe\xea\x9c\x78\x32\x3b\x3b\x0e\xc9\x0c\x4a\xc9\x0e\x63\x2c\x95\xa9\x44\x67\x48\xd5\xee\xba\xc8\xdf\x1f\x77\xb5\xcf\x70\x55\xc2\xa6\x44\x55\xa2\x70\x0f\x6a\x8d\x95\x12\xd9\x0c\x96\x57\xf8\xc4\xa3\x9b\x57\x26\x1a\x0c\x45\x7b\xd5\x99\xa7\x9a\x94\xdd\x99\x89\xde\x04\x8a\x36\x0e\xca\xf2\xde\x20\x7b\x2b\xf7\x53\xc8\x8c\x56\x74\x55\xa9\xf3\x50\x13\x42\x1c\x64\xa2\xcb\xc8\xd7\x71\x6a\xfd\xad\xe2\x9e\x0f\x67\xe1\xee\x03\x01\x8d\xb8\x83\xea\x07\xb0\x23\x19\x76\x10\xba\x3f\x1e\xe8\x3e\x48\xcb\xbe\xe8\x7b\x8b\xf8\xab\x80\xce\xd3\xb8\xec\xc2\xf9\x15\x15\x8a\x25\x65\x68\x86\xd0\x50\xf4\xbe\x79\x70\x6c\xf2\x8f\x69\xd1\x28\x58\x4c\xc9\x8e\x49\xd4\xc4\xa8\x5c\x33\xe3\x17\x42\xf6\xb3\x46\x7b\x03\xde\x31\x3b\x18\xc3\x88\x11\x5f\x3f\x09\xd8\x63\xb5\x7b\xee\x1f\x12\x91\xd5\x31\xf6\x95\x94\xb5\x79\x16\x64\x3c\xe1\xbc\x6c\xb1\x75\x96\xe6\x4f\xef\x8f\xa9\x70\xc6\x80\x08\x41\xb6\xe6\x35\x82\xd8\x2f\x57\x7a\x8f\x60\xba\xa0\x32\xd1\xba\x7d\x17\x0d\x27\x4b\x88\x94\x3c\xa3\x66\x26\xa1\x67\x65\xe7\x70\x37\x4f\xcd\x16\xf4\x4c\xf8\xbe\x01\xf7\xc6\x84\x56\x3b\xd1\xc8\xf8\xf0\xbb\xa8\xf7\x6d\x67\x4d\xe0\x33\xaf\x3c\x8e\x9e\x73\xb8\xbb\xef\x06\xaa\x44\xf9\xfb\x17\xa1\x26\x3d\xb8\x7b\xc5\xb6\xf6\xab\xa3\x5f\xee\x63\x37\xf2\x3b\x26\x02\x44\x77\x62\xe0\xf0\x38\x91\xf0\xdb\x21\xfa\xb4\xd0\xb4\x0f\xbf\x97\xb6\xaf\x5d\x21\xa0\xb6\xbf\xe1\xd0\xc4\xc7\x0c\x31\x97\x83\xf3\x26\x0e\x4c\xe8\xc8\x86\xa3\xf0\x6c\x06\x17\xf0\xe5\x4b\xba\x85\x62\x4e\x3d\xd5\x2c\x71\x1a\x79\x77\x9f\x7e\x40\xd4\x25\x9d\x2e\xe7\xcc\x9b\x4b\xf2\x71\xaf\x5b\xe0\xcf\xb1\xe0\x02\x5b\xf2\xba\xf4\x4c\xa7\xfd\x32\x53\xdf\xb2\xe0\x60\x9f\xf9\xb5\x17\x76\xbd\x81\x44\x49\xda\x75\xf0\xa6\x8e\xfe\xbf\xec\xb6\xf8\x4b\x77\x39\xf9\x10\xa9\xfb\xe3\x24\xbf\xc3\x2d\x67\x21\xc0\xa4\x20\x62\x29\x0d\x64\xf8\x51\xaa\xe8\xc5\xe3\xfa\x2c\xc3\x41\xb7\xd0\xff\x48\x86\x58\x67\xf9\x8c\x33\x6c\xbc\x1a\xa3\x95\x76\x02\x16\x1f\x27\xd5\xde\x08\x93\xb6\xed\xa7\x63\xa9\x6b\x68\xfb\x7f\xfc\x12\xdb\xf8\x07\x24\x22\xb3\x73\x8b\x83\xb8\x27\x33\xa6\x39\x65\x44\x6c\xed\x71\xf7\xa8\x1a\xc7\xed\xe7\xb2\x70\xd8\xeb\xfd\x40\x16\x3e\xa9\xb0\xbb\xb9\xd8\xb6\x6a\x35\x96\x55\xc5\x37\x9a\x80\x20\xe5\x73\xce\xc2\x7e\x16\x15\x7c\xdd\xc1\x45\x33\xa7\x1c\xc2\x6b\xac\x5a\x13\xd4\xcc\x28\x3a\x67\xc9\x68\x15\x5a\x67\x08\xff\x7a\x76\x90\x37\x0a\x21\xc5\xee\xe8\x4f\x3f\x0f\x7d\x06\x15\xe7\x0f\xcd\x27\xaf\xc6\x57\x0c\xf9\x08\xad\x40\x81\x8f\xd8\x4f\x4d\x76\xcc\x4e\xf7\x9a\x2d\x77\xbd\x5c\x63\x94\xde\x38\x29\xa8\x90\xea\x0d\xcb\xf1\x71\xc4\x8b\xcb\x08\xb3\xf1\x31\xfc\x04\x2f\xe3\xde\xda\x2e\x67\xe0\x99\x14\xa8\xf2\x8d\x21\x0a\xa4\xb5\x1d\x52\x2d\xb8\xa0\xaa\x5c\x36\x5e\x35\xab\xb8\x44\xa9\x60\x6d\xbe\x36\xb5\x23\x1d\xf1\x08\x87\xf1\xe4\x54\xc2\x95\x7f\xdb\xb6\x7b\x87\x95\x34\xc9\xc7\xdd\x4a\xd9\xaa\x8b\x1f\x0a\x89\xa7\x48\xba\xb3\x21\xfe\x6b\x91\xc1\x00\x78\xa0\x0e\xfd\x6a\xf4\xd6\x73\x49\xae\x48\x86\x51\xd6\x10\x3c\x6e\x24\x9c\x7b\xdc\x25\x6a\xc9\x49\xce\x8e\x16\x9e\x8b\x54\xba\x07\x92\x90\x2a\xb7\x76\xa0\x71\xa4\xf7\xee\x45\xab\x41\x4c\x46\xc4\x7a\x3e\x06\x54\x3b\xde\x36\xdb\xcc\x44\x2a\x16\x2a\xea\x3c\xe9\x3f\x0a\x97\x51\xb9\xfd\xe1\xbd\x6f\x39\x5f\x41\xcd\x14\xad\xfc\xdd\x2b\x6e\x46\x48\x25\x64\x82\xcb\x16\x87\x4d\x49\x2b\xb4\xe0\xaf\x1c\xc0\x98\x6a\x7d\xd1\x92\xe6\x30\x83\x91\xd9\xf5\x93\xdd\x35\x86\x29\xfc\x73\xb7\x94\x69\x69\xb8\x5b\xd2\xfc\x5e\x6b\x87\xe3\xf1\x60\x35\xd0\x39\x32\x90\xff\xc7\x02\xbb\xea\x5d\xd4\x07\x6f\xca\x94\xdc\xb4\x5f\x4f\x4f\x1b\x49\x77\x0e\xc2\xf9\xcb\xd4\xd9\x41\xf4\xe0\x1c\x5e\xde\x3f\xd1\xd7\x36\x87\x9d\x60\x96\x34\xdf\xaf\x01\xe9\xb0\xbd\xd2\x3c\xf6\x5d\xcd\x71\x80\x78\x97\x62\xed\xa9\x0e\xc2\x7c\x1f\xac\x9d\x8e\x39\xf0\xfb\x54\x62\xb1\x27\x61\x5c\x95\x3a\xbc\x99\x70\xfc\x84\xb7\x34\x9f\xc1\x8f\x3b\xff\xcf\x80\x37\x8c\x2a\x4a\x2a\xfa\x3f\x68\xdf\x57\xe7\x55\xf0\x58\x69\xcc\x6e\xaf\x6f\x23\x60\x06\x53\xf7\xf1\xc5\xf4\x89\x6f\x2e\x20\xd5\x62\x83\x19\x7c\xfe\x9a\x5c\xee\x3c\x7c\xbc\xbc\xb8\xb8\x78\x72\x9f\x7f\x7d\xd6\xd6\x3b\xf9\x97\x78\x7b\xba\xb9\x1c\xf1\xe4\x03\x59\x63\x7c\x88\x64\x19\xaf\x99\x9a\x48\xb2\xc6\xd1\xd5\x79\x66\x32\x86\x1d\x03\x72\xa3\xf1\x19\x28\x7e\x79\x00\x03\x7d\x8a\xf6\xf5\x08\xfe\x37\x00\x00\xff\xff\x29\x2d\xe9\x54\x29\x43\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x6, 0xf0, 0xb4, 0x74, 0x86, 0xa9, 0xec, 0x7c, 0x8f, 0x90, 0xa9, 0x85, 0xd1, 0x21, 0xf7, 0x74, 0xce, 0x9e, 0x68, 0xf5, 0xe6, 0xb, 0x9, 0x21, 0x9e, 0xf9, 0x8e, 0x92, 0x1b, 0x2, 0x2f}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0x60, 0x54, 0x56, 0xb0, 0xb5, 0xe5, 0x30, 0xdb, 0x34, 0xe3, 0xd, 0x8f, 0xf8, 0xb3, 0xdb, 0x3e, 0x85, 0xd0, 0x50, 0xf0, 0x81, 0xd2, 0xd3, 0xd1, 0xfb, 0xf0, 0xa6, 0xf0, 0x10, 0xb4, 0xaf}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index 2964c4ccc..92c3d0c9b 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -70,6 +70,14 @@ // ../../../transactions/epoch/scripts/get_epoch_phase.cdc (111B) // ../../../transactions/epoch/scripts/get_proposed_counter.cdc (108B) // ../../../transactions/epoch/scripts/get_randomize.cdc (121B) +// ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.564kB) +// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) +// ../../../transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc (996B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (176B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (174B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (195B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (165B) +// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (273B) // ../../../transactions/flowToken/burn_tokens.cdc (1.085kB) // ../../../transactions/flowToken/create_forwarder.cdc (1.815kB) // ../../../transactions/flowToken/mint_tokens.cdc (893B) @@ -1738,6 +1746,166 @@ func epochScriptsGet_randomizeCdc() (*asset, error) { return a, nil } +var _executionnodeversionbeaconAdminAdd_version_to_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6b\x1b\x31\x10\xbd\xef\xaf\x98\xfa\xd0\xae\xc1\xd8\x3d\x94\x52\x96\xa6\x61\xed\x2c\x34\x94\xda\xc1\x76\x42\xa1\xf4\x30\x96\xc6\xb6\x1a\xad\xb4\x95\x66\xe3\x84\x90\xff\x5e\xb4\x1f\x76\xe2\x38\x0e\xa5\xd7\x37\xcc\xbc\x99\xf7\x9e\xa4\xf2\xc2\x3a\x86\xec\x96\x44\xc9\xca\x9a\xb1\x95\x74\x45\xce\x2b\x6b\x86\x84\xc2\x1a\x58\x3a\x9b\xc3\xfb\xdb\xec\x47\x36\xba\x9c\x9f\x4f\xc6\xe3\xc9\x59\x76\x95\x4d\x67\xe7\x93\xf1\x30\x4b\x47\x93\x71\x7a\x76\x36\xcd\x66\xb3\x28\x1a\x0c\x06\x30\x77\x68\x3c\x8a\x30\x0a\x78\x8d\x0c\xa8\xb5\xdd\xf8\x83\x04\xa9\xcc\x95\x01\xb6\x80\x52\x02\x82\xa1\x0d\xdc\xd4\x95\x00\xf2\x9a\xaa\x89\x5b\x08\x17\x9a\x40\xd2\x52\x19\x65\x56\x80\xdb\xc2\xc2\x96\x46\xa2\xbb\x03\xe4\xd0\x04\x8c\x6e\x45\x3c\xd4\x56\x5c\x7f\x25\xb5\x5a\x73\x14\xf1\x6e\xab\x38\x82\xc0\xf4\x1d\x7f\x5b\x97\xc0\xe5\xb9\xe1\x4f\xbd\x06\x52\x66\x1f\xba\x40\x16\xeb\x3d\xc8\xd1\x94\x34\xa1\xa7\x04\x66\xec\x94\x59\x9d\x86\x8a\xf2\x43\x14\xd7\x1b\x74\xd2\x8f\x6c\x5e\x20\xab\x85\xa6\x04\x86\xd6\xea\x50\x7e\xb6\x53\x3d\xf4\xe3\x87\xa8\x0b\xf7\x51\x04\xa0\xe9\x98\x09\x95\x52\x53\x5a\x26\xf0\x36\x35\x77\x53\xf2\xb6\x74\x82\xee\x5f\x6e\xe8\xbf\xa8\xf7\x43\x43\x66\x68\xd3\xc0\xc9\x11\xe2\xfe\x8c\xf2\x1b\x72\x61\xc3\xc2\x51\x81\x8e\x62\x14\x82\x13\x48\x4b\x5e\xa7\x42\xd8\xd2\x70\xb8\x00\x00\x60\x30\x80\x91\x23\x64\xaa\x5c\x68\xdc\x54\x6d\x82\x02\x56\xa0\xf7\x24\xa1\x40\x87\x39\x31\x39\x5f\xf5\x79\xd2\xcb\xfe\x6e\x1d\x38\x79\x7d\x9f\xb8\x6a\x04\xc8\x6b\x17\x5b\x3f\x7b\x90\xd7\x1e\xb6\x6e\xf6\xa0\xa8\x1d\x6c\xbd\xec\x85\x33\xb6\xfe\x3d\xb1\xb3\xf7\x92\x87\x07\xe1\x6a\x81\x6e\xd4\x1e\x3e\xb4\xce\xd9\x0d\x20\x38\x5a\x92\x23\x23\xa8\x89\xf0\x91\xe0\xab\xbc\xd0\x94\x93\xe1\x10\x67\xd7\x78\xba\x53\xe4\xf5\x34\xc0\x09\x04\x33\xfa\x8b\x8a\xfc\xf3\xff\x47\xe3\x4b\x23\x6b\x1c\x1c\x3b\x1a\x8b\x43\xa5\x6f\x44\x05\xb9\x19\x5b\x87\x2b\xba\x40\x5e\x77\x9b\x71\xa7\xa7\x50\xa0\x51\x22\xee\x8c\x6c\xa9\xa5\x79\xc7\x50\xaf\xfc\x5a\xe2\xa1\x3d\xa7\x13\x46\x3d\x04\xb5\xa9\xea\xa0\x5d\xe4\x52\x29\x1f\xe7\xed\xd1\xef\xf1\xf4\xe7\xf8\x17\x61\xfb\x28\x65\x5b\x68\x3e\x97\xb9\x9d\x87\x29\xf1\x81\x87\xfc\x0c\xea\x3d\x79\x5c\x7b\xf1\xde\x5e\x52\x58\xcf\xf5\x15\x47\x74\x5e\x11\x37\x40\x4d\xdf\xfd\xf9\x8c\xed\xd7\x9b\xbe\x67\xa7\x04\x67\x7f\x4a\xd4\x73\x1b\xef\x13\x42\x02\x9d\xf1\x23\x75\x36\xe8\xc1\x58\x0e\xbf\x2e\xc9\x3d\xad\x2a\x96\x4e\xb5\xe2\x43\xf4\x37\x00\x00\xff\xff\xd0\x5e\x04\x75\x1c\x06\x00\x00" + +func executionnodeversionbeaconAdminAdd_version_to_tableCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconAdminAdd_version_to_tableCdc, + "executionNodeVersionBeacon/admin/add_version_to_table.cdc", + ) +} + +func executionnodeversionbeaconAdminAdd_version_to_tableCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconAdminAdd_version_to_tableCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/add_version_to_table.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfe, 0x93, 0x5f, 0xcc, 0xbe, 0x77, 0x2, 0xb6, 0x61, 0xc2, 0xfa, 0x80, 0x46, 0x4b, 0x2f, 0xc1, 0xe3, 0x7e, 0xbe, 0xe5, 0x25, 0xc4, 0x62, 0x90, 0x5c, 0x38, 0x9b, 0xdb, 0x81, 0x74, 0x92, 0x9e}} + return a, nil +} + +var _executionnodeversionbeaconAdminChange_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x52\xcf\x8f\x93\x40\x14\xbe\xf3\x57\x7c\xe9\x41\xdb\x4b\xf1\x60\x3c\x10\xeb\x06\x5a\x0e\x8d\x09\x35\xed\xb6\xf1\x3a\x3b\x3c\x0a\x11\xde\x90\xe1\x21\x6b\x36\xfb\xbf\x9b\x99\xb6\xbb\x1a\x69\x8d\xf1\xc6\x84\xf7\xbe\x5f\xef\xab\x9a\xd6\x58\x41\xfa\x48\xba\x97\xca\x70\x66\x72\x3a\x90\xed\x2a\xc3\x09\x29\x6d\x18\x85\x35\x0d\xde\x3d\xa6\x5f\xd3\xe5\xfe\x7e\xbd\xc9\xb2\xcd\x2a\x3d\xa4\xdb\xdd\x7a\x93\x25\x69\xbc\xdc\x64\xf1\x6a\xb5\x4d\x77\xbb\x20\x08\xc3\x10\xf7\x56\x71\xa7\xb4\x83\x82\x94\x4a\xa0\xea\xda\x0c\xdd\x28\x41\x9c\x37\x15\x43\x0c\x74\xa9\xf8\x48\x7e\x5f\x4a\x42\x4e\x45\xc5\x94\xe3\xfb\x69\x6c\xdf\xe6\x4a\x28\xe9\x8b\x82\x6c\x10\xc8\x2b\xc1\x94\x69\x38\xfc\x39\x13\x61\xbf\x66\xf9\xf0\x7e\x86\xa7\x20\x00\x6a\xba\x65\xcf\x6b\xd8\x52\x11\xe1\x4d\xcc\x3f\xb6\xd4\x99\xde\x6a\x7a\xba\xbe\x30\xbf\xea\xe4\xd9\xb1\xb5\x96\x5a\x65\x69\xaa\xb4\x96\x08\x71\x2f\x65\xac\xb5\xe9\x59\x9c\x1a\x00\x08\x43\x24\xc6\x5a\x33\x40\xc1\x52\x41\x96\x58\x93\x0b\xc1\x39\xbf\x9e\x52\xd5\xb4\x35\x35\xc4\x52\xf1\x11\xf6\x2c\xd3\x03\x76\x54\x17\xa3\xa2\x7e\x37\x88\x05\x9c\xa6\xf9\x83\x27\xff\xf8\xff\x6e\x3f\x79\x76\x60\xea\x0a\x12\xdd\x88\x78\x14\xe3\x33\x51\x4b\x76\x27\xc6\xaa\x23\x7d\x51\x52\xce\xce\x70\x77\x77\x68\x15\x57\x7a\x3a\x59\x9a\xbe\xce\xf9\xad\xe0\x24\xf9\x6f\x47\xc4\xc5\xce\xc4\x41\xf9\x63\x90\xdf\xa0\xd7\xe4\xe3\x3c\xf7\x39\x33\x0d\x97\x76\x5d\xa2\x7f\x79\xaa\x87\xfa\x9f\x82\x9d\x9f\xda\x3b\x52\x44\xd7\xcf\x5f\xdf\x6b\x4e\x6a\xa3\xbf\x75\x11\xc6\x8b\xfb\xa2\xbb\x35\x9d\x9c\x34\xdf\x48\xf5\x48\x32\xc6\x39\xc3\x62\x71\x05\x1f\x11\x26\xe7\xaf\x41\x75\x60\x23\xe8\xfd\xef\x7c\xe2\x99\x9f\x83\x9f\x01\x00\x00\xff\xff\x39\xe4\x2b\xb4\x0e\x04\x00\x00" + +func executionnodeversionbeaconAdminChange_version_update_bufferCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconAdminChange_version_update_bufferCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", + ) +} + +func executionnodeversionbeaconAdminChange_version_update_bufferCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconAdminChange_version_update_bufferCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0x27, 0x2b, 0x59, 0x62, 0xfe, 0xb0, 0xb6, 0x99, 0x75, 0x33, 0x7f, 0x11, 0xb0, 0x17, 0x1c, 0x6b, 0xa7, 0xd2, 0xd, 0x72, 0x5b, 0x94, 0x39, 0x71, 0x0, 0x7, 0xe9, 0xc3, 0xc7, 0x7, 0xad}} + return a, nil +} + +var _executionnodeversionbeaconAdminDelete_latest_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x93\x41\x8f\xda\x3e\x10\xc5\xef\xf9\x14\x23\x0e\xff\x7f\xb8\x24\x7b\x46\xed\xae\x02\xe4\xb0\x6a\x15\x2a\xa0\xab\x5e\x8d\xfd\x42\x2c\x39\x76\xe4\x4c\x0a\xab\x15\xdf\xbd\xb2\xc9\x16\x55\x05\xaa\xaa\x39\x44\x51\x32\x9e\xf7\xe6\x37\x2f\xba\xed\x9c\x67\x2a\x8f\x90\x03\x6b\x67\x2b\xa7\xf0\x02\xdf\x6b\x67\xe7\x10\xd2\x59\xaa\xbd\x6b\xe9\xe1\x58\x7e\x2b\x17\x5f\xb7\xcf\xab\xaa\x5a\x2d\xcb\x97\x72\xbd\x79\x5e\x55\xf3\xb2\x58\xac\xaa\x62\xb9\x5c\x97\x9b\x4d\x92\xe4\x79\x4e\x5b\x2f\x6c\x2f\x64\x68\x45\xdc\x08\x26\x61\x8c\x3b\xf4\x57\x05\x0a\xd5\x6a\x4b\xec\x48\xc1\x80\x41\xdc\x80\x8c\x60\xf4\x1c\x5b\x7d\x3f\x57\xd1\xce\x0d\x56\x09\xff\x4a\xad\xe8\x3a\x6d\xf7\xa4\x50\x6b\x0b\x45\xe1\x70\x83\x9f\x75\x2c\x76\x06\x49\xc2\x17\x07\xe9\x94\xde\x92\x84\xc8\xe0\xde\x84\xd1\xc6\x1a\xf5\x8c\xfe\x2b\xec\xeb\x1a\xbd\x1b\xbc\xc4\xdb\xed\x03\xd9\xcd\x61\x4e\x41\xad\xf3\xe8\x84\x47\x2a\xa4\xe4\x19\x15\x03\x37\x85\x94\x6e\xb0\x1c\xdc\x10\xc5\x82\xf3\x43\xb8\xee\xc8\xec\xc1\xe3\x8b\x6d\x18\x2d\x9d\x66\x06\x76\xcf\x0d\x3d\xd2\x03\xcd\x68\x52\xb9\xdf\xd9\xe0\xa8\x7b\xee\x2f\x50\xb3\x49\x54\x3a\xc5\x7b\x9e\xd3\xdc\x79\xef\x0e\x24\xc8\xa3\x86\x87\x95\x08\xb5\x01\xe3\xed\x0d\xe9\xb6\x33\x68\x61\x39\x08\xf8\x91\x4f\x6c\xd8\xc3\xd4\x57\x69\xfc\x4a\x96\x3e\x52\x80\x91\xed\xa2\xf8\x87\x7f\xc7\xfc\x38\xe2\x4b\x43\x38\x67\xf7\x18\x5e\xfb\xf4\x09\xe8\xe0\x37\xec\xbc\xd8\xe3\x8b\xe0\x66\x3a\xb6\x7b\x7a\xa2\x4e\x58\x2d\xd3\xc9\xc2\x0d\x46\xd9\xff\x99\xce\x96\xff\x94\x1e\x7a\x1f\x67\x12\x5a\xc5\x14\x20\x9e\xc0\xb8\xf2\x3c\xa7\x42\xa9\xc8\xd9\xe2\x70\x89\xac\xbb\x92\xe0\xbf\x00\x9b\x9d\x97\xfc\x39\xfe\x34\xef\x15\x63\x24\xd2\xd1\xca\x29\xf9\x11\x00\x00\xff\xff\x25\x6f\x17\xe1\xe4\x03\x00\x00" + +func executionnodeversionbeaconAdminDelete_latest_versionCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconAdminDelete_latest_versionCdc, + "executionNodeVersionBeacon/admin/delete_latest_version.cdc", + ) +} + +func executionnodeversionbeaconAdminDelete_latest_versionCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconAdminDelete_latest_versionCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/delete_latest_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x13, 0x46, 0xb9, 0x6, 0xa, 0x75, 0xde, 0xb9, 0x6f, 0x90, 0x3, 0x73, 0xba, 0x4e, 0xdb, 0x51, 0x7d, 0xd0, 0xce, 0xf1, 0x61, 0xf0, 0x11, 0xc, 0xe4, 0x20, 0xab, 0x2e, 0xd5, 0x77, 0xde, 0xe2}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcb\xb1\xaa\xc2\x60\x0c\x05\xe0\xfd\x7f\x8a\x33\xb6\xcb\xa5\xdc\xd1\x51\x71\xd4\x45\x70\xaf\xf5\x54\x32\x24\x29\x31\x91\x82\xf8\xee\xbe\x80\x74\xff\x3e\xd1\xc5\x23\x71\x5c\x39\x55\x8a\xdb\xd9\xef\xbc\x32\x9e\xe2\xb6\xe7\x38\xb9\x61\x0e\x57\x0c\xeb\xf0\xdf\xda\x52\x37\xcc\x65\xd0\x51\xac\xeb\x77\x1b\xeb\xef\x42\x7d\x31\xf0\x6e\x00\x10\xcc\x0a\xdb\xe2\x0f\xe6\xa1\x22\x68\x79\x12\x13\x2d\xfd\x65\xbb\xbe\x7d\xbe\x01\x00\x00\xff\xff\xe1\x48\xc1\xe2\xb0\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, + "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x82, 0xf4, 0x61, 0x49, 0x40, 0x34, 0x31, 0x4a, 0xc8, 0x84, 0xb9, 0xc8, 0x7d, 0x6c, 0xa6, 0x12, 0xc9, 0xc3, 0x41, 0x77, 0x8f, 0x38, 0x68, 0x68, 0x74, 0x78, 0x93, 0x69, 0xd6, 0x44, 0xd8}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\x2d\xcf\xc2\x30\x10\x00\x60\xdf\x5f\x71\x72\x33\x6f\x5e\x8d\xdb\x47\xc5\x4c\x4b\x56\x58\x48\x08\xa2\x6c\x37\x52\xb1\xbb\xe5\xb8\x26\x5b\x08\xff\x1d\x85\xc5\x3e\xe6\x49\xcb\xca\xa2\x60\x37\x1c\xb3\x26\x26\xc7\x13\x0e\x28\xcf\xc4\x54\x63\x1c\x99\x60\x16\x5e\xe0\x7f\xb3\x17\xdb\x9c\x4f\x9d\x77\xce\xb7\x76\xb0\x7d\xe8\xbc\xab\x6d\xd5\x78\x57\xb5\x6d\x6f\x43\x30\x66\xcd\x77\x98\x33\xc1\x12\x13\x15\xe5\x01\xae\x15\xed\x41\x25\x8f\x7a\x83\x97\x01\x00\x10\xd4\x2c\xf4\x63\xfb\x7b\xa0\x3a\xdc\xf4\x8b\x9c\x69\x8a\xb2\x1f\x63\x92\xa2\x34\xef\x4f\x00\x00\x00\xff\xff\x68\x36\xcc\x14\xae\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, + "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xc6, 0xf1, 0x36, 0x79, 0xc3, 0xcd, 0xe3, 0x40, 0xb1, 0x77, 0x4, 0xc4, 0x2f, 0x71, 0x50, 0x7e, 0x16, 0x6f, 0x83, 0x9d, 0xd0, 0x9e, 0x38, 0x6f, 0x1c, 0x78, 0x73, 0x3e, 0x82, 0xf4, 0xd7}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_version_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcc\xbf\x0a\x83\x30\x10\x80\xf1\x3d\x4f\x71\xa3\x2e\xa5\x43\xe9\xe0\xe6\x9f\x1b\x5c\x12\x30\x2a\x5d\xa3\x3d\x4b\xa0\xb9\x48\x9a\x14\x41\x7c\xf7\x2e\x9d\x5d\x3f\x3e\x7e\xd6\xad\x3e\x44\xc0\x8d\xe6\x14\xad\x67\xe9\x9f\x34\x52\xf8\x58\xcf\x15\x99\xd9\x33\x2c\xc1\x3b\xb8\x6e\xf8\xc0\x7a\xe8\x5b\x25\xa5\x6a\x70\xc4\x4e\xb7\x4a\x56\x58\xd6\x4a\x96\x4d\xd3\xa1\xd6\x42\xac\x69\x82\x25\x31\x38\x63\x39\xcb\x0b\xd8\x87\x96\xe3\xfd\x56\x9c\xe8\x17\x4d\xee\x4b\xe1\x80\x5d\x00\x00\x04\x8a\x29\xf0\xd9\xff\xa2\xf8\x0f\xbd\x99\xde\x94\xe5\xe2\xf8\x05\x00\x00\xff\xff\xea\xcd\x5e\xdc\xc3\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_version_tableCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_version_tableCdc, + "executionNodeVersionBeacon/scripts/get_version_table.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_version_tableCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_version_tableCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_table.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xa7, 0xab, 0x8f, 0x7d, 0x26, 0xeb, 0x35, 0xab, 0xc3, 0xb0, 0x8a, 0x61, 0xb3, 0xcd, 0x34, 0x10, 0xd9, 0x39, 0x43, 0xec, 0x44, 0xee, 0xe, 0x39, 0x1d, 0xaa, 0x15, 0xf0, 0x6e, 0xe6, 0x78}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\x2d\xcf\x83\x40\x0c\x00\x60\x7f\xbf\xa2\x12\xcc\x9b\x57\x2c\x13\x73\x7c\x54\x60\xee\x12\x18\x64\x96\x41\x6f\x39\x41\x4b\xba\x5e\x42\xb2\xec\xbf\xcf\x4c\xcf\x3e\xe6\x49\xdb\x2e\x6a\x80\x07\x2d\xd9\x92\xb0\x97\x95\x26\xd2\x67\x12\xae\x69\x5e\x84\x21\xaa\x6c\xf0\x7f\xe0\x0d\x9b\xf1\xda\x05\xef\x43\x8b\x13\xf6\x43\x17\x7c\x8d\x55\x13\x7c\xd5\xb6\x3d\x0e\x83\x73\x7b\xbe\x43\xcc\x0c\xdb\x9c\xb8\x28\x2f\x30\x76\x6c\xe7\x13\xbc\x1c\x00\x80\x92\x65\xe5\x1f\xd1\xdf\x83\xec\x0b\xe3\xbe\xce\x46\x75\x8e\x91\xb4\x28\xdd\xfb\x13\x00\x00\xff\xff\x5f\x4a\x4e\x97\xa5\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_version_update_bufferCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_version_update_bufferCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_version_update_bufferCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_version_update_bufferCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0xdd, 0xfe, 0x98, 0xfa, 0x8, 0x14, 0x88, 0x2, 0x36, 0x15, 0xc0, 0xce, 0x38, 0x54, 0x66, 0x88, 0xca, 0x15, 0xee, 0x74, 0x7e, 0xbd, 0x98, 0xcd, 0x21, 0xc1, 0xb2, 0x8e, 0x42, 0xb2, 0x9b}} + return a, nil +} + +var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xb1\x6a\x86\x30\x14\x05\xe0\x3d\x4f\x71\x47\x05\x29\x1d\x4a\x07\x37\xa3\x81\xba\x24\x60\xaa\x74\x55\x7b\x6d\x43\x4d\xae\xc4\x44\x94\xd2\x77\xef\x52\xcb\xff\x2f\xce\x87\x73\xce\x67\xec\x42\x3e\x80\xd8\x71\x8c\xc1\x90\x93\xf4\x8e\x1d\xfa\xd5\x90\xe3\xd8\x8f\xe4\x60\xf2\x64\xe1\x71\x17\x6f\xa2\x6c\x5f\x6b\x25\xa5\xaa\x44\x27\x1a\x5d\x2b\xc9\x45\x51\x2a\x59\x54\x55\x23\xb4\x66\x6c\x89\x03\x4c\xd1\x81\xed\x8d\x4b\xec\xc1\x67\x1a\xbf\x5e\xd0\x7c\x7c\x86\x1c\xda\xda\x85\xe7\xa7\x0c\xec\xf1\xb7\x9e\x5f\x7c\x3e\x68\xb4\x1b\xfa\x34\x07\x4e\x34\xc3\x37\x03\x00\xf0\x18\xa2\x77\x57\x2d\xb3\x96\x64\x97\x3e\x98\x61\x3e\x93\x64\xb8\x45\xdc\x99\x32\xd8\x4e\xc9\x3f\x2a\x65\x3f\xbf\x01\x00\x00\xff\xff\x68\xff\xc8\x01\x11\x01\x00\x00" + +func executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsIs_compatible_versionCdc, + "executionNodeVersionBeacon/scripts/is_compatible_version.cdc", + ) +} + +func executionnodeversionbeaconScriptsIs_compatible_versionCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/is_compatible_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc2, 0xb5, 0xc4, 0xc9, 0xe8, 0xc8, 0x8c, 0x27, 0x5e, 0xb9, 0x3e, 0x38, 0xc3, 0x57, 0x9d, 0x67, 0xe4, 0xaf, 0x8a, 0x7c, 0x56, 0x83, 0x69, 0xdd, 0xef, 0x8a, 0x55, 0xf, 0x38, 0xa3, 0xac, 0x59}} + return a, nil +} + var _flowtokenBurn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x92\x31\x6f\xdb\x30\x10\x85\x77\xfd\x8a\xd7\x0c\x85\x3d\x44\xea\x50\x74\x30\xd2\xa6\x4e\x62\x17\x45\x03\x07\x68\x9c\x66\xa6\xa4\xb3\x45\x54\x22\x85\x23\x55\x39\x08\xf2\xdf\x0b\x92\x12\x23\x0d\xf6\x60\xd9\xe2\xdd\xbb\xef\xbd\x63\x96\x61\x5f\x49\x03\xcb\x42\x19\x51\x58\xa9\x15\xa4\x81\x80\xa5\xa6\xad\x85\x25\x1c\x34\xbb\xbf\x93\x73\x5b\x09\x9b\x64\x19\x0a\xdd\xd5\x25\x72\x42\x67\xa8\x44\xfe\x02\x5b\x11\x44\xd9\x48\x05\x51\x14\xba\x53\x16\x56\x23\xef\x58\xc1\xea\xbf\xa4\x8c\x6b\x3a\xb0\x6e\x5c\xa1\x64\x18\xab\x99\x4a\xfc\x11\x5d\xed\xf4\x12\xcf\x42\xbe\x41\xaa\x23\x44\xe3\x25\xfa\x71\x8a\x40\x2b\x58\x34\x64\x89\x9d\xae\x1b\x36\xa1\x4a\x12\xd9\xb4\x9a\x2d\xb6\x9d\x3a\xca\xbc\xa6\xbd\x1b\x19\xc6\x7d\x3a\x6d\x9f\x76\x3f\x7e\xde\xdc\x6f\xf6\x0f\xbf\x36\xbb\xf5\xdd\xdd\xef\xcd\xe3\x63\x6c\xa8\x75\x3f\x2f\xbe\x7f\x78\x9e\x15\x26\x93\x39\x8b\x80\xb5\xc2\xd3\x56\x9e\xbe\x7c\x5e\xe2\x35\x49\x00\x20\xcb\x82\x11\x30\x19\xdd\x71\x41\x3e\x26\x54\xba\x2e\x4d\x60\xf5\x11\x84\xb7\x82\x09\x39\x39\x93\xce\x2c\x95\x5e\xa1\x26\x8b\x7f\x4e\x62\x85\xef\x33\x13\x69\x48\x28\x16\xf9\x88\x57\xf8\x18\xc1\xd3\xb5\x7b\x23\x8d\x65\x61\x35\x87\xc2\x96\xa9\x15\x4c\x0b\x23\x8f\x8a\x78\x85\x75\x67\xab\x75\xd8\x4a\x64\x1e\xb8\x9f\xa5\xad\x4a\x16\xfd\x88\x38\xae\x68\xd8\xa5\x67\x82\x54\x7e\x5f\xe2\x48\xb1\xd5\x50\x7d\x48\xc3\xe9\xd5\x25\xc2\xa0\x34\xd7\xcc\xba\xbf\x9a\xc0\x79\xfa\x6f\x0b\xa7\xba\x42\x36\x88\x64\x87\xf1\xdc\x1f\x2f\x3f\x44\x55\xf7\x49\xfb\x01\x29\xa6\x1d\x9e\xcb\x19\xf7\x2d\x93\xbb\xa0\x02\x4c\x07\x62\x52\x2e\x73\x3d\xbd\x84\xfe\x3b\xee\xe3\x9c\x83\x50\xf6\xf5\xbc\x81\x59\xba\xe7\x8d\xf8\xb2\xe5\xcc\xc7\xf5\x35\x5a\xa1\x64\xb1\xb8\xb8\xf5\xb7\x58\x69\x8b\xa0\x7f\x9e\x7a\xe4\xbd\x08\x52\x6f\xc1\x32\x9d\xa8\xe8\x2c\xe1\x35\xea\xbb\x9b\xe0\x6f\x0f\xfb\xf4\xa3\x93\xb4\xf0\xb1\xec\xa8\xbf\xf1\xa7\x8b\x77\xa4\xf8\x23\xf4\xa5\xee\xe1\xd1\xcd\x60\xea\xea\xf2\x7d\xa7\x93\xac\x4b\x32\x96\xf5\xcb\xd0\x36\x60\xbd\x25\xf8\x1f\x00\x00\xff\xff\x96\xb2\x1c\x72\x3d\x04\x00\x00" func flowtokenBurn_tokensCdcBytes() ([]byte, error) { @@ -5809,275 +5977,283 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, - "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, - "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, - "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, - "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, - "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, - "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, - "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, - "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, - "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, - "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, - "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, - "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, - "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, - "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, - "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, - "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, - "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, - "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, - "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, - "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, - "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, - "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, - "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, - "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, - "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, - "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, - "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, - "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, - "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, - "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, - "dkg/create_participant.cdc": dkgCreate_participantCdc, - "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, - "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, - "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, - "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, - "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, - "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, - "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, - "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, - "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, - "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, - "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, - "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, - "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, - "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, - "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, - "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, - "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, - "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, - "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, - "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, - "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, - "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, - "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, - "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, - "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, - "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, - "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, - "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, - "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, - "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, - "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, - "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, - "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, - "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, - "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, - "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, - "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, - "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, - "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, - "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, - "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, - "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, - "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, - "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, - "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, - "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, - "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, - "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, - "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, - "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, - "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, - "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, - "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, - "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, - "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, - "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, - "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, - "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, - "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, - "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, - "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, - "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, - "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, - "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, - "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, - "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, - "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, - "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, - "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, - "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, - "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, - "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, - "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, - "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, - "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, - "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, - "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, - "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, - "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, - "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, - "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, - "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, - "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, - "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, - "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, - "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, - "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, - "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, - "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, - "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, - "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, - "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, - "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, - "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, - "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, - "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, - "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, - "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, - "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, - "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, - "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, - "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, - "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, - "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, - "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, - "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, - "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, - "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, - "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, - "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, - "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, - "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, - "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, - "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, - "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, - "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, - "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, - "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, - "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, - "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, - "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, - "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, - "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, - "inspect_field.cdc": inspect_fieldCdc, - "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, - "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, - "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, - "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, - "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, - "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, - "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, - "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, - "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, - "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, - "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, - "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, - "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, - "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, - "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, - "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, - "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, - "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, - "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, - "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, - "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, - "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, - "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, - "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, - "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, - "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, - "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, - "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, - "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, - "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, - "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, - "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, - "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, - "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, - "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, - "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, - "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, - "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, - "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, - "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, - "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, - "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, - "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, - "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, - "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, - "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, - "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, - "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, - "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, - "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, - "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, - "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, - "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, - "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, - "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, - "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, - "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, - "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, - "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, - "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, - "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, - "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, - "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, - "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, - "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, - "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, - "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, - "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, - "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, - "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, - "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, - "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, - "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, - "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, - "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, - "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, - "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, - "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, - "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, - "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, - "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, - "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, - "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, - "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, - "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, - "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, - "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, - "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, - "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, - "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, - "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, - "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, - "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, - "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, - "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, - "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, - "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, - "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, - "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, - "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, - "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, - "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, - "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, - "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, - "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, - "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, - "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, - "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, - "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, + "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, + "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, + "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, + "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, + "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, + "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, + "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, + "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, + "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, + "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, + "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, + "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, + "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, + "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, + "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, + "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, + "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, + "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, + "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, + "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, + "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, + "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, + "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, + "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, + "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, + "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, + "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, + "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, + "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, + "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, + "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, + "dkg/create_participant.cdc": dkgCreate_participantCdc, + "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, + "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, + "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, + "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, + "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, + "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, + "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, + "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, + "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, + "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, + "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, + "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, + "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, + "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, + "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, + "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, + "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, + "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, + "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, + "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, + "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, + "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, + "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, + "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, + "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, + "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, + "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, + "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, + "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, + "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, + "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, + "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, + "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, + "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, + "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, + "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, + "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, + "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, + "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, + "executionNodeVersionBeacon/admin/delete_latest_version.cdc": executionnodeversionbeaconAdminDelete_latest_versionCdc, + "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, + "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, + "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, + "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, + "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, + "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, + "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, + "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, + "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, + "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, + "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, + "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, + "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, + "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, + "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, + "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, + "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, + "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, + "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, + "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, + "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, + "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, + "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, + "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, + "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, + "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, + "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, + "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, + "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, + "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, + "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, + "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, + "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, + "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, + "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, + "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, + "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, + "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, + "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, + "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, + "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, + "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, + "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, + "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, + "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, + "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, + "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, + "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, + "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, + "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, + "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, + "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, + "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, + "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, + "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, + "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, + "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, + "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, + "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, + "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, + "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, + "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, + "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, + "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, + "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, + "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, + "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, + "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, + "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, + "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, + "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, + "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, + "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, + "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, + "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, + "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, + "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, + "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, + "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, + "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, + "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, + "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, + "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, + "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, + "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, + "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, + "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, + "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, + "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, + "inspect_field.cdc": inspect_fieldCdc, + "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, + "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, + "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, + "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, + "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, + "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, + "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, + "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, + "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, + "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, + "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, + "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, + "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, + "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, + "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, + "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, + "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, + "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, + "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, + "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, + "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, + "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, + "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, + "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, + "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, + "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, + "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, + "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, + "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, + "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, + "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, + "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, + "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, + "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, + "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, + "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, + "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, + "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, + "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, + "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, + "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, + "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, + "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, + "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, + "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, + "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, + "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, + "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, + "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, + "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, + "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, + "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, + "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, + "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, + "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, + "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, + "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, + "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, + "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, + "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, + "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, + "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, + "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, + "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, + "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, + "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, + "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, + "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, + "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, + "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, + "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, + "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, + "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, + "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, + "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, + "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, + "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, + "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, + "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, + "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, + "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, + "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, + "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, + "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, + "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, + "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, + "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, + "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, + "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, + "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, + "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, + "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, + "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, + "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, + "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, + "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, + "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, + "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, + "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, + "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, + "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, + "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, + "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, + "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, + "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, + "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, + "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, + "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, + "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, } // AssetDebug is true if the assets were built with the debug flag enabled. @@ -6222,6 +6398,20 @@ var _bintree = &bintree{nil, map[string]*bintree{ "get_randomize.cdc": {epochScriptsGet_randomizeCdc, map[string]*bintree{}}, }}, }}, + "executionNodeVersionBeacon": {nil, map[string]*bintree{ + "admin": {nil, map[string]*bintree{ + "add_version_to_table.cdc": {executionnodeversionbeaconAdminAdd_version_to_tableCdc, map[string]*bintree{}}, + "change_version_update_buffer.cdc": {executionnodeversionbeaconAdminChange_version_update_bufferCdc, map[string]*bintree{}}, + "delete_latest_version.cdc": {executionnodeversionbeaconAdminDelete_latest_versionCdc, map[string]*bintree{}}, + }}, + "scripts": {nil, map[string]*bintree{ + "get_current_minimum_execution_node_version.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, map[string]*bintree{}}, + "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, + "get_version_table.cdc": {executionnodeversionbeaconScriptsGet_version_tableCdc, map[string]*bintree{}}, + "get_version_update_buffer.cdc": {executionnodeversionbeaconScriptsGet_version_update_bufferCdc, map[string]*bintree{}}, + "is_compatible_version.cdc": {executionnodeversionbeaconScriptsIs_compatible_versionCdc, map[string]*bintree{}}, + }}, + }}, "flowToken": {nil, map[string]*bintree{ "burn_tokens.cdc": {flowtokenBurn_tokensCdc, map[string]*bintree{}}, "create_forwarder.cdc": {flowtokenCreate_forwarderCdc, map[string]*bintree{}}, diff --git a/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc new file mode 100644 index 000000000..d568480d3 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc @@ -0,0 +1,38 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +/// Transaction that allows ExecutionNodeVersionAdmin to add a new version to the +/// version table defining a version boundary at the targetBlockHeight + +transaction( + newMajor: UInt8, + newMinor: UInt8, + newPatch: UInt8, + newPreRelease: String?, + isBackwardsCompatible: Bool, + targetBlockHeight: UInt64 +) { + + let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + let newVersion: ExecutionNodeVersionBeacon.Semver + + prepare(acct: AuthAccount) { + // Create the new verion from the passed parameters + self.newVersion = ExecutionNodeVersionBeacon.Semver( + major: newMajor, minor: newMinor, patch: newPatch, preRelease: newPreRelease, isBackwardsCompatible: isBackwardsCompatible + ) + + // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") + } + + execute { + // Add the new version to the version table + self.ExecutionNodeVersionBeaconAdminRef.addVersionBoundaryToTable(targetBlockHeight: targetBlockHeight, newVersion: self.newVersion) + } + + post{ + ExecutionNodeVersionBeacon.getVersionTable()[targetBlockHeight]!.strictEqualTo(self.newVersion) : "New version was not added to the versionTable" + } +} diff --git a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc new file mode 100644 index 000000000..346bc74a9 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc @@ -0,0 +1,25 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +/// Transaction that allows ExecutionNodeVersionAdmin to change +/// the defined versionUpdateBuffer + +transaction(newVersionUpdateBuffer: UInt64) { + + let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + + prepare(acct: AuthAccount) { + // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") + } + + execute { + // Add the new version to the version table + self.ExecutionNodeVersionBeaconAdminRef.changeVersionUpdateBuffer(newUpdateBufferInBlocks: newVersionUpdateBuffer) + } + + post{ + ExecutionNodeVersionBeacon.getVersionUpdateBuffer() == newVersionUpdateBuffer : "Buffer was not updated" + } +} diff --git a/transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc b/transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc new file mode 100644 index 000000000..f97ef90f7 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc @@ -0,0 +1,25 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +/// Transaction that allows ExecutionNodeVersionAdmin to delete the latest +/// version boundary mapping defined in the version table + +transaction() { + + let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + + prepare(acct: AuthAccount) { + pre{ + ExecutionNodeVersionBeacon.getVersionTable().length > 0 : "No boundary mapping exists to delete." + } + // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") + } + + execute { + // Add the new version to the version table + self.ExecutionNodeVersionBeaconAdminRef.deleteLatestVersionBoundary() + } + +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc new file mode 100644 index 000000000..a8fe083ae --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0x02 + +pub fun main(): ExecutionNodeVersionBeacon.Semver { + return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion() +} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc b/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc new file mode 100644 index 000000000..3c9f66c8f --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +pub fun main(): [AnyStruct] { + return ExecutionNodeVersionBeacon.getNextVersionBoundaryPair() +} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc new file mode 100644 index 000000000..656cd08c5 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +pub fun main(): {UInt64: ExecutionNodeVersionBeacon.Semver} { + return ExecutionNodeVersionBeacon.getVersionTable() +} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc new file mode 100644 index 000000000..0a16b4609 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +pub fun main(): UInt64 { + return ExecutionNodeVersionBeacon.getVersionUpdateBuffer() +} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc new file mode 100644 index 000000000..62bbb3969 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool { + return ExecutionNodeVersionBeacon.isCompatibleVersion(blockHeight: myBlockHeight, version: myVersion) +} \ No newline at end of file From 4a8276cc915ff3562d2fdaf33d1aeddab6de4163 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 9 Sep 2022 16:13:50 -0500 Subject: [PATCH 06/21] Initialized js test suite --- .gitignore | 2 + Makefile | 2 + lib/js/test/Makefile | 6 + lib/js/test/babel.config.json | 12 + lib/js/test/jest.config.json | 6 + lib/js/test/package-lock.json | 17667 ++++++++++++++++ lib/js/test/package.json | 27 + ...xecution_node_version_beacon_tests.test.js | 7 + 8 files changed, 17729 insertions(+) create mode 100644 lib/js/test/Makefile create mode 100644 lib/js/test/babel.config.json create mode 100644 lib/js/test/jest.config.json create mode 100644 lib/js/test/package-lock.json create mode 100644 lib/js/test/package.json create mode 100644 lib/js/test/tests/execution_node_version_beacon_tests.test.js diff --git a/.gitignore b/.gitignore index ca21f79ef..4130bebfc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ flow.json +node_modules + # IDE related files .idea .vscode diff --git a/Makefile b/Makefile index 71463fd20..cd8b76679 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,9 @@ test: $(MAKE) generate -C lib/go $(MAKE) test -C lib/go + $(MAKE) test -C lib/js/test .PHONY: ci ci: $(MAKE) ci -C lib/go + $(MAKE) ci -C lib/js/test diff --git a/lib/js/test/Makefile b/lib/js/test/Makefile new file mode 100644 index 000000000..a1575da18 --- /dev/null +++ b/lib/js/test/Makefile @@ -0,0 +1,6 @@ +.PHONY: test +test: + npm test + +.PHONY: ci +ci: test diff --git a/lib/js/test/babel.config.json b/lib/js/test/babel.config.json new file mode 100644 index 000000000..394c5435b --- /dev/null +++ b/lib/js/test/babel.config.json @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "node": "current" + } + } + ] + ] +} diff --git a/lib/js/test/jest.config.json b/lib/js/test/jest.config.json new file mode 100644 index 000000000..2e49523af --- /dev/null +++ b/lib/js/test/jest.config.json @@ -0,0 +1,6 @@ +{ + "testEnvironment": "node", + "verbose": true, + "coveragePathIgnorePatterns": ["/node_modules/"], + "testTimeout": 50000 +} diff --git a/lib/js/test/package-lock.json b/lib/js/test/package-lock.json new file mode 100644 index 000000000..e908abcc4 --- /dev/null +++ b/lib/js/test/package-lock.json @@ -0,0 +1,17667 @@ +{ + "name": "test", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "test", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@onflow/flow-js-testing": "^0.3.0-alpha.15" + }, + "devDependencies": { + "@babel/core": "^7.19.0", + "@babel/preset-env": "^7.19.0", + "@onflow/flow-js-testing": "^0.3.0-alpha.15", + "babel-jest": "^29.0.2", + "jest": "^29.0.2", + "jest-environment-node": "^29.0.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", + "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", + "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", + "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.19.0", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", + "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", + "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz", + "integrity": "sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz", + "integrity": "sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz", + "integrity": "sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.0", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.0", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", + "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.0", + "@babel/types": "^7.19.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", + "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.2.tgz", + "integrity": "sha512-Fv02ijyhF4D/Wb3DvZO3iBJQz5DnzpJEIDBDbvje8Em099N889tNMUnBw7SalmSuOI+NflNG40RA1iK71kImPw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.2.tgz", + "integrity": "sha512-imP5M6cdpHEOkmcuFYZuM5cTG1DAF7ZlVNCq1+F7kbqme2Jcl+Kh4M78hihM76DJHNkurbv4UVOnejGxBKEmww==", + "dev": true, + "dependencies": { + "@jest/console": "^29.0.2", + "@jest/reporters": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.0.2", + "jest-haste-map": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-resolve-dependencies": "^29.0.2", + "jest-runner": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "jest-watcher": "^29.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.2.tgz", + "integrity": "sha512-Yf+EYaLOrVCgts/aTS5nGznU4prZUPa5k9S63Yct8YSOKj2jkdS17hHSUKhk5jxDFMyCy1PXknypDw7vfgc/mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "jest-mock": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.2.tgz", + "integrity": "sha512-y/3geZ92p2/zovBm/F+ZjXUJ3thvT9IRzD6igqaWskFE2aR0idD+N/p5Lj/ZautEox/9RwEc6nqergebeh72uQ==", + "dev": true, + "dependencies": { + "expect": "^29.0.2", + "jest-snapshot": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.2.tgz", + "integrity": "sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.2.tgz", + "integrity": "sha512-2JhQeWU28fvmM5r33lxg6BxxkTKaVXs6KMaJ6eXSM8ml/MaWkt2BvbIO8G9KWAJFMdBXWbn+2h9OK1/s5urKZA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.0.2", + "jest-mock": "^29.0.2", + "jest-util": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.2.tgz", + "integrity": "sha512-4hcooSNJCVXuTu07/VJwCWW6HTnjLtQdqlcGisK6JST7z2ixa8emw4SkYsOk7j36WRc2ZUEydlUePnOIOTCNXg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.0.2", + "@jest/expect": "^29.0.2", + "@jest/types": "^29.0.2", + "jest-mock": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.2.tgz", + "integrity": "sha512-Kr41qejRQHHkCgWHC9YwSe7D5xivqP4XML+PvgwsnRFaykKdNflDUb4+xLXySOU+O/bPkVdFpGzUpVNSJChCrw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "jest-worker": "^29.0.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.2.tgz", + "integrity": "sha512-b5rDc0lLL6Kx73LyCx6370k9uZ8o5UKdCpMS6Za3ke7H9y8PtAU305y6TeghpBmf2In8p/qqi3GpftgzijSsNw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.2.tgz", + "integrity": "sha512-fsyZqHBlXNMv5ZqjQwCuYa2pskXCO0DVxh5aaVCuAtwzHuYEGrhordyEncBLQNuCGQSYgElrEEmS+7wwFnnMKw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.0.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.2.tgz", + "integrity": "sha512-lajVQx2AnsR+Pa17q2zR7eikz2PkPs1+g/qPbZkqQATeS/s6eT55H+yHcsLfuI/0YQ/4VSBepSu3bOX+44q0aA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.0.2", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.2.tgz", + "integrity": "sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, + "node_modules/@onflow/config": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/config/-/config-1.0.3.tgz", + "integrity": "sha512-ryO0ZXXayz8IKdEdI51PAJgs5WYo7J0Kb+ccNaTS7nRuRq752/r6O8EfqEz3/R2+KsV7XdP3FVhR2tPUhxWhag==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/util-actor": "^1.1.1" + } + }, + "node_modules/@onflow/fcl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@onflow/fcl/-/fcl-1.2.1.tgz", + "integrity": "sha512-cjQ2fPKykCXDUag0Lbse7GSOP/KkEObHGiDnjE7s4rK5nacPmAk7TdHjOgcdjc19A7qESlAXBs92eJh/8HqJ/A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3", + "@onflow/interaction": "0.0.11", + "@onflow/rlp": "^1.0.2", + "@onflow/sdk": "^1.1.1", + "@onflow/types": "^1.0.3", + "@onflow/util-actor": "^1.1.1", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "@onflow/util-uid": "^1.0.2" + } + }, + "node_modules/@onflow/fcl-config": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/fcl-config/-/fcl-config-0.0.1.tgz", + "integrity": "sha512-umvYsAwejX2yGJ5OFxM1dEaKmFEXf+34f4rJfVkfEYztgJqLkUbBkEB8HQsI8M78QUpWkWuNArqwbFvFerBbHA==", + "dev": true + }, + "node_modules/@onflow/flow-cadut": { + "version": "0.2.0-alpha.8", + "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.8.tgz", + "integrity": "sha512-gKVhHXhlE46zM16BueaK4ysIxzqXWC2/Tar5vJPwsh2KptnDeNCL4yQ3RM56GSEWElxBLNCARJB7UuChgPfzKQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "0.0.2", + "@onflow/fcl": "^1.1.1-alpha.2", + "elliptic": "^6.5.4", + "esm": "^3.2.25", + "rimraf": "^3.0.2", + "rlp": "^3.0.0", + "sha3": "^2.1.4", + "simple-git": "^2.40.0", + "yargs": "^15.4.1" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/config": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@onflow/config/-/config-0.0.2.tgz", + "integrity": "sha512-H/+yrAalzEnMWkubiWsDdWytKSzd+OfRCddTlaRUelxfXhcfw2QWegH9N8EzeKfKXcQ6PLzvu9vQwhFxCZTE8Q==", + "dev": true, + "dependencies": { + "@onflow/util-actor": "0.0.2" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-actor": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-0.0.2.tgz", + "integrity": "sha512-NV3zPXQue3FqVgcIIMo6ifJOiP3hVSQTaR4ZrWLFU5iAZ/L73cTtBMbCB4BUFOe20ALtF2c9PFmpNVowCYV+nw==", + "dev": true, + "dependencies": { + "queue-microtask": "1.1.2" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/rlp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-3.0.0.tgz", + "integrity": "sha512-PD6U2PGk6Vq2spfgiWZdomLvRGDreBLxi5jv5M8EpRo3pU6VEm31KO+HFxE18Q3vgqfDrQ9pZA3FP95rkijNKw==", + "dev": true, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@onflow/flow-js-testing": { + "version": "0.3.0-alpha.15", + "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.15.tgz", + "integrity": "sha512-phYtDbj01TvKn+zVn+DAzt1ePCmroeEtlh5n0s5e0RJZZu78xvpuazgE3gAoezI9fgNSAYOT7GR3KrD25e1sVg==", + "dev": true, + "dependencies": { + "@onflow/fcl": "^1.2.1-alpha.0", + "@onflow/fcl-config": "^0.0.1", + "@onflow/flow-cadut": "0.2.0-alpha.8", + "@onflow/types": "^1.0.3-alpha.0", + "elliptic": "^6.5.4", + "esm": "^3.2.25", + "jest-environment-uint8array": "^1.0.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "rimraf": "^3.0.2", + "rlp": "^2.2.6", + "yargs": "^17.0.1" + }, + "bin": { + "flow-js-testing": "bin/index.js" + } + }, + "node_modules/@onflow/interaction": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@onflow/interaction/-/interaction-0.0.11.tgz", + "integrity": "sha512-Xuq1Mmx6Wyba/F/L+QLQs0yJeQDsIDwy5SKk5vrCuVgIj0yD8k506g5L8ODrbM1LWll8i0tQsoOi0F85vNl5sA==", + "dev": true + }, + "node_modules/@onflow/rlp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-1.0.2.tgz", + "integrity": "sha512-YjIMTQZ7ewYcXsKo6S0dKjUr9uoCFy8NlpH2NX9Xy+L76MQUfJNFJksepDG0HDo8/+9UDdh/cGIbuxW7rUp3QQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "buffer": "^6.0.3" + } + }, + "node_modules/@onflow/sdk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/sdk/-/sdk-1.1.1.tgz", + "integrity": "sha512-i+ZYja6jBq6HU8Hnpq/AoeMDQOazrxhgds0yU9KqxOKAA9tZ4DUv4J47eHSQbUEv09BbUeZAcIc/ZdqVqrMjJQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3", + "@onflow/rlp": "^1.0.2", + "@onflow/transport-http": "^1.4.0", + "@onflow/util-actor": "^1.1.1", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "deepmerge": "^4.2.2", + "sha3": "^2.1.4" + } + }, + "node_modules/@onflow/transport-http": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@onflow/transport-http/-/transport-http-1.4.0.tgz", + "integrity": "sha512-8rVpGoGovZVxxenYOtyUXUrpPYDJ9N5O9sRJay+gC3mcAyRyc9EHLlbh0QJsoC9Y71sMm5t5jqjR2kBfNal7Hw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "node-fetch": "^2.6.7" + } + }, + "node_modules/@onflow/types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/types/-/types-1.0.3.tgz", + "integrity": "sha512-7za7NgzRvapB50icVmrL21rVHgPaMS/0K9IKXj0FVZRMo3CSI6MV2qLoGftRVX8oDfiH0Lj/1NWD/iSUW6Ed5w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6" + } + }, + "node_modules/@onflow/util-actor": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-1.1.1.tgz", + "integrity": "sha512-y74KwQ2T8BUXiP0f+OCifAD1CrBepzCWL1C0lKdSDly7so8RVttc98Hp3oUkDJxoA0KKyAyEjshxw7DSLxYXFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "queue-microtask": "1.1.2" + } + }, + "node_modules/@onflow/util-address": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-address/-/util-address-1.0.2.tgz", + "integrity": "sha512-2kjRZK+DxyEoujm4+1gO0lqGFLdaTJC1DuvBF7XqgocmFdayad/OdPFVgaEi06xymmi2kfdn/JFdvBwdZHkJGQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6" + } + }, + "node_modules/@onflow/util-invariant": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-invariant/-/util-invariant-1.0.2.tgz", + "integrity": "sha512-Z5YPAJYUxEoSJ9hGB3jyr0C8gG1VbwX88naF0onBjiMZ89QYbbRG8nup7WWHN2fo/tWo4ElauOpCwU70see0lg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6" + } + }, + "node_modules/@onflow/util-logger": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/util-logger/-/util-logger-1.1.1.tgz", + "integrity": "sha512-bVGzjxcLKl4cpb/kFiHtIrdkKDCpZkj1DFMXjhQzpW0MqTmmp1rKf/Fq9B0Y1dbZKh6IxJeGCd5dhNPLmSfb9g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3" + } + }, + "node_modules/@onflow/util-template": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/util-template/-/util-template-1.0.3.tgz", + "integrity": "sha512-ZBckseo1IwjKO4/F7PvEH4sKRFVAmVAYq0f10Zg79xQ29YF7oU58uXCH4MAjJ8eaZsS5/jeiEif0291bVHH5Rg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6" + } + }, + "node_modules/@onflow/util-uid": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-uid/-/util-uid-1.0.2.tgz", + "integrity": "sha512-1BSM0l53QOFmEZ876AX+KdnJmXPRhGlS7vO5WiJULE8GUPyoW6WY2eyk0ZpHjxI0BnKpHOruyZeMilw1jZQSdA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.6" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.39", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.39.tgz", + "integrity": "sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz", + "integrity": "sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", + "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", + "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/babel-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.2.tgz", + "integrity": "sha512-yTu4/WSi/HzarjQtrJSwV+/0maoNt+iP0DmpvFJdv9yY+5BuNle8TbheHzzcSWj5gIHfuhpbLYHWRDYhWKyeKQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.0.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001393", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz", + "integrity": "sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz", + "integrity": "sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.246", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz", + "integrity": "sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", + "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.2", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.2.tgz", + "integrity": "sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.2.tgz", + "integrity": "sha512-enziNbNUmXTcTaTP/Uq5rV91r0Yqy2UKzLUIabxMpGm9YHz8qpbJhiRnNVNvm6vzWfzt/0o97NEHH8/3udoClA==", + "dev": true, + "dependencies": { + "@jest/core": "^29.0.2", + "@jest/types": "^29.0.2", + "import-local": "^3.0.2", + "jest-cli": "^29.0.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.2.tgz", + "integrity": "sha512-YTPEsoE1P1X0bcyDQi3QIkpt2Wl9om9k2DQRuLFdS5x8VvAKSdYAVJufgvudhnKgM8WHvvAzhBE+1DRQB8x1CQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.0.2", + "@jest/expect": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.0.2", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.2.tgz", + "integrity": "sha512-tlf8b+4KcUbBGr25cywIi3+rbZ4+G+SiG8SvY552m9sRZbXPafdmQRyeVE/C/R8K+TiBAMrTIUmV2SlStRJ40g==", + "dev": true, + "dependencies": { + "@jest/core": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.2.tgz", + "integrity": "sha512-RU4gzeUNZAFktYVzDGimDxeYoaiTnH100jkYYZgldqFamaZukF0IqmFx8+QrzVeEWccYg10EEJT3ox1Dq5b74w==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.0.2", + "@jest/types": "^29.0.2", + "babel-jest": "^29.0.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.0.2", + "jest-environment-node": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-runner": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.2.tgz", + "integrity": "sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.2.tgz", + "integrity": "sha512-+sA9YjrJl35iCg0W0VCrgCVj+wGhDrrKQ+YAqJ/DHBC4gcDFAeePtRRhpJnX9gvOZ63G7gt52pwp2PesuSEx0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "jest-util": "^29.0.2", + "pretty-format": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.2.tgz", + "integrity": "sha512-4Fv8GXVCToRlMzDO94gvA8iOzKxQ7rhAbs8L+j8GPyTxGuUiYkV+63LecGeVdVhsL2KXih1sKnoqmH6tp89J7Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.0.2", + "@jest/fake-timers": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "jest-mock": "^29.0.2", + "jest-util": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-uint8array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-uint8array/-/jest-environment-uint8array-1.0.0.tgz", + "integrity": "sha512-PhZFy1N9AyuAs4Mr25/I+oiHEF25t7e74UTL9oTCmasfy8HGAKvPL6Wc43zgF0sV05dLLPS9yplxHfgxMw1E0w==", + "dev": true, + "dependencies": { + "jest-environment-node": "^24.8.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-environment-uint8array/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-environment-uint8array/node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-uint8array/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/jest-environment-uint8array/node_modules/babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-uint8array/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 6" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-environment-uint8array/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-environment-uint8array/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-uint8array/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-uint8array/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-uint8array/node_modules/write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.2.tgz", + "integrity": "sha512-SOorh2ysQ0fe8gsF4gaUDhoMIWAvi2hXOkwThEO48qT3JqA8GLAUieQcIvdSEd6M0scRDe1PVmKc5tXR3Z0U0A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.2", + "jest-worker": "^29.0.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.2.tgz", + "integrity": "sha512-5f0493qDeAxjUldkBSQg5D1cLadRgZVyWpTQvfJeQwQUpHQInE21AyVHVv64M7P2Ue8Z5EZ4BAcoDS/dSPPgMw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.2.tgz", + "integrity": "sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.0.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.2.tgz", + "integrity": "sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.2.tgz", + "integrity": "sha512-giWXOIT23UCxHCN2VUfUJ0Q7SmiqQwfSFXlCaIhW5anITpNQ+3vuLPQdKt5wkuwM37GrbFyHIClce8AAK9ft9g==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.2.tgz", + "integrity": "sha512-V3uLjSA+EHxLtjIDKTBXnY71hyx+8lusCqPXvqzkFO1uCGvVpjBfuOyp+KOLBNSuY61kM2jhepiMwt4eiJS+Vw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.2.tgz", + "integrity": "sha512-fSAu6eIG7wtGdnPJUkVVdILGzYAP9Dj/4+zvC8BrGe8msaUMJ9JeygU0Hf9+Uor6/icbuuzQn5See1uajLnAqg==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.2.tgz", + "integrity": "sha512-+D82iPZejI8t+SfduOO1deahC/QgLFf8aJBO++Znz3l2ETtOMdM7K4ATsGWzCFnTGio5yHaRifg1Su5Ybza5Nw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.0.2", + "@jest/environment": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.0.2", + "jest-haste-map": "^29.0.2", + "jest-leak-detector": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-resolve": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-util": "^29.0.2", + "jest-watcher": "^29.0.2", + "jest-worker": "^29.0.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.2.tgz", + "integrity": "sha512-DO6F81LX4okOgjJLkLySv10E5YcV5NHUbY1ZqAUtofxdQE+q4hjH0P2gNsY8x3z3sqgw7O/+919SU4r18Fcuig==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.0.2", + "@jest/fake-timers": "^29.0.2", + "@jest/globals": "^29.0.2", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-mock": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-snapshot": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.2.tgz", + "integrity": "sha512-26C4PzGKaX5gkoKg8UzYGVy2HPVcTaROSkf0gwnHu3lGeTB7bAIJBovvVPZoiJ20IximJELQs/r8WSDRCuGX2A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.0.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.0.2", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.0.2", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.2.tgz", + "integrity": "sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.2.tgz", + "integrity": "sha512-AeRKm7cEucSy7tr54r3LhiGIXYvOILUwBM1S7jQkKs6YelwAlWKsmZGVrQR7uwsd31rBTnR5NQkODi1Z+6TKIQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.0.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "leven": "^3.1.0", + "pretty-format": "^29.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.2.tgz", + "integrity": "sha512-ds2bV0oyUdYoyrUTv4Ga5uptz4cEvmmP/JzqDyzZZanvrIn8ipxg5l3SDOAIiyuAx1VdHd2FBzeXPFO5KPH8vQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.0.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.2.tgz", + "integrity": "sha512-EyvBlYcvd2pg28yg5A3OODQnqK9LI1kitnGUZUG5/NYIeaRgewtYBKB5wlr7oXj8zPCkzev7EmnTCsrXK7V+Xw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "dev": true + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.2.tgz", + "integrity": "sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue-microtask": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.1.2.tgz", + "integrity": "sha512-F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ==", + "dev": true + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "dependencies": { + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sha3": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", + "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", + "dev": true, + "dependencies": { + "buffer": "6.0.3" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-git": { + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz", + "integrity": "sha512-z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==", + "dev": true, + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/steveukx/" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", + "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", + "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "dev": true + }, + "@babel/core": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", + "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", + "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", + "dev": true, + "requires": { + "@babel/types": "^7.19.0", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", + "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", + "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz", + "integrity": "sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz", + "integrity": "sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz", + "integrity": "sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.0", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.0", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", + "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.0", + "@babel/types": "^7.19.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", + "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.2.tgz", + "integrity": "sha512-Fv02ijyhF4D/Wb3DvZO3iBJQz5DnzpJEIDBDbvje8Em099N889tNMUnBw7SalmSuOI+NflNG40RA1iK71kImPw==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.2.tgz", + "integrity": "sha512-imP5M6cdpHEOkmcuFYZuM5cTG1DAF7ZlVNCq1+F7kbqme2Jcl+Kh4M78hihM76DJHNkurbv4UVOnejGxBKEmww==", + "dev": true, + "requires": { + "@jest/console": "^29.0.2", + "@jest/reporters": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.0.2", + "jest-haste-map": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-resolve-dependencies": "^29.0.2", + "jest-runner": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "jest-watcher": "^29.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.2.tgz", + "integrity": "sha512-Yf+EYaLOrVCgts/aTS5nGznU4prZUPa5k9S63Yct8YSOKj2jkdS17hHSUKhk5jxDFMyCy1PXknypDw7vfgc/mA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "jest-mock": "^29.0.2" + } + }, + "@jest/expect": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.2.tgz", + "integrity": "sha512-y/3geZ92p2/zovBm/F+ZjXUJ3thvT9IRzD6igqaWskFE2aR0idD+N/p5Lj/ZautEox/9RwEc6nqergebeh72uQ==", + "dev": true, + "requires": { + "expect": "^29.0.2", + "jest-snapshot": "^29.0.2" + } + }, + "@jest/expect-utils": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.2.tgz", + "integrity": "sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw==", + "dev": true, + "requires": { + "jest-get-type": "^29.0.0" + } + }, + "@jest/fake-timers": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.2.tgz", + "integrity": "sha512-2JhQeWU28fvmM5r33lxg6BxxkTKaVXs6KMaJ6eXSM8ml/MaWkt2BvbIO8G9KWAJFMdBXWbn+2h9OK1/s5urKZA==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.0.2", + "jest-mock": "^29.0.2", + "jest-util": "^29.0.2" + } + }, + "@jest/globals": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.2.tgz", + "integrity": "sha512-4hcooSNJCVXuTu07/VJwCWW6HTnjLtQdqlcGisK6JST7z2ixa8emw4SkYsOk7j36WRc2ZUEydlUePnOIOTCNXg==", + "dev": true, + "requires": { + "@jest/environment": "^29.0.2", + "@jest/expect": "^29.0.2", + "@jest/types": "^29.0.2", + "jest-mock": "^29.0.2" + } + }, + "@jest/reporters": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.2.tgz", + "integrity": "sha512-Kr41qejRQHHkCgWHC9YwSe7D5xivqP4XML+PvgwsnRFaykKdNflDUb4+xLXySOU+O/bPkVdFpGzUpVNSJChCrw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "jest-worker": "^29.0.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.2.tgz", + "integrity": "sha512-b5rDc0lLL6Kx73LyCx6370k9uZ8o5UKdCpMS6Za3ke7H9y8PtAU305y6TeghpBmf2In8p/qqi3GpftgzijSsNw==", + "dev": true, + "requires": { + "@jest/console": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.2.tgz", + "integrity": "sha512-fsyZqHBlXNMv5ZqjQwCuYa2pskXCO0DVxh5aaVCuAtwzHuYEGrhordyEncBLQNuCGQSYgElrEEmS+7wwFnnMKw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.0.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.2.tgz", + "integrity": "sha512-lajVQx2AnsR+Pa17q2zR7eikz2PkPs1+g/qPbZkqQATeS/s6eT55H+yHcsLfuI/0YQ/4VSBepSu3bOX+44q0aA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.0.2", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.2.tgz", + "integrity": "sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, + "@onflow/config": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/config/-/config-1.0.3.tgz", + "integrity": "sha512-ryO0ZXXayz8IKdEdI51PAJgs5WYo7J0Kb+ccNaTS7nRuRq752/r6O8EfqEz3/R2+KsV7XdP3FVhR2tPUhxWhag==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/util-actor": "^1.1.1" + } + }, + "@onflow/fcl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@onflow/fcl/-/fcl-1.2.1.tgz", + "integrity": "sha512-cjQ2fPKykCXDUag0Lbse7GSOP/KkEObHGiDnjE7s4rK5nacPmAk7TdHjOgcdjc19A7qESlAXBs92eJh/8HqJ/A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3", + "@onflow/interaction": "0.0.11", + "@onflow/rlp": "^1.0.2", + "@onflow/sdk": "^1.1.1", + "@onflow/types": "^1.0.3", + "@onflow/util-actor": "^1.1.1", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "@onflow/util-uid": "^1.0.2" + } + }, + "@onflow/fcl-config": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/fcl-config/-/fcl-config-0.0.1.tgz", + "integrity": "sha512-umvYsAwejX2yGJ5OFxM1dEaKmFEXf+34f4rJfVkfEYztgJqLkUbBkEB8HQsI8M78QUpWkWuNArqwbFvFerBbHA==", + "dev": true + }, + "@onflow/flow-cadut": { + "version": "0.2.0-alpha.8", + "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.8.tgz", + "integrity": "sha512-gKVhHXhlE46zM16BueaK4ysIxzqXWC2/Tar5vJPwsh2KptnDeNCL4yQ3RM56GSEWElxBLNCARJB7UuChgPfzKQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "0.0.2", + "@onflow/fcl": "^1.1.1-alpha.2", + "elliptic": "^6.5.4", + "esm": "^3.2.25", + "rimraf": "^3.0.2", + "rlp": "^3.0.0", + "sha3": "^2.1.4", + "simple-git": "^2.40.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "@onflow/config": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@onflow/config/-/config-0.0.2.tgz", + "integrity": "sha512-H/+yrAalzEnMWkubiWsDdWytKSzd+OfRCddTlaRUelxfXhcfw2QWegH9N8EzeKfKXcQ6PLzvu9vQwhFxCZTE8Q==", + "dev": true, + "requires": { + "@onflow/util-actor": "0.0.2" + } + }, + "@onflow/util-actor": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-0.0.2.tgz", + "integrity": "sha512-NV3zPXQue3FqVgcIIMo6ifJOiP3hVSQTaR4ZrWLFU5iAZ/L73cTtBMbCB4BUFOe20ALtF2c9PFmpNVowCYV+nw==", + "dev": true, + "requires": { + "queue-microtask": "1.1.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "rlp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-3.0.0.tgz", + "integrity": "sha512-PD6U2PGk6Vq2spfgiWZdomLvRGDreBLxi5jv5M8EpRo3pU6VEm31KO+HFxE18Q3vgqfDrQ9pZA3FP95rkijNKw==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "@onflow/flow-js-testing": { + "version": "0.3.0-alpha.15", + "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.15.tgz", + "integrity": "sha512-phYtDbj01TvKn+zVn+DAzt1ePCmroeEtlh5n0s5e0RJZZu78xvpuazgE3gAoezI9fgNSAYOT7GR3KrD25e1sVg==", + "dev": true, + "requires": { + "@onflow/fcl": "^1.2.1-alpha.0", + "@onflow/fcl-config": "^0.0.1", + "@onflow/flow-cadut": "0.2.0-alpha.8", + "@onflow/types": "^1.0.3-alpha.0", + "elliptic": "^6.5.4", + "esm": "^3.2.25", + "jest-environment-uint8array": "^1.0.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "rimraf": "^3.0.2", + "rlp": "^2.2.6", + "yargs": "^17.0.1" + } + }, + "@onflow/interaction": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@onflow/interaction/-/interaction-0.0.11.tgz", + "integrity": "sha512-Xuq1Mmx6Wyba/F/L+QLQs0yJeQDsIDwy5SKk5vrCuVgIj0yD8k506g5L8ODrbM1LWll8i0tQsoOi0F85vNl5sA==", + "dev": true + }, + "@onflow/rlp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-1.0.2.tgz", + "integrity": "sha512-YjIMTQZ7ewYcXsKo6S0dKjUr9uoCFy8NlpH2NX9Xy+L76MQUfJNFJksepDG0HDo8/+9UDdh/cGIbuxW7rUp3QQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "buffer": "^6.0.3" + } + }, + "@onflow/sdk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/sdk/-/sdk-1.1.1.tgz", + "integrity": "sha512-i+ZYja6jBq6HU8Hnpq/AoeMDQOazrxhgds0yU9KqxOKAA9tZ4DUv4J47eHSQbUEv09BbUeZAcIc/ZdqVqrMjJQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3", + "@onflow/rlp": "^1.0.2", + "@onflow/transport-http": "^1.4.0", + "@onflow/util-actor": "^1.1.1", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "deepmerge": "^4.2.2", + "sha3": "^2.1.4" + } + }, + "@onflow/transport-http": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@onflow/transport-http/-/transport-http-1.4.0.tgz", + "integrity": "sha512-8rVpGoGovZVxxenYOtyUXUrpPYDJ9N5O9sRJay+gC3mcAyRyc9EHLlbh0QJsoC9Y71sMm5t5jqjR2kBfNal7Hw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/util-address": "^1.0.2", + "@onflow/util-invariant": "^1.0.2", + "@onflow/util-logger": "^1.1.1", + "@onflow/util-template": "^1.0.3", + "node-fetch": "^2.6.7" + } + }, + "@onflow/types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/types/-/types-1.0.3.tgz", + "integrity": "sha512-7za7NgzRvapB50icVmrL21rVHgPaMS/0K9IKXj0FVZRMo3CSI6MV2qLoGftRVX8oDfiH0Lj/1NWD/iSUW6Ed5w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6" + } + }, + "@onflow/util-actor": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-1.1.1.tgz", + "integrity": "sha512-y74KwQ2T8BUXiP0f+OCifAD1CrBepzCWL1C0lKdSDly7so8RVttc98Hp3oUkDJxoA0KKyAyEjshxw7DSLxYXFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "queue-microtask": "1.1.2" + } + }, + "@onflow/util-address": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-address/-/util-address-1.0.2.tgz", + "integrity": "sha512-2kjRZK+DxyEoujm4+1gO0lqGFLdaTJC1DuvBF7XqgocmFdayad/OdPFVgaEi06xymmi2kfdn/JFdvBwdZHkJGQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6" + } + }, + "@onflow/util-invariant": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-invariant/-/util-invariant-1.0.2.tgz", + "integrity": "sha512-Z5YPAJYUxEoSJ9hGB3jyr0C8gG1VbwX88naF0onBjiMZ89QYbbRG8nup7WWHN2fo/tWo4ElauOpCwU70see0lg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6" + } + }, + "@onflow/util-logger": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@onflow/util-logger/-/util-logger-1.1.1.tgz", + "integrity": "sha512-bVGzjxcLKl4cpb/kFiHtIrdkKDCpZkj1DFMXjhQzpW0MqTmmp1rKf/Fq9B0Y1dbZKh6IxJeGCd5dhNPLmSfb9g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6", + "@onflow/config": "^1.0.3" + } + }, + "@onflow/util-template": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@onflow/util-template/-/util-template-1.0.3.tgz", + "integrity": "sha512-ZBckseo1IwjKO4/F7PvEH4sKRFVAmVAYq0f10Zg79xQ29YF7oU58uXCH4MAjJ8eaZsS5/jeiEif0291bVHH5Rg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6" + } + }, + "@onflow/util-uid": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onflow/util-uid/-/util-uid-1.0.2.tgz", + "integrity": "sha512-1BSM0l53QOFmEZ876AX+KdnJmXPRhGlS7vO5WiJULE8GUPyoW6WY2eyk0ZpHjxI0BnKpHOruyZeMilw1jZQSdA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.6" + } + }, + "@sinclair/typebox": { + "version": "0.24.39", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.39.tgz", + "integrity": "sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz", + "integrity": "sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/node": { + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", + "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", + "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "babel-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.2.tgz", + "integrity": "sha512-yTu4/WSi/HzarjQtrJSwV+/0maoNt+iP0DmpvFJdv9yY+5BuNle8TbheHzzcSWj5gIHfuhpbLYHWRDYhWKyeKQ==", + "dev": true, + "requires": { + "@jest/transform": "^29.0.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001393", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz", + "integrity": "sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js-compat": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz", + "integrity": "sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.246", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz", + "integrity": "sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", + "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.2", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "expect": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.2.tgz", + "integrity": "sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + } + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.2.tgz", + "integrity": "sha512-enziNbNUmXTcTaTP/Uq5rV91r0Yqy2UKzLUIabxMpGm9YHz8qpbJhiRnNVNvm6vzWfzt/0o97NEHH8/3udoClA==", + "dev": true, + "requires": { + "@jest/core": "^29.0.2", + "@jest/types": "^29.0.2", + "import-local": "^3.0.2", + "jest-cli": "^29.0.2" + } + }, + "jest-changed-files": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.2.tgz", + "integrity": "sha512-YTPEsoE1P1X0bcyDQi3QIkpt2Wl9om9k2DQRuLFdS5x8VvAKSdYAVJufgvudhnKgM8WHvvAzhBE+1DRQB8x1CQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.0.2", + "@jest/expect": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.0.2", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.2.tgz", + "integrity": "sha512-tlf8b+4KcUbBGr25cywIi3+rbZ4+G+SiG8SvY552m9sRZbXPafdmQRyeVE/C/R8K+TiBAMrTIUmV2SlStRJ40g==", + "dev": true, + "requires": { + "@jest/core": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.2.tgz", + "integrity": "sha512-RU4gzeUNZAFktYVzDGimDxeYoaiTnH100jkYYZgldqFamaZukF0IqmFx8+QrzVeEWccYg10EEJT3ox1Dq5b74w==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.0.2", + "@jest/types": "^29.0.2", + "babel-jest": "^29.0.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.0.2", + "jest-environment-node": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-runner": "^29.0.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.2.tgz", + "integrity": "sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.2.tgz", + "integrity": "sha512-+sA9YjrJl35iCg0W0VCrgCVj+wGhDrrKQ+YAqJ/DHBC4gcDFAeePtRRhpJnX9gvOZ63G7gt52pwp2PesuSEx0Q==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "jest-util": "^29.0.2", + "pretty-format": "^29.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.2.tgz", + "integrity": "sha512-4Fv8GXVCToRlMzDO94gvA8iOzKxQ7rhAbs8L+j8GPyTxGuUiYkV+63LecGeVdVhsL2KXih1sKnoqmH6tp89J7Q==", + "dev": true, + "requires": { + "@jest/environment": "^29.0.2", + "@jest/fake-timers": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "jest-mock": "^29.0.2", + "jest-util": "^29.0.2" + } + }, + "jest-environment-uint8array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-uint8array/-/jest-environment-uint8array-1.0.0.tgz", + "integrity": "sha512-PhZFy1N9AyuAs4Mr25/I+oiHEF25t7e74UTL9oTCmasfy8HGAKvPL6Wc43zgF0sV05dLLPS9yplxHfgxMw1E0w==", + "dev": true, + "requires": { + "jest-environment-node": "^24.8.0" + }, + "dependencies": { + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "dev": true + }, + "jest-haste-map": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.2.tgz", + "integrity": "sha512-SOorh2ysQ0fe8gsF4gaUDhoMIWAvi2hXOkwThEO48qT3JqA8GLAUieQcIvdSEd6M0scRDe1PVmKc5tXR3Z0U0A==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.2", + "jest-worker": "^29.0.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.2.tgz", + "integrity": "sha512-5f0493qDeAxjUldkBSQg5D1cLadRgZVyWpTQvfJeQwQUpHQInE21AyVHVv64M7P2Ue8Z5EZ4BAcoDS/dSPPgMw==", + "dev": true, + "requires": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + } + }, + "jest-matcher-utils": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.2.tgz", + "integrity": "sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.0.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.2.tgz", + "integrity": "sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.2.tgz", + "integrity": "sha512-giWXOIT23UCxHCN2VUfUJ0Q7SmiqQwfSFXlCaIhW5anITpNQ+3vuLPQdKt5wkuwM37GrbFyHIClce8AAK9ft9g==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "dev": true + }, + "jest-resolve": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.2.tgz", + "integrity": "sha512-V3uLjSA+EHxLtjIDKTBXnY71hyx+8lusCqPXvqzkFO1uCGvVpjBfuOyp+KOLBNSuY61kM2jhepiMwt4eiJS+Vw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.0.2", + "jest-validate": "^29.0.2", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.2.tgz", + "integrity": "sha512-fSAu6eIG7wtGdnPJUkVVdILGzYAP9Dj/4+zvC8BrGe8msaUMJ9JeygU0Hf9+Uor6/icbuuzQn5See1uajLnAqg==", + "dev": true, + "requires": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.0.2" + } + }, + "jest-runner": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.2.tgz", + "integrity": "sha512-+D82iPZejI8t+SfduOO1deahC/QgLFf8aJBO++Znz3l2ETtOMdM7K4ATsGWzCFnTGio5yHaRifg1Su5Ybza5Nw==", + "dev": true, + "requires": { + "@jest/console": "^29.0.2", + "@jest/environment": "^29.0.2", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.0.2", + "jest-haste-map": "^29.0.2", + "jest-leak-detector": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-resolve": "^29.0.2", + "jest-runtime": "^29.0.2", + "jest-util": "^29.0.2", + "jest-watcher": "^29.0.2", + "jest-worker": "^29.0.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.2.tgz", + "integrity": "sha512-DO6F81LX4okOgjJLkLySv10E5YcV5NHUbY1ZqAUtofxdQE+q4hjH0P2gNsY8x3z3sqgw7O/+919SU4r18Fcuig==", + "dev": true, + "requires": { + "@jest/environment": "^29.0.2", + "@jest/fake-timers": "^29.0.2", + "@jest/globals": "^29.0.2", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-mock": "^29.0.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.2", + "jest-snapshot": "^29.0.2", + "jest-util": "^29.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true + }, + "jest-snapshot": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.2.tgz", + "integrity": "sha512-26C4PzGKaX5gkoKg8UzYGVy2HPVcTaROSkf0gwnHu3lGeTB7bAIJBovvVPZoiJ20IximJELQs/r8WSDRCuGX2A==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.0.2", + "@jest/transform": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.0.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.0.2", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.0.2", + "jest-matcher-utils": "^29.0.2", + "jest-message-util": "^29.0.2", + "jest-util": "^29.0.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.0.2", + "semver": "^7.3.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.2.tgz", + "integrity": "sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.2.tgz", + "integrity": "sha512-AeRKm7cEucSy7tr54r3LhiGIXYvOILUwBM1S7jQkKs6YelwAlWKsmZGVrQR7uwsd31rBTnR5NQkODi1Z+6TKIQ==", + "dev": true, + "requires": { + "@jest/types": "^29.0.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "leven": "^3.1.0", + "pretty-format": "^29.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.2.tgz", + "integrity": "sha512-ds2bV0oyUdYoyrUTv4Ga5uptz4cEvmmP/JzqDyzZZanvrIn8ipxg5l3SDOAIiyuAx1VdHd2FBzeXPFO5KPH8vQ==", + "dev": true, + "requires": { + "@jest/test-result": "^29.0.2", + "@jest/types": "^29.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.0.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.2.tgz", + "integrity": "sha512-EyvBlYcvd2pg28yg5A3OODQnqK9LI1kitnGUZUG5/NYIeaRgewtYBKB5wlr7oXj8zPCkzev7EmnTCsrXK7V+Xw==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "dev": true + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "dev": true, + "requires": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "pretty-format": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.2.tgz", + "integrity": "sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "queue-microtask": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.1.2.tgz", + "integrity": "sha512-F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ==", + "dev": true + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, + "requires": { + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "sha3": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", + "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", + "dev": true, + "requires": { + "buffer": "6.0.3" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "simple-git": { + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz", + "integrity": "sha512-z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==", + "dev": true, + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.2" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "update-browserslist-db": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", + "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/lib/js/test/package.json b/lib/js/test/package.json new file mode 100644 index 000000000..e450a0a7b --- /dev/null +++ b/lib/js/test/package.json @@ -0,0 +1,27 @@ +{ + "name": "test", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "jest" + }, + "files" : [ + "../../../contracts/*", + "../../../transactions/*" + ], + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@babel/core": "^7.19.0", + "@babel/preset-env": "^7.19.0", + "babel-jest": "^29.0.2", + "@onflow/flow-js-testing": "^0.3.0-alpha.15", + "jest": "^29.0.2", + "jest-environment-node": "^29.0.2" + }, + "dependencies": { + "@onflow/flow-js-testing": "^0.3.0-alpha.15" + } +} diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js new file mode 100644 index 000000000..86cfe09cc --- /dev/null +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -0,0 +1,7 @@ +import { expect } from "@jest/globals"; + +describe("ExecutionNodeVersionBeacon Contract Tests", () => { + test("", async () => { + expect(0).toEqual(0) + }); +}); From d31247cd8b0a5d75338901d0f4ea544e4df2539b Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Wed, 14 Sep 2022 11:40:33 -0500 Subject: [PATCH 07/21] Assigning older ver flow-js-testing to troubleshoot dependency issue --- contracts/ExecutionNodeVersionBeacon.cdc | 8 +- lib/js/test/package-lock.json | 1400 ++++++++--------- lib/js/test/package.json | 10 +- ...xecution_node_version_beacon_tests.test.js | 54 +- .../deploy_execution_node_version_beacon.cdc | 14 + 5 files changed, 763 insertions(+), 723 deletions(-) create mode 100644 transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 206bb9da0..29bad275a 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -376,15 +376,15 @@ pub contract ExecutionNodeVersionBeacon { return nil } - init() { + init(versionUpdateBuffer: UInt64, versionUpdateBufferVariance: UFix64) { /// Initialize variables self.ExecutionNodeVersionKeeperStoragePath = /storage/ExecutionNodeVersionKeeper self.versionTable = {} - self.versionUpdateBuffer = 1000 - self.versionUpdateBufferVariance = 0.5 + self.versionUpdateBuffer = versionUpdateBuffer + self.versionUpdateBufferVariance = versionUpdateBufferVariance self.lastBlockBoundary = 0 - /// Save + /// Save ExecutionNodeVersionKeeper to storage self.account.save(<-create ExecutionNodeVersionKeeper(), to: self.ExecutionNodeVersionKeeperStoragePath) } } diff --git a/lib/js/test/package-lock.json b/lib/js/test/package-lock.json index e908abcc4..d8ab06b96 100644 --- a/lib/js/test/package-lock.json +++ b/lib/js/test/package-lock.json @@ -9,15 +9,15 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@onflow/flow-js-testing": "^0.3.0-alpha.15" + "@onflow/flow-js-testing": "^0.3.0-alpha.14" }, "devDependencies": { - "@babel/core": "^7.19.0", - "@babel/preset-env": "^7.19.0", - "@onflow/flow-js-testing": "^0.3.0-alpha.15", - "babel-jest": "^29.0.2", - "jest": "^29.0.2", - "jest-environment-node": "^29.0.2" + "@babel/core": "^7.18.10", + "@babel/preset-env": "^7.18.10", + "@onflow/flow-js-testing": "^0.3.0-alpha.14", + "babel-jest": "^28.1.3", + "jest": "^28.1.3", + "jest-environment-node": "^28.1.3" } }, "node_modules/@ampproject/remapping": { @@ -866,21 +866,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -1721,20 +1706,20 @@ } }, "node_modules/@jest/console": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.2.tgz", - "integrity": "sha512-Fv02ijyhF4D/Wb3DvZO3iBJQz5DnzpJEIDBDbvje8Em099N889tNMUnBw7SalmSuOI+NflNG40RA1iK71kImPw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/console/node_modules/ansi-styles": { @@ -1808,42 +1793,43 @@ } }, "node_modules/@jest/core": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.2.tgz", - "integrity": "sha512-imP5M6cdpHEOkmcuFYZuM5cTG1DAF7ZlVNCq1+F7kbqme2Jcl+Kh4M78hihM76DJHNkurbv4UVOnejGxBKEmww==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", "dev": true, "dependencies": { - "@jest/console": "^29.0.2", - "@jest/reporters": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/reporters": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.0.0", - "jest-config": "^29.0.2", - "jest-haste-map": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-resolve-dependencies": "^29.0.2", - "jest-runner": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", - "jest-watcher": "^29.0.2", + "jest-changed-files": "^28.1.3", + "jest-config": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-resolve-dependencies": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "jest-watcher": "^28.1.3", "micromatch": "^4.0.4", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", + "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -1925,89 +1911,88 @@ } }, "node_modules/@jest/environment": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.2.tgz", - "integrity": "sha512-Yf+EYaLOrVCgts/aTS5nGznU4prZUPa5k9S63Yct8YSOKj2jkdS17hHSUKhk5jxDFMyCy1PXknypDw7vfgc/mA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", - "jest-mock": "^29.0.2" + "jest-mock": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/expect": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.2.tgz", - "integrity": "sha512-y/3geZ92p2/zovBm/F+ZjXUJ3thvT9IRzD6igqaWskFE2aR0idD+N/p5Lj/ZautEox/9RwEc6nqergebeh72uQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", "dev": true, "dependencies": { - "expect": "^29.0.2", - "jest-snapshot": "^29.0.2" + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.2.tgz", - "integrity": "sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", + "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", "dev": true, "dependencies": { - "jest-get-type": "^29.0.0" + "jest-get-type": "^28.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.2.tgz", - "integrity": "sha512-2JhQeWU28fvmM5r33lxg6BxxkTKaVXs6KMaJ6eXSM8ml/MaWkt2BvbIO8G9KWAJFMdBXWbn+2h9OK1/s5urKZA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.2", - "jest-mock": "^29.0.2", - "jest-util": "^29.0.2" + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/globals": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.2.tgz", - "integrity": "sha512-4hcooSNJCVXuTu07/VJwCWW6HTnjLtQdqlcGisK6JST7z2ixa8emw4SkYsOk7j36WRc2ZUEydlUePnOIOTCNXg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.2", - "@jest/expect": "^29.0.2", - "@jest/types": "^29.0.2", - "jest-mock": "^29.0.2" + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.2.tgz", - "integrity": "sha512-Kr41qejRQHHkCgWHC9YwSe7D5xivqP4XML+PvgwsnRFaykKdNflDUb4+xLXySOU+O/bPkVdFpGzUpVNSJChCrw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", + "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/console": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -2019,9 +2004,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2029,7 +2014,7 @@ "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2111,85 +2096,85 @@ } }, "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/source-map": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", - "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", + "@jridgewell/trace-mapping": "^0.3.13", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/test-result": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.2.tgz", - "integrity": "sha512-b5rDc0lLL6Kx73LyCx6370k9uZ8o5UKdCpMS6Za3ke7H9y8PtAU305y6TeghpBmf2In8p/qqi3GpftgzijSsNw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dev": true, "dependencies": { - "@jest/console": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.2.tgz", - "integrity": "sha512-fsyZqHBlXNMv5ZqjQwCuYa2pskXCO0DVxh5aaVCuAtwzHuYEGrhordyEncBLQNuCGQSYgElrEEmS+7wwFnnMKw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", + "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", "dev": true, "dependencies": { - "@jest/test-result": "^29.0.2", + "@jest/test-result": "^28.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", + "jest-haste-map": "^28.1.3", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/transform": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.2.tgz", - "integrity": "sha512-lajVQx2AnsR+Pa17q2zR7eikz2PkPs1+g/qPbZkqQATeS/s6eT55H+yHcsLfuI/0YQ/4VSBepSu3bOX+44q0aA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.0.2", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.1.0", + "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.2", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/transform/node_modules/ansi-styles": { @@ -2263,12 +2248,12 @@ } }, "node_modules/@jest/types": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.2.tgz", - "integrity": "sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2276,7 +2261,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/types/node_modules/ansi-styles": { @@ -2729,9 +2714,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.24.39", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.39.tgz", - "integrity": "sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ==", + "version": "0.24.41", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.41.tgz", + "integrity": "sha512-TJCgQurls4FipFvHeC+gfAzb+GGstL0TDwYJKQVtTeSvJIznWzP7g3bAd5gEBlr8+bIxqnWS9VGVWREDhmE8jA==", "dev": true }, "node_modules/@sinonjs/commons": { @@ -2827,9 +2812,9 @@ } }, "node_modules/@types/node": { - "version": "18.7.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", - "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", + "version": "18.7.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", + "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", "dev": true }, "node_modules/@types/prettier": { @@ -2994,21 +2979,21 @@ } }, "node_modules/babel-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.2.tgz", - "integrity": "sha512-yTu4/WSi/HzarjQtrJSwV+/0maoNt+iP0DmpvFJdv9yY+5BuNle8TbheHzzcSWj5gIHfuhpbLYHWRDYhWKyeKQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", + "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", "dev": true, "dependencies": { - "@jest/transform": "^29.0.2", + "@jest/transform": "^28.1.3", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.0.2", + "babel-preset-jest": "^28.1.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -3110,9 +3095,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", - "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", + "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -3121,7 +3106,7 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -3187,16 +3172,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", - "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", + "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.0.2", + "babel-plugin-jest-hoist": "^28.1.3", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -3782,12 +3767,12 @@ } }, "node_modules/diff-sequences": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", - "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/electron-to-chromium": { @@ -4132,19 +4117,19 @@ "dev": true }, "node_modules/expect": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.2.tgz", - "integrity": "sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/extend-shallow": { @@ -5129,21 +5114,21 @@ } }, "node_modules/jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.2.tgz", - "integrity": "sha512-enziNbNUmXTcTaTP/Uq5rV91r0Yqy2UKzLUIabxMpGm9YHz8qpbJhiRnNVNvm6vzWfzt/0o97NEHH8/3udoClA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", "dev": true, "dependencies": { - "@jest/core": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", "import-local": "^3.0.2", - "jest-cli": "^29.0.2" + "jest-cli": "^28.1.3" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5155,46 +5140,46 @@ } }, "node_modules/jest-changed-files": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", - "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", + "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", "dev": true, "dependencies": { "execa": "^5.0.0", "p-limit": "^3.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-circus": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.2.tgz", - "integrity": "sha512-YTPEsoE1P1X0bcyDQi3QIkpt2Wl9om9k2DQRuLFdS5x8VvAKSdYAVJufgvudhnKgM8WHvvAzhBE+1DRQB8x1CQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.2", - "@jest/expect": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.0.2", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", "p-limit": "^3.1.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-circus/node_modules/ansi-styles": { @@ -5268,21 +5253,21 @@ } }, "node_modules/jest-cli": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.2.tgz", - "integrity": "sha512-tlf8b+4KcUbBGr25cywIi3+rbZ4+G+SiG8SvY552m9sRZbXPafdmQRyeVE/C/R8K+TiBAMrTIUmV2SlStRJ40g==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", + "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", "dev": true, "dependencies": { - "@jest/core": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/core": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-config": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -5290,7 +5275,7 @@ "jest": "bin/jest.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5372,36 +5357,36 @@ } }, "node_modules/jest-config": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.2.tgz", - "integrity": "sha512-RU4gzeUNZAFktYVzDGimDxeYoaiTnH100jkYYZgldqFamaZukF0IqmFx8+QrzVeEWccYg10EEJT3ox1Dq5b74w==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", + "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.0.2", - "@jest/types": "^29.0.2", - "babel-jest": "^29.0.2", + "@jest/test-sequencer": "^28.1.3", + "@jest/types": "^28.1.3", + "babel-jest": "^28.1.3", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.0.2", - "jest-environment-node": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-runner": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-circus": "^28.1.3", + "jest-environment-node": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@types/node": "*", @@ -5487,18 +5472,18 @@ } }, "node_modules/jest-diff": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.2.tgz", - "integrity": "sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.0.0", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-diff/node_modules/ansi-styles": { @@ -5572,31 +5557,31 @@ } }, "node_modules/jest-docblock": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", - "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-each": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.2.tgz", - "integrity": "sha512-+sA9YjrJl35iCg0W0VCrgCVj+wGhDrrKQ+YAqJ/DHBC4gcDFAeePtRRhpJnX9gvOZ63G7gt52pwp2PesuSEx0Q==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", - "jest-util": "^29.0.2", - "pretty-format": "^29.0.2" + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-each/node_modules/ansi-styles": { @@ -5670,20 +5655,20 @@ } }, "node_modules/jest-environment-node": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.2.tgz", - "integrity": "sha512-4Fv8GXVCToRlMzDO94gvA8iOzKxQ7rhAbs8L+j8GPyTxGuUiYkV+63LecGeVdVhsL2KXih1sKnoqmH6tp89J7Q==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", + "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.2", - "@jest/fake-timers": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", - "jest-mock": "^29.0.2", - "jest-util": "^29.0.2" + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-environment-uint8array": { @@ -6292,65 +6277,65 @@ } }, "node_modules/jest-get-type": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", - "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-haste-map": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.2.tgz", - "integrity": "sha512-SOorh2ysQ0fe8gsF4gaUDhoMIWAvi2hXOkwThEO48qT3JqA8GLAUieQcIvdSEd6M0scRDe1PVmKc5tXR3Z0U0A==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "node_modules/jest-leak-detector": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.2.tgz", - "integrity": "sha512-5f0493qDeAxjUldkBSQg5D1cLadRgZVyWpTQvfJeQwQUpHQInE21AyVHVv64M7P2Ue8Z5EZ4BAcoDS/dSPPgMw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", + "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", "dev": true, "dependencies": { - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.2.tgz", - "integrity": "sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.0.2", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { @@ -6424,23 +6409,23 @@ } }, "node_modules/jest-message-util": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.2.tgz", - "integrity": "sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-message-util/node_modules/ansi-styles": { @@ -6514,16 +6499,16 @@ } }, "node_modules/jest-mock": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.2.tgz", - "integrity": "sha512-giWXOIT23UCxHCN2VUfUJ0Q7SmiqQwfSFXlCaIhW5anITpNQ+3vuLPQdKt5wkuwM37GrbFyHIClce8AAK9ft9g==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -6544,45 +6529,45 @@ } }, "node_modules/jest-regex-util": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", - "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.2.tgz", - "integrity": "sha512-V3uLjSA+EHxLtjIDKTBXnY71hyx+8lusCqPXvqzkFO1uCGvVpjBfuOyp+KOLBNSuY61kM2jhepiMwt4eiJS+Vw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", + "jest-haste-map": "^28.1.3", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.2.tgz", - "integrity": "sha512-fSAu6eIG7wtGdnPJUkVVdILGzYAP9Dj/4+zvC8BrGe8msaUMJ9JeygU0Hf9+Uor6/icbuuzQn5See1uajLnAqg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", + "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", "dev": true, "dependencies": { - "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.0.2" + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve/node_modules/ansi-styles": { @@ -6656,35 +6641,35 @@ } }, "node_modules/jest-runner": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.2.tgz", - "integrity": "sha512-+D82iPZejI8t+SfduOO1deahC/QgLFf8aJBO++Znz3l2ETtOMdM7K4ATsGWzCFnTGio5yHaRifg1Su5Ybza5Nw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", + "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", "dev": true, "dependencies": { - "@jest/console": "^29.0.2", - "@jest/environment": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/environment": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.0.2", - "jest-haste-map": "^29.0.2", - "jest-leak-detector": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-resolve": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-util": "^29.0.2", - "jest-watcher": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-leak-detector": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-resolve": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-util": "^28.1.3", + "jest-watcher": "^28.1.3", + "jest-worker": "^28.1.3", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-runner/node_modules/ansi-styles": { @@ -6758,36 +6743,36 @@ } }, "node_modules/jest-runtime": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.2.tgz", - "integrity": "sha512-DO6F81LX4okOgjJLkLySv10E5YcV5NHUbY1ZqAUtofxdQE+q4hjH0P2gNsY8x3z3sqgw7O/+919SU4r18Fcuig==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.0.2", - "@jest/fake-timers": "^29.0.2", - "@jest/globals": "^29.0.2", - "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", - "@types/node": "*", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "dev": true, + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-mock": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-runtime/node_modules/ansi-styles": { @@ -6870,38 +6855,37 @@ } }, "node_modules/jest-snapshot": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.2.tgz", - "integrity": "sha512-26C4PzGKaX5gkoKg8UzYGVy2HPVcTaROSkf0gwnHu3lGeTB7bAIJBovvVPZoiJ20IximJELQs/r8WSDRCuGX2A==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.0.2", + "expect": "^28.1.3", "graceful-fs": "^4.2.9", - "jest-diff": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.0.2", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", "natural-compare": "^1.4.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "semver": "^7.3.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -6990,12 +6974,12 @@ } }, "node_modules/jest-util": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.2.tgz", - "integrity": "sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -7003,7 +6987,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -7077,20 +7061,20 @@ } }, "node_modules/jest-validate": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.2.tgz", - "integrity": "sha512-AeRKm7cEucSy7tr54r3LhiGIXYvOILUwBM1S7jQkKs6YelwAlWKsmZGVrQR7uwsd31rBTnR5NQkODi1Z+6TKIQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", + "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^29.0.2" + "pretty-format": "^28.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-validate/node_modules/ansi-styles": { @@ -7176,22 +7160,22 @@ } }, "node_modules/jest-watcher": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.2.tgz", - "integrity": "sha512-ds2bV0oyUdYoyrUTv4Ga5uptz4cEvmmP/JzqDyzZZanvrIn8ipxg5l3SDOAIiyuAx1VdHd2FBzeXPFO5KPH8vQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dev": true, "dependencies": { - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.0.2", + "jest-util": "^28.1.3", "string-length": "^4.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-watcher/node_modules/ansi-styles": { @@ -7265,9 +7249,9 @@ } }, "node_modules/jest-worker": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.2.tgz", - "integrity": "sha512-EyvBlYcvd2pg28yg5A3OODQnqK9LI1kitnGUZUG5/NYIeaRgewtYBKB5wlr7oXj8zPCkzev7EmnTCsrXK7V+Xw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dev": true, "dependencies": { "@types/node": "*", @@ -7275,7 +7259,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-worker/node_modules/has-flag": { @@ -8107,17 +8091,18 @@ } }, "node_modules/pretty-format": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.2.tgz", - "integrity": "sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -10640,15 +10625,6 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -11228,16 +11204,16 @@ "dev": true }, "@jest/console": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.2.tgz", - "integrity": "sha512-Fv02ijyhF4D/Wb3DvZO3iBJQz5DnzpJEIDBDbvje8Em099N889tNMUnBw7SalmSuOI+NflNG40RA1iK71kImPw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", "slash": "^3.0.0" }, "dependencies": { @@ -11293,37 +11269,38 @@ } }, "@jest/core": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.2.tgz", - "integrity": "sha512-imP5M6cdpHEOkmcuFYZuM5cTG1DAF7ZlVNCq1+F7kbqme2Jcl+Kh4M78hihM76DJHNkurbv4UVOnejGxBKEmww==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", "dev": true, "requires": { - "@jest/console": "^29.0.2", - "@jest/reporters": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/reporters": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.0.0", - "jest-config": "^29.0.2", - "jest-haste-map": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-resolve-dependencies": "^29.0.2", - "jest-runner": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", - "jest-watcher": "^29.0.2", + "jest-changed-files": "^28.1.3", + "jest-config": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-resolve-dependencies": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "jest-watcher": "^28.1.3", "micromatch": "^4.0.4", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", + "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -11380,74 +11357,73 @@ } }, "@jest/environment": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.2.tgz", - "integrity": "sha512-Yf+EYaLOrVCgts/aTS5nGznU4prZUPa5k9S63Yct8YSOKj2jkdS17hHSUKhk5jxDFMyCy1PXknypDw7vfgc/mA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", "dev": true, "requires": { - "@jest/fake-timers": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", - "jest-mock": "^29.0.2" + "jest-mock": "^28.1.3" } }, "@jest/expect": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.2.tgz", - "integrity": "sha512-y/3geZ92p2/zovBm/F+ZjXUJ3thvT9IRzD6igqaWskFE2aR0idD+N/p5Lj/ZautEox/9RwEc6nqergebeh72uQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", "dev": true, "requires": { - "expect": "^29.0.2", - "jest-snapshot": "^29.0.2" + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" } }, "@jest/expect-utils": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.2.tgz", - "integrity": "sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", + "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", "dev": true, "requires": { - "jest-get-type": "^29.0.0" + "jest-get-type": "^28.0.2" } }, "@jest/fake-timers": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.2.tgz", - "integrity": "sha512-2JhQeWU28fvmM5r33lxg6BxxkTKaVXs6KMaJ6eXSM8ml/MaWkt2BvbIO8G9KWAJFMdBXWbn+2h9OK1/s5urKZA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.2", - "jest-mock": "^29.0.2", - "jest-util": "^29.0.2" + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" } }, "@jest/globals": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.2.tgz", - "integrity": "sha512-4hcooSNJCVXuTu07/VJwCWW6HTnjLtQdqlcGisK6JST7z2ixa8emw4SkYsOk7j36WRc2ZUEydlUePnOIOTCNXg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", "dev": true, "requires": { - "@jest/environment": "^29.0.2", - "@jest/expect": "^29.0.2", - "@jest/types": "^29.0.2", - "jest-mock": "^29.0.2" + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" } }, "@jest/reporters": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.2.tgz", - "integrity": "sha512-Kr41qejRQHHkCgWHC9YwSe7D5xivqP4XML+PvgwsnRFaykKdNflDUb4+xLXySOU+O/bPkVdFpGzUpVNSJChCrw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", + "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/console": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -11459,9 +11435,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -11521,66 +11497,66 @@ } }, "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dev": true, "requires": { "@sinclair/typebox": "^0.24.1" } }, "@jest/source-map": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", - "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.15", + "@jridgewell/trace-mapping": "^0.3.13", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.2.tgz", - "integrity": "sha512-b5rDc0lLL6Kx73LyCx6370k9uZ8o5UKdCpMS6Za3ke7H9y8PtAU305y6TeghpBmf2In8p/qqi3GpftgzijSsNw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dev": true, "requires": { - "@jest/console": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.2.tgz", - "integrity": "sha512-fsyZqHBlXNMv5ZqjQwCuYa2pskXCO0DVxh5aaVCuAtwzHuYEGrhordyEncBLQNuCGQSYgElrEEmS+7wwFnnMKw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", + "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", "dev": true, "requires": { - "@jest/test-result": "^29.0.2", + "@jest/test-result": "^28.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", + "jest-haste-map": "^28.1.3", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.2.tgz", - "integrity": "sha512-lajVQx2AnsR+Pa17q2zR7eikz2PkPs1+g/qPbZkqQATeS/s6eT55H+yHcsLfuI/0YQ/4VSBepSu3bOX+44q0aA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.0.2", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.1.0", + "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.2", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -11639,12 +11615,12 @@ } }, "@jest/types": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.2.tgz", - "integrity": "sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dev": true, "requires": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -12052,9 +12028,9 @@ } }, "@sinclair/typebox": { - "version": "0.24.39", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.39.tgz", - "integrity": "sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ==", + "version": "0.24.41", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.41.tgz", + "integrity": "sha512-TJCgQurls4FipFvHeC+gfAzb+GGstL0TDwYJKQVtTeSvJIznWzP7g3bAd5gEBlr8+bIxqnWS9VGVWREDhmE8jA==", "dev": true }, "@sinonjs/commons": { @@ -12150,9 +12126,9 @@ } }, "@types/node": { - "version": "18.7.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", - "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", + "version": "18.7.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", + "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", "dev": true }, "@types/prettier": { @@ -12275,15 +12251,15 @@ "dev": true }, "babel-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.2.tgz", - "integrity": "sha512-yTu4/WSi/HzarjQtrJSwV+/0maoNt+iP0DmpvFJdv9yY+5BuNle8TbheHzzcSWj5gIHfuhpbLYHWRDYhWKyeKQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", + "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", "dev": true, "requires": { - "@jest/transform": "^29.0.2", + "@jest/transform": "^28.1.3", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.0.2", + "babel-preset-jest": "^28.1.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -12363,9 +12339,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", - "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", + "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -12425,12 +12401,12 @@ } }, "babel-preset-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", - "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", + "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^29.0.2", + "babel-plugin-jest-hoist": "^28.1.3", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -12868,9 +12844,9 @@ "dev": true }, "diff-sequences": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", - "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true }, "electron-to-chromium": { @@ -13145,16 +13121,16 @@ } }, "expect": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.2.tgz", - "integrity": "sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", "dev": true, "requires": { - "@jest/expect-utils": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" } }, "extend-shallow": { @@ -13879,21 +13855,21 @@ } }, "jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.2.tgz", - "integrity": "sha512-enziNbNUmXTcTaTP/Uq5rV91r0Yqy2UKzLUIabxMpGm9YHz8qpbJhiRnNVNvm6vzWfzt/0o97NEHH8/3udoClA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", "dev": true, "requires": { - "@jest/core": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", "import-local": "^3.0.2", - "jest-cli": "^29.0.2" + "jest-cli": "^28.1.3" } }, "jest-changed-files": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", - "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", + "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", "dev": true, "requires": { "execa": "^5.0.0", @@ -13901,28 +13877,28 @@ } }, "jest-circus": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.2.tgz", - "integrity": "sha512-YTPEsoE1P1X0bcyDQi3QIkpt2Wl9om9k2DQRuLFdS5x8VvAKSdYAVJufgvudhnKgM8WHvvAzhBE+1DRQB8x1CQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", "dev": true, "requires": { - "@jest/environment": "^29.0.2", - "@jest/expect": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.0.2", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", "p-limit": "^3.1.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -13979,21 +13955,21 @@ } }, "jest-cli": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.2.tgz", - "integrity": "sha512-tlf8b+4KcUbBGr25cywIi3+rbZ4+G+SiG8SvY552m9sRZbXPafdmQRyeVE/C/R8K+TiBAMrTIUmV2SlStRJ40g==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", + "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", "dev": true, "requires": { - "@jest/core": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/core": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-config": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -14050,31 +14026,31 @@ } }, "jest-config": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.2.tgz", - "integrity": "sha512-RU4gzeUNZAFktYVzDGimDxeYoaiTnH100jkYYZgldqFamaZukF0IqmFx8+QrzVeEWccYg10EEJT3ox1Dq5b74w==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", + "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.0.2", - "@jest/types": "^29.0.2", - "babel-jest": "^29.0.2", + "@jest/test-sequencer": "^28.1.3", + "@jest/types": "^28.1.3", + "babel-jest": "^28.1.3", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.0.2", - "jest-environment-node": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-runner": "^29.0.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-circus": "^28.1.3", + "jest-environment-node": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -14131,15 +14107,15 @@ } }, "jest-diff": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.2.tgz", - "integrity": "sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^29.0.0", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "dependencies": { "ansi-styles": { @@ -14194,25 +14170,25 @@ } }, "jest-docblock": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", - "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.2.tgz", - "integrity": "sha512-+sA9YjrJl35iCg0W0VCrgCVj+wGhDrrKQ+YAqJ/DHBC4gcDFAeePtRRhpJnX9gvOZ63G7gt52pwp2PesuSEx0Q==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", - "jest-util": "^29.0.2", - "pretty-format": "^29.0.2" + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" }, "dependencies": { "ansi-styles": { @@ -14267,17 +14243,17 @@ } }, "jest-environment-node": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.2.tgz", - "integrity": "sha512-4Fv8GXVCToRlMzDO94gvA8iOzKxQ7rhAbs8L+j8GPyTxGuUiYkV+63LecGeVdVhsL2KXih1sKnoqmH6tp89J7Q==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", + "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", "dev": true, "requires": { - "@jest/environment": "^29.0.2", - "@jest/fake-timers": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", - "jest-mock": "^29.0.2", - "jest-util": "^29.0.2" + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" } }, "jest-environment-uint8array": { @@ -14770,51 +14746,51 @@ } }, "jest-get-type": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", - "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true }, "jest-haste-map": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.2.tgz", - "integrity": "sha512-SOorh2ysQ0fe8gsF4gaUDhoMIWAvi2hXOkwThEO48qT3JqA8GLAUieQcIvdSEd6M0scRDe1PVmKc5tXR3Z0U0A==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.2.tgz", - "integrity": "sha512-5f0493qDeAxjUldkBSQg5D1cLadRgZVyWpTQvfJeQwQUpHQInE21AyVHVv64M7P2Ue8Z5EZ4BAcoDS/dSPPgMw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", + "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", "dev": true, "requires": { - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" } }, "jest-matcher-utils": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.2.tgz", - "integrity": "sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.0.2", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.2" + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "dependencies": { "ansi-styles": { @@ -14869,18 +14845,18 @@ } }, "jest-message-util": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.2.tgz", - "integrity": "sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -14937,12 +14913,12 @@ } }, "jest-mock": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.2.tgz", - "integrity": "sha512-giWXOIT23UCxHCN2VUfUJ0Q7SmiqQwfSFXlCaIhW5anITpNQ+3vuLPQdKt5wkuwM37GrbFyHIClce8AAK9ft9g==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*" } }, @@ -14954,23 +14930,23 @@ "requires": {} }, "jest-regex-util": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", - "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "dev": true }, "jest-resolve": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.2.tgz", - "integrity": "sha512-V3uLjSA+EHxLtjIDKTBXnY71hyx+8lusCqPXvqzkFO1uCGvVpjBfuOyp+KOLBNSuY61kM2jhepiMwt4eiJS+Vw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", + "jest-haste-map": "^28.1.3", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.0.2", - "jest-validate": "^29.0.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -15028,40 +15004,40 @@ } }, "jest-resolve-dependencies": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.2.tgz", - "integrity": "sha512-fSAu6eIG7wtGdnPJUkVVdILGzYAP9Dj/4+zvC8BrGe8msaUMJ9JeygU0Hf9+Uor6/icbuuzQn5See1uajLnAqg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", + "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", "dev": true, "requires": { - "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.0.2" + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" } }, "jest-runner": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.2.tgz", - "integrity": "sha512-+D82iPZejI8t+SfduOO1deahC/QgLFf8aJBO++Znz3l2ETtOMdM7K4ATsGWzCFnTGio5yHaRifg1Su5Ybza5Nw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", + "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", "dev": true, "requires": { - "@jest/console": "^29.0.2", - "@jest/environment": "^29.0.2", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/console": "^28.1.3", + "@jest/environment": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.0.2", - "jest-haste-map": "^29.0.2", - "jest-leak-detector": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-resolve": "^29.0.2", - "jest-runtime": "^29.0.2", - "jest-util": "^29.0.2", - "jest-watcher": "^29.0.2", - "jest-worker": "^29.0.2", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-leak-detector": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-resolve": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-util": "^28.1.3", + "jest-watcher": "^28.1.3", + "jest-worker": "^28.1.3", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -15118,31 +15094,31 @@ } }, "jest-runtime": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.2.tgz", - "integrity": "sha512-DO6F81LX4okOgjJLkLySv10E5YcV5NHUbY1ZqAUtofxdQE+q4hjH0P2gNsY8x3z3sqgw7O/+919SU4r18Fcuig==", - "dev": true, - "requires": { - "@jest/environment": "^29.0.2", - "@jest/fake-timers": "^29.0.2", - "@jest/globals": "^29.0.2", - "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", - "@types/node": "*", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "dev": true, + "requires": { + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-mock": "^29.0.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.2", - "jest-snapshot": "^29.0.2", - "jest-util": "^29.0.2", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -15205,34 +15181,33 @@ "dev": true }, "jest-snapshot": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.2.tgz", - "integrity": "sha512-26C4PzGKaX5gkoKg8UzYGVy2HPVcTaROSkf0gwnHu3lGeTB7bAIJBovvVPZoiJ20IximJELQs/r8WSDRCuGX2A==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.0.2", - "@jest/transform": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.0.2", + "expect": "^28.1.3", "graceful-fs": "^4.2.9", - "jest-diff": "^29.0.2", - "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.0.2", - "jest-matcher-utils": "^29.0.2", - "jest-message-util": "^29.0.2", - "jest-util": "^29.0.2", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", "natural-compare": "^1.4.0", - "pretty-format": "^29.0.2", + "pretty-format": "^28.1.3", "semver": "^7.3.5" }, "dependencies": { @@ -15297,12 +15272,12 @@ } }, "jest-util": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.2.tgz", - "integrity": "sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -15362,17 +15337,17 @@ } }, "jest-validate": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.2.tgz", - "integrity": "sha512-AeRKm7cEucSy7tr54r3LhiGIXYvOILUwBM1S7jQkKs6YelwAlWKsmZGVrQR7uwsd31rBTnR5NQkODi1Z+6TKIQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", "dev": true, "requires": { - "@jest/types": "^29.0.2", + "@jest/types": "^28.1.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", + "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^29.0.2" + "pretty-format": "^28.1.3" }, "dependencies": { "ansi-styles": { @@ -15433,18 +15408,18 @@ } }, "jest-watcher": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.2.tgz", - "integrity": "sha512-ds2bV0oyUdYoyrUTv4Ga5uptz4cEvmmP/JzqDyzZZanvrIn8ipxg5l3SDOAIiyuAx1VdHd2FBzeXPFO5KPH8vQ==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dev": true, "requires": { - "@jest/test-result": "^29.0.2", - "@jest/types": "^29.0.2", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.0.2", + "jest-util": "^28.1.3", "string-length": "^4.0.1" }, "dependencies": { @@ -15500,9 +15475,9 @@ } }, "jest-worker": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.2.tgz", - "integrity": "sha512-EyvBlYcvd2pg28yg5A3OODQnqK9LI1kitnGUZUG5/NYIeaRgewtYBKB5wlr7oXj8zPCkzev7EmnTCsrXK7V+Xw==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dev": true, "requires": { "@types/node": "*", @@ -16139,12 +16114,13 @@ "dev": true }, "pretty-format": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.2.tgz", - "integrity": "sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg==", + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dev": true, "requires": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, diff --git a/lib/js/test/package.json b/lib/js/test/package.json index e450a0a7b..325c70d5f 100644 --- a/lib/js/test/package.json +++ b/lib/js/test/package.json @@ -14,12 +14,12 @@ "author": "", "license": "ISC", "devDependencies": { - "@babel/core": "^7.19.0", - "@babel/preset-env": "^7.19.0", - "babel-jest": "^29.0.2", + "@babel/core": "^7.18.10", + "@babel/preset-env": "^7.18.10", + "babel-jest": "^28.1.3", "@onflow/flow-js-testing": "^0.3.0-alpha.15", - "jest": "^29.0.2", - "jest-environment-node": "^29.0.2" + "jest": "^28.1.3", + "jest-environment-node": "^28.1.3" }, "dependencies": { "@onflow/flow-js-testing": "^0.3.0-alpha.15" diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index 86cfe09cc..a2831a761 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -1,7 +1,57 @@ +import path from "path"; import { expect } from "@jest/globals"; +import { + deployContractByName, + emulator, + getAccountAddress, + init, + sendTransaction, + shallPass, + shallRevert, +} from "@onflow/flow-js-testing"; + +// Set basepath of the project +const BASE_PATH = path.resolve(__dirname, "./../../../../"); describe("ExecutionNodeVersionBeacon Contract Tests", () => { - test("", async () => { - expect(0).toEqual(0) + + // Setup each test + beforeEach(async () => { + const logging = false; + + await init(BASE_PATH); + return emulator.start({ logging }); + }); + + // Stop the emulator after each test + afterEach(async () => { + return emulator.stop(); + }) + + // ! - ISSUE: getAccountAddress() Results in `Cannot read properties of undefined (reading 'replace')...` + test("getAccountAddress breaks", async () => { + const testAddress = await getAccountAddress("TestAddress"); + }); + + test("Deploy ExecutionNodeVersionBeacon successfully with proper initialization", async () => { + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + const i = 2; + await deployContract(ExecNodeVersionBeaconAcct); + expect(0).toEqual(0); }); }); + +// Deploys the ExecutionNodeVersionBeacon to the passed account +async function deployContract(account) { + try { + const [result, deployError] = await shallPass( + deployContractByName({ + to: account, + name: "ExecutionNodeVersionBeacon" + }) + ); + } catch (error) { + throw error; + }; +}; diff --git a/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc b/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc new file mode 100644 index 000000000..acfc7f99a --- /dev/null +++ b/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc @@ -0,0 +1,14 @@ +// Deploys ExecutionNodeVersionBeacon contract passed as bytecode + +transaction(envbName: String, envbCode: [UInt8], initialVersionUpdateBuffer: UInt64, initialVersionUpdateBufferVariance: UFix64) { + + prepare(signer: AuthAccount) { + + signer.contracts.add( + name: envbName, + code: envbCode, + versionUpdateBuffer: initialVersionUpdateBuffer, + versionUpdateBufferVariance: initialVersionUpdateBufferVariance + ) + } +} \ No newline at end of file From 8f5feb559da56fee7af67bbb1f8e468d76b86621 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Wed, 14 Sep 2022 16:56:50 -0500 Subject: [PATCH 08/21] JS tests working. Added script templates & getter for versionBufferVariance --- contracts/ExecutionNodeVersionBeacon.cdc | 6 + lib/js/test/package-lock.json | 948 +++++++++++++----- lib/js/test/package.json | 6 +- lib/js/test/templates/script_templates.js | 40 + ...xecution_node_version_beacon_tests.test.js | 46 +- .../deploy_execution_node_version_beacon.cdc | 14 - .../get_version_update_buffer_variance.cdc | 5 + 7 files changed, 797 insertions(+), 268 deletions(-) create mode 100644 lib/js/test/templates/script_templates.js delete mode 100644 transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 29bad275a..17d206872 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -247,6 +247,12 @@ pub contract ExecutionNodeVersionBeacon { return self.versionUpdateBuffer } + /// Returns the current updateBuffer period within which Execution Nodes + /// can be assured the version will not change + pub fun getVersionUpdateBufferVariance(): UFix64 { + return self.versionUpdateBufferVariance + } + /// Returns a copy of the full historical versionTable pub fun getVersionTable(): {UInt64: Semver} { return self.versionTable diff --git a/lib/js/test/package-lock.json b/lib/js/test/package-lock.json index d8ab06b96..3b98cabc8 100644 --- a/lib/js/test/package-lock.json +++ b/lib/js/test/package-lock.json @@ -9,12 +9,12 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@onflow/flow-js-testing": "^0.3.0-alpha.14" + "@onflow/flow-js-testing": "0.3.0-alpha.13" }, "devDependencies": { "@babel/core": "^7.18.10", "@babel/preset-env": "^7.18.10", - "@onflow/flow-js-testing": "^0.3.0-alpha.14", + "@onflow/flow-js-testing": "0.3.0-alpha.13", "babel-jest": "^28.1.3", "jest": "^28.1.3", "jest-environment-node": "^28.1.3" @@ -46,29 +46,29 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz", + "integrity": "sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz", + "integrity": "sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.1", "@babel/helper-module-transforms": "^7.19.0", "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", + "@babel/parser": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", + "@babel/traverse": "^7.19.1", "@babel/types": "^7.19.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", @@ -138,14 +138,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz", + "integrity": "sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.0", + "@babel/compat-data": "^7.19.1", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -193,9 +193,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.17.7", @@ -338,16 +338,16 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -399,9 +399,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -460,9 +460,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz", + "integrity": "sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -504,9 +504,9 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz", - "integrity": "sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", @@ -1278,9 +1278,9 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz", - "integrity": "sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.19.0", @@ -1493,18 +1493,18 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz", - "integrity": "sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.1.tgz", + "integrity": "sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/compat-data": "^7.19.1", + "@babel/helper-compilation-targets": "^7.19.1", "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.0", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -1552,7 +1552,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.18.6", "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", "@babel/plugin-transform-parameters": "^7.18.8", @@ -1568,10 +1568,10 @@ "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -1624,9 +1624,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz", + "integrity": "sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", @@ -1635,7 +1635,7 @@ "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", + "@babel/parser": "^7.19.1", "@babel/types": "^7.19.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -1680,6 +1680,27 @@ "node": ">=0.1.95" } }, + "node_modules/@improbable-eng/grpc-web": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz", + "integrity": "sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw==", + "dev": true, + "dependencies": { + "browser-headers": "^0.4.1" + }, + "peerDependencies": { + "google-protobuf": "^3.14.0" + } + }, + "node_modules/@improbable-eng/grpc-web-node-http-transport": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.14.1.tgz", + "integrity": "sha512-ZsCTzI1iKUbmQjB5DNZSI5/hvdliuaPpS2h8mVj1QzynL3IFb5NrNnHVHbfcH1wbm26Ka6Z1CrKFGvKLrmbFIg==", + "dev": true, + "peerDependencies": { + "@improbable-eng/grpc-web": ">=0.13.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2433,21 +2454,27 @@ "dev": true }, "node_modules/@onflow/flow-cadut": { - "version": "0.2.0-alpha.8", - "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.8.tgz", - "integrity": "sha512-gKVhHXhlE46zM16BueaK4ysIxzqXWC2/Tar5vJPwsh2KptnDeNCL4yQ3RM56GSEWElxBLNCARJB7UuChgPfzKQ==", + "version": "0.2.0-alpha.7", + "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.7.tgz", + "integrity": "sha512-FQZghm6RJuvrO2uvCKne9efq0jTiKujGetANCXAXjTwlAQ8OqL5gTbo6dAtXYFx7sHshHaekRCZOygpOk6XOEQ==", "dev": true, "dependencies": { - "@babel/runtime": "^7.18.6", "@onflow/config": "0.0.2", - "@onflow/fcl": "^1.1.1-alpha.2", + "@onflow/fcl": "^0.0.78", + "@onflow/types": "^0.0.6", "elliptic": "^6.5.4", "esm": "^3.2.25", + "handlebars": "^4.7.7", + "handlebars-loader": "^1.7.1", + "prettier": "^2.3.0", "rimraf": "^3.0.2", "rlp": "^3.0.0", "sha3": "^2.1.4", "simple-git": "^2.40.0", "yargs": "^15.4.1" + }, + "bin": { + "flow-generate": "bin/generate.js" } }, "node_modules/@onflow/flow-cadut/node_modules/@onflow/config": { @@ -2459,6 +2486,53 @@ "@onflow/util-actor": "0.0.2" } }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/fcl": { + "version": "0.0.78", + "resolved": "https://registry.npmjs.org/@onflow/fcl/-/fcl-0.0.78.tgz", + "integrity": "sha512-zWtzCjG2URWXLblSsXiSKr3qBroq2BSVGsZrWeosbmup/03fb/MJ10w3ECF83Cd2m/M0TevSSp+hcpdBVLZSfw==", + "dev": true, + "dependencies": { + "@onflow/interaction": "0.0.11", + "@onflow/rlp": "0.0.3", + "@onflow/sdk": "0.0.56", + "@onflow/types": "0.0.6", + "@onflow/util-actor": "0.0.2", + "@onflow/util-address": "0.0.0", + "@onflow/util-invariant": "0.0.0", + "@onflow/util-template": "0.0.1", + "@onflow/util-uid": "0.0.1" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/rlp": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-0.0.3.tgz", + "integrity": "sha512-oAf0VEiMjX8eC6Vd66j1BdGYTHOM6UBaS/sLSScnc7bKX5gICqe2gtEsCeJVE9rUzRk3GD3JqXRnPAW6YFWd/Q==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/sdk": { + "version": "0.0.56", + "resolved": "https://registry.npmjs.org/@onflow/sdk/-/sdk-0.0.56.tgz", + "integrity": "sha512-yYOE+5Tvgprqo01vSxIgYTu4fO6sDFfyueVYFgzXx/F0fdHqy0zfAq+gEVjtWG+LvVD/YvR8eRbcBpfvXu1USA==", + "dev": true, + "dependencies": { + "@improbable-eng/grpc-web": "^0.14.0", + "@improbable-eng/grpc-web-node-http-transport": "^0.14.0", + "@onflow/protobuf": "^0.1.8", + "@onflow/rlp": "^0.0.3", + "@onflow/util-actor": "0.0.2", + "@onflow/util-address": "^0.0.0", + "@onflow/util-invariant": "^0.0.0", + "@onflow/util-template": "0.0.1", + "deepmerge": "^4.2.2", + "sha3": "^2.1.4" + } + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/types": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@onflow/types/-/types-0.0.6.tgz", + "integrity": "sha512-2eBrmqiFO37EUOJvzksygP8Wu6lL/m9az36AF0qYdGQW/79KGCHBCchUsIzxyGt8UDXl/dgnIcMkiTH7tWZqXg==", + "dev": true + }, "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-actor": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-0.0.2.tgz", @@ -2468,6 +2542,30 @@ "queue-microtask": "1.1.2" } }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-address": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@onflow/util-address/-/util-address-0.0.0.tgz", + "integrity": "sha512-Lzbw/wV3O1fmfXYF2q6iGLgHz/7ATsLXOHceP5tzeEAKNf+srdtTNJv5jhNGhpFFAtQ6TcomXURVMhUg+/4YbA==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-invariant": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@onflow/util-invariant/-/util-invariant-0.0.0.tgz", + "integrity": "sha512-ZCt+NqLdeHt9tZhb0DGxo6iSIS9oNUpLkd0PEMzUYUHr4UwrUO7VruV1AUW3PaF9V78DZ13fNZUiQEzdF76O/w==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-template": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/util-template/-/util-template-0.0.1.tgz", + "integrity": "sha512-qlJ0oq+QujnZRCOGYaw5OKSDpiDIOpwQMYlMe4Mbz//Wn+LOmUghoKZGmRP+YCgp7BJ4aB6AWW/7kL83NDy50A==", + "dev": true + }, + "node_modules/@onflow/flow-cadut/node_modules/@onflow/util-uid": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/util-uid/-/util-uid-0.0.1.tgz", + "integrity": "sha512-SzBscBdyn1Zoks0Wo/w7J/Ds9IZ/T+KM/wyWMwWla4PnxwBFviy1BytEQY+sM5q1UNOvaGWgGEoRmH/oOCcglA==", + "dev": true + }, "node_modules/@onflow/flow-cadut/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2577,22 +2675,22 @@ } }, "node_modules/@onflow/flow-js-testing": { - "version": "0.3.0-alpha.15", - "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.15.tgz", - "integrity": "sha512-phYtDbj01TvKn+zVn+DAzt1ePCmroeEtlh5n0s5e0RJZZu78xvpuazgE3gAoezI9fgNSAYOT7GR3KrD25e1sVg==", + "version": "0.3.0-alpha.13", + "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.13.tgz", + "integrity": "sha512-vxyz6FViRfoS2H/BFAF+xbhRs5kQcu0p5Z9uhh19b4Xr4neK8oL21k5FajpKeKSqlO2zTsaHzmyf6E+2L55ECA==", "dev": true, "dependencies": { - "@onflow/fcl": "^1.2.1-alpha.0", + "@onflow/config": "^1.0.3-alpha.0", + "@onflow/fcl": "^1.1.1-alpha.1", "@onflow/fcl-config": "^0.0.1", - "@onflow/flow-cadut": "0.2.0-alpha.8", + "@onflow/flow-cadut": "0.2.0-alpha.7", "@onflow/types": "^1.0.3-alpha.0", "elliptic": "^6.5.4", "esm": "^3.2.25", "jest-environment-uint8array": "^1.0.0", - "js-sha256": "^0.9.0", - "js-sha3": "^0.8.0", "rimraf": "^3.0.2", "rlp": "^2.2.6", + "sha3": "^2.1.4", "yargs": "^17.0.1" }, "bin": { @@ -2605,6 +2703,28 @@ "integrity": "sha512-Xuq1Mmx6Wyba/F/L+QLQs0yJeQDsIDwy5SKk5vrCuVgIj0yD8k506g5L8ODrbM1LWll8i0tQsoOi0F85vNl5sA==", "dev": true }, + "node_modules/@onflow/protobuf": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@onflow/protobuf/-/protobuf-0.1.8.tgz", + "integrity": "sha512-Taww31RrpJMr3fkWgF2HR2TcRbAoPbMjwRYt9IlYknyRX5YTzpaU35petdqDRfxwmfY9mRxHbiInujX4aV02Hw==", + "dev": true, + "dependencies": { + "@improbable-eng/grpc-web": "^0.12.0", + "google-protobuf": "^3.11.4" + } + }, + "node_modules/@onflow/protobuf/node_modules/@improbable-eng/grpc-web": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.12.0.tgz", + "integrity": "sha512-uJjgMPngreRTYPBuo6gswMj1gK39Wbqre/RgE0XnSDXJRg6ST7ZhuS53dFE6Vc2CX4jxgl+cO+0B3op8LA4Q0Q==", + "dev": true, + "dependencies": { + "browser-headers": "^0.4.0" + }, + "peerDependencies": { + "google-protobuf": "^3.2.0" + } + }, "node_modules/@onflow/rlp": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-1.0.2.tgz", @@ -2966,6 +3086,12 @@ "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -3110,13 +3236,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -3124,25 +3250,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -3243,6 +3369,15 @@ } ] }, + "node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -3287,6 +3422,12 @@ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, + "node_modules/browser-headers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz", + "integrity": "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==", + "dev": true + }, "node_modules/browserslist": { "version": "4.21.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", @@ -3406,9 +3547,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001393", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz", - "integrity": "sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==", + "version": "1.0.30001399", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz", + "integrity": "sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA==", "dev": true, "funding": [ { @@ -3776,9 +3917,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.246", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz", - "integrity": "sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA==", + "version": "1.4.249", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz", + "integrity": "sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ==", "dev": true }, "node_modules/elliptic": { @@ -3814,6 +3955,15 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -4203,6 +4353,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, "node_modules/fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -4346,9 +4502,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -4434,12 +4590,54 @@ "node": ">=4" } }, + "node_modules/google-protobuf": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.0.tgz", + "integrity": "sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g==", + "dev": true + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars-loader": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/handlebars-loader/-/handlebars-loader-1.7.2.tgz", + "integrity": "sha512-rEzru8REzqeJlbotJD+gPQ8AHyxcAjeXbGqGmrz3+sbjecI0ungieONwMR27Htr+AoKI5W36oPLwcwGrPzO8gw==", + "dev": true, + "dependencies": { + "async": "^3.2.2", + "fastparse": "^1.0.0", + "loader-utils": "1.0.x", + "object-assign": "^4.1.0" + }, + "peerDependencies": { + "handlebars": ">= 1.3.0 < 5" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4754,9 +4952,9 @@ "dev": true }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.5.tgz", + "integrity": "sha512-ZIWRujF6MvYGkEuHMYtFRkL2wAtFw89EHfKlXrkPkjQZZRWeh9L1q3SV13NIfHnqxugjLvAOkEHx9mb1zcMnEw==", "dev": true, "engines": { "node": ">= 0.4" @@ -7286,18 +7484,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-sha256": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", - "dev": true - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7423,6 +7609,29 @@ "node": ">=4" } }, + "node_modules/loader-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.4.tgz", + "integrity": "sha512-TMS4PQ0+m0xyRGBunvDQIdhWJY6JOYeEPpHZEW0EmDhqKrQUj04xiMT3jsdVS17pUg0JzX1mJI3QiV8lXjoEng==", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7634,6 +7843,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -7714,6 +7929,15 @@ "node": ">=8" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -8090,6 +8314,21 @@ "node": ">=0.10.0" } }, + "node_modules/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-format": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", @@ -8259,9 +8498,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -8316,15 +8555,15 @@ } }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -8333,15 +8572,15 @@ } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -9634,6 +9873,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/uglify-js": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", + "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -9681,9 +9933,9 @@ } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" @@ -9762,9 +10014,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", "dev": true, "funding": [ { @@ -9905,6 +10157,12 @@ "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -10050,26 +10308,26 @@ } }, "@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz", + "integrity": "sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg==", "dev": true }, "@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz", + "integrity": "sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.1", "@babel/helper-module-transforms": "^7.19.0", "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", + "@babel/parser": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", + "@babel/traverse": "^7.19.1", "@babel/types": "^7.19.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", @@ -10122,14 +10380,14 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz", + "integrity": "sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg==", "dev": true, "requires": { - "@babel/compat-data": "^7.19.0", + "@babel/compat-data": "^7.19.1", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" } }, @@ -10159,9 +10417,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.17.7", @@ -10268,16 +10526,16 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { @@ -10314,9 +10572,9 @@ "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { @@ -10360,9 +10618,9 @@ } }, "@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz", + "integrity": "sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -10386,9 +10644,9 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz", - "integrity": "sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", @@ -10893,9 +11151,9 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz", - "integrity": "sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.19.0", @@ -11024,18 +11282,18 @@ } }, "@babel/preset-env": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz", - "integrity": "sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.1.tgz", + "integrity": "sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA==", "dev": true, "requires": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/compat-data": "^7.19.1", + "@babel/helper-compilation-targets": "^7.19.1", "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.0", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -11083,7 +11341,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.18.6", "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", "@babel/plugin-transform-parameters": "^7.18.8", @@ -11099,10 +11357,10 @@ "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" } }, @@ -11140,9 +11398,9 @@ } }, "@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz", + "integrity": "sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", @@ -11151,7 +11409,7 @@ "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", + "@babel/parser": "^7.19.1", "@babel/types": "^7.19.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -11184,6 +11442,22 @@ "minimist": "^1.2.0" } }, + "@improbable-eng/grpc-web": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz", + "integrity": "sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw==", + "dev": true, + "requires": { + "browser-headers": "^0.4.1" + } + }, + "@improbable-eng/grpc-web-node-http-transport": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.14.1.tgz", + "integrity": "sha512-ZsCTzI1iKUbmQjB5DNZSI5/hvdliuaPpS2h8mVj1QzynL3IFb5NrNnHVHbfcH1wbm26Ka6Z1CrKFGvKLrmbFIg==", + "dev": true, + "requires": {} + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -11769,16 +12043,19 @@ "dev": true }, "@onflow/flow-cadut": { - "version": "0.2.0-alpha.8", - "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.8.tgz", - "integrity": "sha512-gKVhHXhlE46zM16BueaK4ysIxzqXWC2/Tar5vJPwsh2KptnDeNCL4yQ3RM56GSEWElxBLNCARJB7UuChgPfzKQ==", + "version": "0.2.0-alpha.7", + "resolved": "https://registry.npmjs.org/@onflow/flow-cadut/-/flow-cadut-0.2.0-alpha.7.tgz", + "integrity": "sha512-FQZghm6RJuvrO2uvCKne9efq0jTiKujGetANCXAXjTwlAQ8OqL5gTbo6dAtXYFx7sHshHaekRCZOygpOk6XOEQ==", "dev": true, "requires": { - "@babel/runtime": "^7.18.6", "@onflow/config": "0.0.2", - "@onflow/fcl": "^1.1.1-alpha.2", + "@onflow/fcl": "^0.0.78", + "@onflow/types": "^0.0.6", "elliptic": "^6.5.4", "esm": "^3.2.25", + "handlebars": "^4.7.7", + "handlebars-loader": "^1.7.1", + "prettier": "^2.3.0", "rimraf": "^3.0.2", "rlp": "^3.0.0", "sha3": "^2.1.4", @@ -11795,6 +12072,53 @@ "@onflow/util-actor": "0.0.2" } }, + "@onflow/fcl": { + "version": "0.0.78", + "resolved": "https://registry.npmjs.org/@onflow/fcl/-/fcl-0.0.78.tgz", + "integrity": "sha512-zWtzCjG2URWXLblSsXiSKr3qBroq2BSVGsZrWeosbmup/03fb/MJ10w3ECF83Cd2m/M0TevSSp+hcpdBVLZSfw==", + "dev": true, + "requires": { + "@onflow/interaction": "0.0.11", + "@onflow/rlp": "0.0.3", + "@onflow/sdk": "0.0.56", + "@onflow/types": "0.0.6", + "@onflow/util-actor": "0.0.2", + "@onflow/util-address": "0.0.0", + "@onflow/util-invariant": "0.0.0", + "@onflow/util-template": "0.0.1", + "@onflow/util-uid": "0.0.1" + } + }, + "@onflow/rlp": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-0.0.3.tgz", + "integrity": "sha512-oAf0VEiMjX8eC6Vd66j1BdGYTHOM6UBaS/sLSScnc7bKX5gICqe2gtEsCeJVE9rUzRk3GD3JqXRnPAW6YFWd/Q==", + "dev": true + }, + "@onflow/sdk": { + "version": "0.0.56", + "resolved": "https://registry.npmjs.org/@onflow/sdk/-/sdk-0.0.56.tgz", + "integrity": "sha512-yYOE+5Tvgprqo01vSxIgYTu4fO6sDFfyueVYFgzXx/F0fdHqy0zfAq+gEVjtWG+LvVD/YvR8eRbcBpfvXu1USA==", + "dev": true, + "requires": { + "@improbable-eng/grpc-web": "^0.14.0", + "@improbable-eng/grpc-web-node-http-transport": "^0.14.0", + "@onflow/protobuf": "^0.1.8", + "@onflow/rlp": "^0.0.3", + "@onflow/util-actor": "0.0.2", + "@onflow/util-address": "^0.0.0", + "@onflow/util-invariant": "^0.0.0", + "@onflow/util-template": "0.0.1", + "deepmerge": "^4.2.2", + "sha3": "^2.1.4" + } + }, + "@onflow/types": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@onflow/types/-/types-0.0.6.tgz", + "integrity": "sha512-2eBrmqiFO37EUOJvzksygP8Wu6lL/m9az36AF0qYdGQW/79KGCHBCchUsIzxyGt8UDXl/dgnIcMkiTH7tWZqXg==", + "dev": true + }, "@onflow/util-actor": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/@onflow/util-actor/-/util-actor-0.0.2.tgz", @@ -11804,6 +12128,30 @@ "queue-microtask": "1.1.2" } }, + "@onflow/util-address": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@onflow/util-address/-/util-address-0.0.0.tgz", + "integrity": "sha512-Lzbw/wV3O1fmfXYF2q6iGLgHz/7ATsLXOHceP5tzeEAKNf+srdtTNJv5jhNGhpFFAtQ6TcomXURVMhUg+/4YbA==", + "dev": true + }, + "@onflow/util-invariant": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@onflow/util-invariant/-/util-invariant-0.0.0.tgz", + "integrity": "sha512-ZCt+NqLdeHt9tZhb0DGxo6iSIS9oNUpLkd0PEMzUYUHr4UwrUO7VruV1AUW3PaF9V78DZ13fNZUiQEzdF76O/w==", + "dev": true + }, + "@onflow/util-template": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/util-template/-/util-template-0.0.1.tgz", + "integrity": "sha512-qlJ0oq+QujnZRCOGYaw5OKSDpiDIOpwQMYlMe4Mbz//Wn+LOmUghoKZGmRP+YCgp7BJ4aB6AWW/7kL83NDy50A==", + "dev": true + }, + "@onflow/util-uid": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@onflow/util-uid/-/util-uid-0.0.1.tgz", + "integrity": "sha512-SzBscBdyn1Zoks0Wo/w7J/Ds9IZ/T+KM/wyWMwWla4PnxwBFviy1BytEQY+sM5q1UNOvaGWgGEoRmH/oOCcglA==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11894,22 +12242,22 @@ } }, "@onflow/flow-js-testing": { - "version": "0.3.0-alpha.15", - "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.15.tgz", - "integrity": "sha512-phYtDbj01TvKn+zVn+DAzt1ePCmroeEtlh5n0s5e0RJZZu78xvpuazgE3gAoezI9fgNSAYOT7GR3KrD25e1sVg==", + "version": "0.3.0-alpha.13", + "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.13.tgz", + "integrity": "sha512-vxyz6FViRfoS2H/BFAF+xbhRs5kQcu0p5Z9uhh19b4Xr4neK8oL21k5FajpKeKSqlO2zTsaHzmyf6E+2L55ECA==", "dev": true, "requires": { - "@onflow/fcl": "^1.2.1-alpha.0", + "@onflow/config": "^1.0.3-alpha.0", + "@onflow/fcl": "^1.1.1-alpha.1", "@onflow/fcl-config": "^0.0.1", - "@onflow/flow-cadut": "0.2.0-alpha.8", + "@onflow/flow-cadut": "0.2.0-alpha.7", "@onflow/types": "^1.0.3-alpha.0", "elliptic": "^6.5.4", "esm": "^3.2.25", "jest-environment-uint8array": "^1.0.0", - "js-sha256": "^0.9.0", - "js-sha3": "^0.8.0", "rimraf": "^3.0.2", "rlp": "^2.2.6", + "sha3": "^2.1.4", "yargs": "^17.0.1" } }, @@ -11919,6 +12267,27 @@ "integrity": "sha512-Xuq1Mmx6Wyba/F/L+QLQs0yJeQDsIDwy5SKk5vrCuVgIj0yD8k506g5L8ODrbM1LWll8i0tQsoOi0F85vNl5sA==", "dev": true }, + "@onflow/protobuf": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@onflow/protobuf/-/protobuf-0.1.8.tgz", + "integrity": "sha512-Taww31RrpJMr3fkWgF2HR2TcRbAoPbMjwRYt9IlYknyRX5YTzpaU35petdqDRfxwmfY9mRxHbiInujX4aV02Hw==", + "dev": true, + "requires": { + "@improbable-eng/grpc-web": "^0.12.0", + "google-protobuf": "^3.11.4" + }, + "dependencies": { + "@improbable-eng/grpc-web": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.12.0.tgz", + "integrity": "sha512-uJjgMPngreRTYPBuo6gswMj1gK39Wbqre/RgE0XnSDXJRg6ST7ZhuS53dFE6Vc2CX4jxgl+cO+0B3op8LA4Q0Q==", + "dev": true, + "requires": { + "browser-headers": "^0.4.0" + } + } + } + }, "@onflow/rlp": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@onflow/rlp/-/rlp-1.0.2.tgz", @@ -12244,6 +12613,12 @@ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -12351,33 +12726,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "babel-preset-current-node-syntax": { @@ -12448,6 +12823,12 @@ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -12489,6 +12870,12 @@ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, + "browser-headers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz", + "integrity": "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==", + "dev": true + }, "browserslist": { "version": "4.21.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", @@ -12566,9 +12953,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001393", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz", - "integrity": "sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==", + "version": "1.0.30001399", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz", + "integrity": "sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA==", "dev": true }, "capture-exit": { @@ -12850,9 +13237,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.246", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz", - "integrity": "sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA==", + "version": "1.4.249", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz", + "integrity": "sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ==", "dev": true }, "elliptic": { @@ -12882,6 +13269,12 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -13191,6 +13584,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -13300,9 +13699,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -13358,12 +13757,43 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, + "google-protobuf": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.0.tgz", + "integrity": "sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g==", + "dev": true + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "handlebars-loader": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/handlebars-loader/-/handlebars-loader-1.7.2.tgz", + "integrity": "sha512-rEzru8REzqeJlbotJD+gPQ8AHyxcAjeXbGqGmrz3+sbjecI0ungieONwMR27Htr+AoKI5W36oPLwcwGrPzO8gw==", + "dev": true, + "requires": { + "async": "^3.2.2", + "fastparse": "^1.0.0", + "loader-utils": "1.0.x", + "object-assign": "^4.1.0" + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -13599,9 +14029,9 @@ "dev": true }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.5.tgz", + "integrity": "sha512-ZIWRujF6MvYGkEuHMYtFRkL2wAtFw89EHfKlXrkPkjQZZRWeh9L1q3SV13NIfHnqxugjLvAOkEHx9mb1zcMnEw==", "dev": true }, "is-ci": { @@ -15502,18 +15932,6 @@ } } }, - "js-sha256": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -15608,6 +16026,25 @@ } } }, + "loader-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.4.tgz", + "integrity": "sha512-TMS4PQ0+m0xyRGBunvDQIdhWJY6JOYeEPpHZEW0EmDhqKrQUj04xiMT3jsdVS17pUg0JzX1mJI3QiV8lXjoEng==", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + } + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -15780,6 +16217,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -15842,6 +16285,12 @@ "path-key": "^3.0.0" } }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -16113,6 +16562,12 @@ "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, + "prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true + }, "pretty-format": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", @@ -16247,9 +16702,9 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" @@ -16292,29 +16747,29 @@ } }, "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -17338,6 +17793,13 @@ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, + "uglify-js": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", + "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "dev": true, + "optional": true + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -17373,9 +17835,9 @@ "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "union-value": { @@ -17439,9 +17901,9 @@ } }, "update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -17547,6 +18009,12 @@ "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/lib/js/test/package.json b/lib/js/test/package.json index 325c70d5f..d868d47b3 100644 --- a/lib/js/test/package.json +++ b/lib/js/test/package.json @@ -6,7 +6,7 @@ "scripts": { "test": "jest" }, - "files" : [ + "files": [ "../../../contracts/*", "../../../transactions/*" ], @@ -16,12 +16,12 @@ "devDependencies": { "@babel/core": "^7.18.10", "@babel/preset-env": "^7.18.10", + "@onflow/flow-js-testing": "0.3.0-alpha.13", "babel-jest": "^28.1.3", - "@onflow/flow-js-testing": "^0.3.0-alpha.15", "jest": "^28.1.3", "jest-environment-node": "^28.1.3" }, "dependencies": { - "@onflow/flow-js-testing": "^0.3.0-alpha.15" + "@onflow/flow-js-testing": "0.3.0-alpha.13" } } diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js new file mode 100644 index 000000000..350ee1a98 --- /dev/null +++ b/lib/js/test/templates/script_templates.js @@ -0,0 +1,40 @@ +import fs from "fs"; +import path from "path"; +import { expect } from "@jest/globals"; +import { executeScript } from "@onflow/flow-js-testing"; + +export const SCRIPT_FILENAMES = { + getCurrentMinimumExecutionNodeVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", + getNextVersionBoundaryPairFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", + getVersionTableFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc", + getVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", + getVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", + isCompatibleVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc", +} + +// Executes get_current_minimum_execution_node_version script +export async function executeScriptByFilename(filename, args) { + const code = readScriptFile( + filename, + args + ); + + const [result, err] = await executeScript({ code }); + expect(err).toBeNull(); + return result; +} + +function readScriptFile(filename) { + try { + return fs.readFileSync( + path.resolve( + __dirname, + filename + ), + {encoding:'utf8', flag:'r'} + ); + } catch (error) { + throw error + } + +}; diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index a2831a761..07ccb1ccb 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -9,6 +9,10 @@ import { shallPass, shallRevert, } from "@onflow/flow-js-testing"; +import { + executeGetVersionUpdateBufferScript, + executeGetVersionUpdateBufferVarianceScript, executeScriptByFilename, SCRIPT_FILENAMES +} from "../templates/script_templates"; // Set basepath of the project const BASE_PATH = path.resolve(__dirname, "./../../../../"); @@ -28,27 +32,47 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { return emulator.stop(); }) - // ! - ISSUE: getAccountAddress() Results in `Cannot read properties of undefined (reading 'replace')...` - test("getAccountAddress breaks", async () => { - const testAddress = await getAccountAddress("TestAddress"); - }); - test("Deploy ExecutionNodeVersionBeacon successfully with proper initialization", async () => { + // Contract initialization arguments + const expectedBuffer = 1000; + const expectedBufferVariance = 0.5; + const expectedVersionTable = {} + const expectedVersionBoundaryPair = [] + // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - const i = 2; - await deployContract(ExecNodeVersionBeaconAcct); - expect(0).toEqual(0); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Check contract initialized values matching expectectations + const actualBuffer = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] + ); + const actualBufferVariance = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionUpdateBufferVarianceFilename"] + ); + const actualVersionTable = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionTableFilename"] + ); + const actualVersionBoundaryPair = await executeScriptByFilename( + SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] + ); + + // Check actual against expected + expect(parseInt(actualBuffer)).toEqual(expectedBuffer); + expect(parseFloat(actualBufferVariance)).toEqual(expectedBufferVariance); + expect(actualVersionTable).toEqual(expectedVersionTable) + expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair) }); }); // Deploys the ExecutionNodeVersionBeacon to the passed account -async function deployContract(account) { +async function deployContract(to, args) { try { const [result, deployError] = await shallPass( deployContractByName({ - to: account, - name: "ExecutionNodeVersionBeacon" + to: to, + name: "ExecutionNodeVersionBeacon", + args: args }) ); } catch (error) { diff --git a/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc b/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc deleted file mode 100644 index acfc7f99a..000000000 --- a/transactions/executionNodeVersionBeacon/admin/deploy_execution_node_version_beacon.cdc +++ /dev/null @@ -1,14 +0,0 @@ -// Deploys ExecutionNodeVersionBeacon contract passed as bytecode - -transaction(envbName: String, envbCode: [UInt8], initialVersionUpdateBuffer: UInt64, initialVersionUpdateBufferVariance: UFix64) { - - prepare(signer: AuthAccount) { - - signer.contracts.add( - name: envbName, - code: envbCode, - versionUpdateBuffer: initialVersionUpdateBuffer, - versionUpdateBufferVariance: initialVersionUpdateBufferVariance - ) - } -} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc new file mode 100644 index 000000000..0afce74dd --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc @@ -0,0 +1,5 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +pub fun main(): UFix64 { + return ExecutionNodeVersionBeacon.getVersionUpdateBufferVariance() +} \ No newline at end of file From bcaab0dabbfbfa413d5b4453c164303f5493e8be Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Wed, 14 Sep 2022 17:34:28 -0500 Subject: [PATCH 09/21] Created js helper transaction_templates. Updated events & buffer variance methods in ENVersionBeacon contract --- contracts/ExecutionNodeVersionBeacon.cdc | 22 ++++++++- lib/go/contracts/internal/assets/assets.go | 6 +-- lib/go/templates/internal/assets/assets.go | 46 +++++++++++++++++++ lib/js/test/templates/script_templates.js | 1 - .../test/templates/transaction_templates.js | 23 ++++++++++ .../change_version_update_buffer_variance.cdc | 25 ++++++++++ 6 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 lib/js/test/templates/transaction_templates.js create mode 100644 transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 17d206872..ce7116825 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -101,8 +101,9 @@ pub contract ExecutionNodeVersionBeacon { /// Event emitted any time a change is made to versionTable pub event ExecutionNodeVersionTableAddition(height: UInt64, version: Semver) pub event ExecutionNodeVersionTableDeletion(height: UInt64, version: Semver) - /// Event emitted any time the version update buffer period is updated + /// Event emitted any time the version update buffer period or variance is updated pub event ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: UInt64) + pub event ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: UFix64) /// Canonical storage path for ExecutionNodeVersionKeeper pub let ExecutionNodeVersionKeeperStoragePath: StoragePath @@ -117,7 +118,7 @@ pub contract ExecutionNodeVersionBeacon { /// they will have at least this long to respond to a version boundary access(contract) var versionUpdateBuffer: UInt64 /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries - access(contract) let versionUpdateBufferVariance: UFix64 + access(contract) var versionUpdateBufferVariance: UFix64 /// Cache of the last block boundary in the versionTable mapping /// Updated any time a change to the version table is made @@ -153,6 +154,17 @@ pub contract ExecutionNodeVersionBeacon { } } + /// Updates the variance percentage by which the versionUpdateBuffer can be changed + /// Value must be between 0.0 and 1.0 + pub fun changeVersionUpdateBufferVariance(_ newUpdateBufferVariance: UFix64) { + pre { + newUpdateBufferVariance >= 0.0 && newUpdateBufferVariance <= 1.0 : "Buffer variance must be value between 0 and 1." + } + post { + ExecutionNodeVersionBeacon.versionUpdateBufferVariance == newUpdateBufferVariance: "Update buffer variance was not properly changed! Reverted." + } + } + /// Assigns cached ExecutionNodeVersionBeacon.lastBlockBoundary to the last key in /// the versionTable if mappings are defined or 0 if the table is empty pub fun assignLastBlockBoundary() @@ -225,6 +237,12 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: newUpdateBufferInBlocks) } + pub fun changeVersionUpdateBufferVariance(_ newUpdateBufferVariance: UFix64) { + ExecutionNodeVersionBeacon.versionUpdateBufferVariance = newUpdateBufferVariance + emit ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: newUpdateBufferVariance) + + } + pub fun assignLastBlockBoundary() { if ExecutionNodeVersionBeacon.versionTable.keys.length > 0 { ExecutionNodeVersionBeacon.lastBlockBoundary = ExecutionNodeVersionBeacon diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index 28ef9586d..cbe352326 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (17.193kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.593kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x5b\x73\x1b\x37\x77\xef\xfa\x15\x47\x7a\x50\x49\x47\x22\xe5\xce\xd7\x4c\x47\x23\x2a\x63\x29\x4e\xe2\xa9\xeb\x64\x7c\x49\x1f\x34\x9a\x0e\xb8\x7b\x96\x8b\x6a\x09\xb0\x00\x96\x14\x6b\xfb\xbf\x77\x70\xdb\x05\x76\xb1\x14\x29\xdb\x9d\xea\x25\x96\x00\x1c\x9c\xfb\x0d\x67\x33\x9d\x4e\xe1\x63\x49\x25\x64\x9c\x29\x41\x32\x05\x54\x42\x2d\x31\x07\xc5\x21\xc7\x82\x32\xcc\x61\x5e\xf1\xec\x01\x4a\xa4\x8b\x52\x01\x61\x39\x48\x5e\xa8\x0d\x11\x08\x6b\x14\x92\x72\x06\x73\x5e\xb3\x9c\x08\x8a\xf2\x48\x43\x2c\xb8\x00\x55\x62\xbb\x4f\xd4\x0c\xe6\x5b\x78\xfd\x88\x59\xad\xf4\x81\x77\x3c\x47\x39\x39\x5a\xd5\xf3\xf6\xe6\x66\x55\x2f\xfe\x6d\x21\xdf\x20\xc9\x38\x83\xcf\x47\x47\x00\x00\x1a\xf6\x07\x25\xea\x4c\x81\xc0\x95\x40\x89\x4c\x51\xb6\xe8\xe3\x43\x24\x7c\xc0\x25\x61\x8a\x66\xe0\x20\x35\x00\x48\xc5\xd9\x02\x36\x54\x95\x50\x62\xb5\x42\x01\x45\xcd\x32\x7d\xaf\x6c\xf6\xfc\xc6\x05\x08\x2c\x50\x20\xcb\xf0\x0c\x24\x22\x94\x4a\xad\xe4\xe5\x74\x2a\x71\xb9\x46\x31\xe1\x62\x31\x35\xdb\x35\x09\xd2\xe2\xf4\xc1\x2c\xc1\x67\xf3\x77\x0f\xea\x96\x2f\x57\x9c\x21\x53\xd2\xf2\x53\xe3\x4b\x40\x7a\xec\xd6\x01\x76\x1e\x5c\x85\x0a\x96\xe4\xbf\xb8\xb8\x84\x4f\x6f\x98\xfa\xd7\xfe\x22\x65\xc3\x8b\x2b\xa2\xb2\x72\x70\x51\xe0\x7b\xac\x90\x48\xbc\xd4\x9c\xa4\x6c\xf1\xcb\x51\x84\xee\xdf\xa4\xaa\x11\x72\x64\xdc\x70\x36\xe3\xcb\x15\x51\x74\x4e\x2b\xaa\xb6\x96\x69\x2b\x81\x6b\xca\x6b\xe9\x51\x97\xbd\x4b\xa8\xbc\x21\xd9\xc3\x86\x88\x5c\xde\xba\xf3\x15\x5e\xc2\x0d\xe7\x55\x7b\x19\x65\x54\x8d\x42\x2a\xcf\x22\xb2\xce\x22\x3a\xce\x52\x88\x9f\xed\xba\x68\x1c\x88\x41\xff\x48\xac\x8a\x89\xb9\x0e\x66\x96\xb9\x89\x65\x7d\xbf\x5e\xd6\xff\xed\x2f\x1b\x84\x60\x66\x11\x4b\x2c\x37\x18\xea\x3d\xcd\x2f\xfd\x8d\x49\xac\x61\x96\xa6\xa6\x39\xfe\x35\x96\xd3\x7b\x54\xb5\x60\x8d\x10\x80\x32\xaf\x7e\x05\x17\x4b\xa2\x60\x84\x93\xc5\x04\xd6\x57\x86\xd6\xeb\xc9\x95\x21\xea\x7a\x72\x65\xb0\xbf\x3e\xbf\x6a\x31\xbc\x1e\x47\x90\x89\x04\xe2\x58\x1c\x49\xb6\xa8\x19\x28\x6e\x17\x46\x63\x2f\x85\x0e\x9b\xb5\xf8\xad\x85\xdc\x72\x81\x6e\xcb\x2c\xe0\xfe\xa4\x05\x11\x1d\x34\x3f\x93\x8c\xb3\x8c\xa8\xd1\xc9\xe4\x64\xc7\x6a\x7f\x25\x96\xe0\xce\x2b\xc6\xdf\x7c\x87\x61\xe0\xee\x3b\xa2\x3f\x19\x1f\xa0\x81\x6a\xa5\x38\x17\x4e\x45\x68\x01\x54\x01\x3e\x52\xa9\x24\x9c\x82\x30\xe2\x8c\xce\xd1\xa2\xa7\x57\xc7\x33\x60\xb4\xea\xb0\x5c\xff\xd8\xe3\x3d\xce\x37\xb4\x9e\x9f\x34\x74\x77\x60\x1e\xc7\xc8\x06\x5a\xb6\x03\x6e\x52\x29\x5f\xc0\x6d\x2d\x15\x5f\x1a\x8f\x47\x04\x51\x5c\x48\x78\x31\x4d\xab\xad\x12\xb5\xe1\x81\xd3\xd9\x8c\x0b\xd4\x91\x67\x21\x90\x28\xd4\xc1\x83\xb0\xe8\xdc\x8a\x48\x1d\x94\xc2\xed\x3a\x10\x15\xa4\x92\x08\x5c\x95\x28\x36\x34\xb0\x35\xaf\xaf\x7a\xe3\xef\x16\xe6\xc7\x92\xb0\xd1\x7f\xda\xbd\x97\x0e\xd0\xd8\xfa\x8a\x0e\x43\x69\x01\xa3\xc0\x5d\x5c\xdb\x33\xf6\xb7\xae\x5b\x09\x98\xa4\x49\x8a\x79\x09\x58\x59\x49\x87\xe0\x66\xb3\x10\x1e\x9c\x9e\x86\xbe\xa7\xb9\x4b\xff\xf6\x83\xef\x6a\x17\xcd\xaf\x7e\xd1\x7a\x39\x8f\x88\xf9\xed\x19\x88\x0c\x1e\x30\x12\xeb\xa8\x5c\x4a\x9b\x0e\xd3\x15\x08\xfc\xb5\x3e\x8a\xff\x5d\x93\x4a\xa7\x30\xdf\x47\x6f\xfe\x14\xaf\x35\xc0\x8f\x7c\x3f\x05\x6a\xac\xa6\x2a\x26\x5d\x0d\x34\xc7\xc7\xf0\xe5\x4b\xbb\xec\x61\xdb\xa5\x67\x72\xa3\x42\x29\xbf\xab\xd9\xbc\x45\x29\x0f\xb2\x99\x40\xef\xae\x22\xb5\x7b\x8e\x16\xef\xab\xc4\x57\x91\x0e\xff\xc8\x9b\x76\x9a\xcb\x55\x68\x2e\xff\x2f\xad\xa5\xd1\x8f\x1f\x61\x2a\x5e\x57\xbe\xd1\x4e\x1a\x95\xfb\xde\x46\x42\x65\x97\xcc\xe8\xd4\x73\x48\x7e\x36\xa1\xdf\xaa\x6a\xcd\x62\x9c\x86\xee\xcd\x88\x17\xf8\x48\x32\x55\x6d\x5f\xec\xc3\x92\x7d\xb8\x21\x95\xa0\x99\xfa\x26\xc1\xc7\xc2\x6d\x09\x0e\x32\xea\x86\xea\x7e\x62\xed\x48\xff\xda\xd6\x88\xaf\xd7\xc8\x14\xe0\x92\x2a\x85\x39\x10\xb6\x05\x45\x97\x08\x04\xb2\x92\xb0\x85\xb1\x87\x25\xc9\x51\xd3\xee\xf2\xe7\x8f\xc4\xe7\xda\x9a\x2c\x34\xe7\x53\xf5\xa8\xd9\xf7\x2a\xcf\xa9\xfe\xfb\xc8\x96\xc4\xb6\x46\xf9\xf9\x1f\x67\x1e\x58\x43\xfc\xbe\x00\x7f\xc5\x0a\xf7\x07\xb8\x83\x42\x5d\x74\xfb\x8a\xa0\x5e\xe5\x44\x21\xcc\xeb\xa2\x40\x01\x2b\x14\x94\xe7\xa6\xba\x37\x7f\xcf\xf7\xc0\xed\x93\xd9\x79\x63\x00\xdc\x1a\xce\xe5\x23\x86\x9b\xc4\xaa\xc7\x78\xdc\xca\xe0\x96\x30\xce\x68\x46\x2a\x90\x8a\x0b\xb2\x40\x5d\x37\x95\xa6\x35\x90\xba\xeb\xdf\x10\x57\x28\x1a\xa4\x74\x1d\x31\xbc\xed\x83\x85\xf8\x17\x51\xa5\xae\x43\x9a\x5f\xda\xdb\x0d\x5b\x21\xa7\x99\x22\xa6\x8e\x5d\x52\x46\x97\xf5\xb2\x61\xce\x39\x7c\x36\x5d\x8d\x3f\x1c\xc3\x2d\x7f\xbf\xb6\x5d\x86\x92\xd7\x55\x0e\x73\x04\x2e\x72\x14\x98\xc3\x7c\x1b\xf7\x41\x46\x94\xe5\xf8\x38\x86\x4d\x49\xb3\x12\x68\xdb\x3b\x40\x56\x70\x91\xd9\x13\x94\x49\x14\x9a\x84\x69\xee\x44\x6c\xb6\x91\x2c\x43\x29\x47\xbe\xf3\x31\x36\xe4\x86\x9a\x78\x09\x9f\x2d\x43\x5b\xcc\x1a\xf8\xef\xea\xe5\x1c\x05\xf0\xc2\xe2\x23\x61\x8e\x6a\x83\xc8\x62\xf4\x36\x25\xb2\x6e\x7b\x66\xab\xc5\xef\x9b\x3a\x84\xe5\x0d\xc8\x50\x6d\x9a\xbd\x73\xd4\x8c\x73\xdb\x27\xb6\x63\x03\x19\x61\x80\x8f\x2b\xcc\x94\x0e\x26\xca\x19\x94\xd4\x96\x14\x00\x69\xad\xc9\x41\xdf\xc2\x86\x56\x15\x94\x64\x8d\x40\x14\x68\xfb\xd5\x00\x74\x5c\xe2\x6c\xa1\x4f\x0b\x94\x2b\xce\x4c\xdb\x89\xf4\x70\x49\x33\x6d\x4d\x84\xdf\x99\xd2\xc5\x56\x96\xa8\x1c\xce\xc4\x74\x79\x40\xe0\x82\x88\x5c\x53\x57\xf2\x0d\x2c\xeb\xac\x0c\x91\x0f\x61\x19\x7a\xd7\x96\x1b\x96\xc9\x89\x8e\xd7\x53\x12\x0d\x01\xfe\x4d\x04\x25\x2c\xc3\x4b\xf8\xf4\x1b\x7d\xfc\xf9\x1f\xa1\xbd\x64\x25\x6a\xa9\x6a\x54\x2a\xcd\x1f\x2b\xcf\x56\x76\xac\xc7\x62\x58\x92\xd5\xca\xd7\x63\x1a\x88\xbd\x2a\xe5\xf2\x62\x01\x81\x32\xc7\x9d\x1f\x1c\x66\xaf\xc6\xe3\x46\xa3\x71\xe3\xb0\x68\x98\xdb\x5c\xf9\x2a\x5f\x52\x06\x94\x29\x14\x05\xc9\xd0\xaa\xc5\x92\x30\x62\xd4\xa2\xc4\x4e\xd3\xcf\x63\x10\x62\xbd\x24\x94\x29\x62\xb4\xd2\x10\x19\xb4\x23\x1b\x87\x20\x50\xf2\x5a\x64\x18\xdc\x94\xf2\x0f\x16\x9b\xcf\x71\x30\xb4\x5c\x31\xc8\x74\xfd\x80\x66\x0b\x79\x40\xc0\xa2\xd0\x3a\x4d\x94\xd9\xb5\xa0\xeb\x8e\x3d\xf5\xa2\x1e\xc9\x73\xdf\xa2\x74\xac\xf9\xc8\x8d\x4c\x46\x8a\x88\x05\x5a\xae\xfd\xd1\x71\xe7\xad\xf3\x6c\x3c\x7a\x27\x32\xae\x44\x2a\x1b\xec\x81\x84\xeb\x1d\xdd\xd2\x49\x4f\x6a\xc9\x6e\xc6\x25\x9c\xbc\x52\x0a\x97\x2b\xe3\x20\x15\x77\xce\xca\xeb\x14\xf0\x5a\x69\x75\x34\xfe\x6f\x02\x06\x1e\xdc\xb4\xca\xe8\x1c\x9b\x84\x65\xad\x75\x15\xdd\x9f\xac\x0c\x89\xcc\x90\x19\x0b\x73\xc7\x6f\x4b\xcc\x1e\x62\xdd\x3d\x05\x25\xb6\x40\x16\x84\xb2\xc9\xc9\x5e\x24\x2f\x50\xdd\xd6\x42\x20\xb3\x7f\x1f\x8d\x27\xce\xd9\xfd\xb4\x8b\x1b\x09\x2b\x1c\xe2\xc7\x47\x73\x69\xec\x48\x79\x96\xd5\x42\x3b\x38\x0e\x92\x5b\x8d\x71\x91\xf5\xf5\x3b\x4f\x50\x07\xff\xc1\x1c\xdd\xc4\x79\x67\x16\xc6\xc4\x91\x29\x6b\xd9\x11\x67\x6c\x48\xb1\x9e\x57\x02\xd1\xa1\x3c\xe3\x4b\xcd\xcd\xa4\x63\x6c\x3c\x88\x0f\x59\x25\x56\xab\xa2\xae\x34\xdc\x4c\x27\x4f\x82\x57\xd5\x9c\x64\x0f\xda\xde\x19\x62\x1e\xe4\x7a\x5e\x9d\x4d\x78\xc2\xb7\x44\xa1\x54\x1d\xbd\x36\xbd\xbe\x6e\x67\x7b\x58\x57\x9f\x96\x84\x21\x72\x52\x21\x5b\xa8\x12\xae\xe1\xe2\x12\x4e\xde\xf1\x7e\xfc\x71\x7a\x28\x6d\x93\x6c\x5f\x16\x5b\x31\x5b\x16\xb3\x6e\xa4\xb4\xbe\xc9\xe8\xab\x75\xef\xb5\xdf\x3d\x10\xbe\x3c\x54\x9d\x07\xeb\x0d\x56\x33\x1c\xdc\xd0\x9f\x52\xe9\x34\x56\xa5\xda\xa6\xd6\x07\x27\xf2\x26\x9d\x4e\x85\xbf\xbf\x61\x46\xb3\x65\x93\x4f\x75\x59\xce\xa5\x7a\x16\xcf\xa3\xa0\x36\x9b\xc1\xe0\xbd\x27\x9f\xa2\xb4\x71\x43\x24\x30\xae\x60\x25\xf8\x0a\x45\xb5\x75\xa4\xe4\xc7\xf0\x1e\xd7\xc6\xdc\xf7\x15\xcc\x2b\x29\xe9\x82\xe9\x0c\x22\x2b\x31\x3f\xc8\x7d\x79\xf1\x18\x93\x79\x40\x6d\x30\x11\xe8\x5e\x58\xa4\x45\xab\x3d\x44\x60\x93\xf3\x70\x01\x17\x7a\x51\x1f\x68\x22\xa0\xf6\x80\xdb\xbe\x7f\x37\xe8\xbe\xed\xa2\xe2\xda\xbd\x5f\xbb\xf1\xaf\x09\x4f\x3f\x3a\xfc\x0d\x27\xc5\x97\x3b\x03\x62\x8f\xbe\x1f\x13\xbf\xa6\x53\x78\x13\x87\x11\xca\xda\x2a\x4b\x45\x86\x75\x88\xb7\xb0\xc1\xa5\xdf\x96\x7f\xc0\xed\x65\x3f\x56\x9c\xf5\xf6\xb5\x98\x47\x4b\xbd\x4e\xbd\xce\x15\x93\xfa\xe7\xba\x23\xf6\x2a\x20\x12\x36\x08\x0f\x8c\x6f\x80\x2a\x9b\xdb\xc6\x11\xb0\x0b\xb7\x13\x10\x21\xaf\x4d\x4a\xb6\x12\x78\x9e\x71\x66\xcb\xc9\x7d\x19\xd3\xc7\x6f\xd6\x67\x41\xdc\xc7\xd7\x85\xe2\x01\xf5\x6c\x9f\xa1\x6d\x25\xda\x72\x32\xd9\x85\xf9\x96\x80\xa2\xeb\x5a\x26\x6b\x63\xb0\xb6\x5a\xf2\xd1\xd7\x3c\x3c\x22\xe3\xf5\xa2\xb4\x79\xad\x2e\x23\x99\xa9\x48\xda\xda\x21\x82\xa5\xc5\x95\x52\x98\x83\xf8\xfa\x1d\x53\x8e\xbe\x4a\x2e\x51\x4a\xb2\xc0\x4b\x38\xb9\x25\x4c\xfb\x58\xcb\xb2\x7e\x20\xd4\xc4\xd3\x81\x7a\x9e\x0b\x28\xa9\x2e\xb0\x4d\xa5\xed\x9d\x5e\xc7\x27\x8f\x8f\xba\x6c\x7e\x8f\x4b\xbe\x8e\xdb\x05\xde\x5e\x4f\x8d\xb2\x44\x07\x74\x2d\x23\xcc\x89\xbc\x91\xdc\x6c\x6f\xd3\xb5\x27\x07\x4c\xf7\xd9\x59\xec\xf8\xf8\x10\x0d\xef\x35\x58\x0e\xb9\x37\x50\x7e\xc7\x85\x14\x43\x6d\xc0\xe8\x3b\x8f\x68\xa7\x69\x6b\x0d\x87\x96\x3e\x54\xdb\x36\x2e\xd1\xdf\xdc\x88\x4b\x1b\xc0\x1a\x05\x2d\x68\x46\x7a\xce\xc3\xf5\xd7\xdc\x99\x5d\x66\xfa\xdd\x32\x93\xe9\x14\xde\xe1\xc6\x6b\xa7\x6c\xda\x27\x4e\x79\x85\x29\x42\x79\xe1\x0a\x71\xcc\xfd\xce\xb5\x2d\x88\xc9\x5e\xc6\x6b\x6b\xe6\x21\xd4\xc6\x70\x3d\xf3\x5b\x0e\x33\xce\x31\xbc\x80\xd1\xcb\xc9\x05\x9c\x1f\x68\xd5\xbe\x9c\x1f\xc3\xe9\xe9\xc1\xd8\x5e\x7d\x2b\xb6\x87\xfa\xa0\x06\xdb\x27\x9c\x11\x70\xd6\x64\x7a\xc9\xae\xc8\x7c\x0b\xa4\xaa\xf8\x46\xeb\xa3\x83\x09\x85\xe0\x4b\x9b\xaa\x6b\x2f\x62\xa5\xbb\xdb\x0f\x69\xb7\x92\x05\xce\xd5\xd5\x79\xb3\x41\xa7\xdb\x53\x38\x1e\xb4\x61\xda\x69\x25\xdc\x72\x96\x7b\xc8\x36\x65\x3f\x03\x49\x0a\x13\x71\x97\xba\xda\x77\x5d\xab\xee\x0b\x56\x02\x99\xc3\xea\xec\xef\x90\x9a\x0f\x65\xe6\xe9\x67\xa3\xde\x75\xb4\x30\x6c\x65\xf8\xd8\x4b\x11\x76\x60\x52\x50\x96\xbf\xc3\xc7\x5e\xa0\x8e\x5a\xa4\x7d\xee\xa4\xde\x85\x9d\x68\xde\x14\x89\x36\x9e\x1f\x77\x70\x9d\x2c\x17\x71\xce\x00\x6d\xd0\x37\xa9\xb3\x5e\xd8\xe0\x3f\x09\x34\x65\x87\xbb\xb3\x6a\x82\xa0\x29\xc2\xe2\x08\x58\xd8\x83\xbd\x92\xb8\x83\x91\x2d\xe1\x88\xd2\x89\x1b\x71\xe0\x03\xa0\xac\x75\x5e\x87\x00\x1e\xf2\x54\xfe\x27\xa1\x52\x87\x5a\x2d\x5c\x25\xc4\x99\x70\x37\x3b\xaf\x1c\xd0\xaa\x14\xec\xbe\x73\xf0\x3f\xad\x93\x30\xb0\x5a\x3b\x07\x9d\x08\xcf\x05\x92\x07\xd9\x17\xba\xcb\x5b\xc2\x0e\xec\x04\x3e\xfa\x85\x00\x08\x29\x94\x06\x85\x8f\xaa\x07\x24\xd1\x20\x82\x5e\xfa\x1e\x08\xfb\x3f\xd0\x74\x6e\x35\x5a\xda\xf0\x5b\x6f\x36\xd0\xe7\x4d\xc2\xf9\x21\xa6\x0b\x51\x8d\x0c\xfd\x91\x9b\xc1\x44\xe6\x90\xd7\x98\xa1\x98\xb3\x2b\x15\x18\x4c\x4b\xfa\x4f\xfd\xfb\xa6\x7e\x0f\xb8\x95\x41\xa3\xe7\x30\xf7\x98\x2a\x73\x86\xb7\x27\x25\x38\x49\x36\x74\x7a\xbb\x34\x9a\x77\xc3\x36\xbc\x1b\xcf\x9d\xc7\xf6\x47\xa2\x87\xd0\x5e\x3b\xcd\x6e\xc7\xe0\x73\x78\x39\x78\x66\x7c\x9f\x8e\x1f\xdd\x7d\x07\x8a\xe3\x62\xb0\xf5\x03\x71\x93\xa4\x79\x8e\x2e\xb1\x09\xcc\x75\x68\x3c\xce\xe7\x3a\x87\x6c\x1b\xa0\x9d\x69\xe1\x06\x98\xb6\xec\x39\x6a\x7d\xad\x05\xe6\x51\x11\x63\x2a\x71\x13\x38\x8c\x81\x34\xed\x13\xad\xdf\x0b\x54\xa9\x3c\x77\xec\x33\xda\x80\x1d\xe1\xfb\xf4\x90\xb7\x48\x50\x47\x20\xe3\xab\xad\x7f\xc3\x29\xea\xaa\x0a\x8b\xb3\xe4\x4b\x73\x8c\x98\x6d\xc0\x8c\xfb\xaf\x7f\xbb\x71\x6b\x41\x06\x48\xfd\xe6\x86\x9a\x6d\x10\x13\x8d\x00\x88\x6a\x1e\x41\xbc\x24\x1a\x6f\x4b\x24\xe6\xc0\x59\x28\xa6\x06\x5e\x6f\x08\x3c\x7e\x4a\x0a\x5f\xa2\x02\xc2\x5c\x1e\xf7\xef\xf6\xc6\x94\x7a\x25\xbb\x01\xfd\xd6\x72\x8f\xde\x5e\x03\xd9\x53\xd3\x7d\xe2\xf1\x2f\x98\x27\x47\x7d\x45\x9d\x4e\xdd\xcb\x84\xa6\xb8\x19\x6c\x6e\x42\x97\xcb\x47\xa2\x54\xb2\x39\xfb\xfc\xf4\xd5\x0d\x62\x9b\xcb\xf6\x4f\xd0\xfe\xea\x9c\x78\x32\x3b\x3b\x0e\xc9\x0c\x4a\xc9\x0e\x63\x2c\x95\xa9\x44\x67\x48\xd5\xee\xba\xc8\xdf\x1f\x77\xb5\xcf\x70\x55\xc2\xa6\x44\x55\xa2\x70\x0f\x6a\x8d\x95\x12\xd9\x0c\x96\x57\xf8\xc4\xa3\x9b\x57\x26\x1a\x0c\x45\x7b\xd5\x99\xa7\x9a\x94\xdd\x99\x89\xde\x04\x8a\x36\x0e\xca\xf2\xde\x20\x7b\x2b\xf7\x53\xc8\x8c\x56\x74\x55\xa9\xf3\x50\x13\x42\x1c\x64\xa2\xcb\xc8\xd7\x71\x6a\xfd\xad\xe2\x9e\x0f\x67\xe1\xee\x03\x01\x8d\xb8\x83\xea\x07\xb0\x23\x19\x76\x10\xba\x3f\x1e\xe8\x3e\x48\xcb\xbe\xe8\x7b\x8b\xf8\xab\x80\xce\xd3\xb8\xec\xc2\xf9\x15\x15\x8a\x25\x65\x68\x86\xd0\x50\xf4\xbe\x79\x70\x6c\xf2\x8f\x69\xd1\x28\x58\x4c\xc9\x8e\x49\xd4\xc4\xa8\x5c\x33\xe3\x17\x42\xf6\xb3\x46\x7b\x03\xde\x31\x3b\x18\xc3\x88\x11\x5f\x3f\x09\xd8\x63\xb5\x7b\xee\x1f\x12\x91\xd5\x31\xf6\x95\x94\xb5\x79\x16\x64\x3c\xe1\xbc\x6c\xb1\x75\x96\xe6\x4f\xef\x8f\xa9\x70\xc6\x80\x08\x41\xb6\xe6\x35\x82\xd8\x2f\x57\x7a\x8f\x60\xba\xa0\x32\xd1\xba\x7d\x17\x0d\x27\x4b\x88\x94\x3c\xa3\x66\x26\xa1\x67\x65\xe7\x70\x37\x4f\xcd\x16\xf4\x4c\xf8\xbe\x01\xf7\xc6\x84\x56\x3b\xd1\xc8\xf8\xf0\xbb\xa8\xf7\x6d\x67\x4d\xe0\x33\xaf\x3c\x8e\x9e\x73\xb8\xbb\xef\x06\xaa\x44\xf9\xfb\x17\xa1\x26\x3d\xb8\x7b\xc5\xb6\xf6\xab\xa3\x5f\xee\x63\x37\xf2\x3b\x26\x02\x44\x77\x62\xe0\xf0\x38\x91\xf0\xdb\x21\xfa\xb4\xd0\xb4\x0f\xbf\x97\xb6\xaf\x5d\x21\xa0\xb6\xbf\xe1\xd0\xc4\xc7\x0c\x31\x97\x83\xf3\x26\x0e\x4c\xe8\xc8\x86\xa3\xf0\x6c\x06\x17\xf0\xe5\x4b\xba\x85\x62\x4e\x3d\xd5\x2c\x71\x1a\x79\x77\x9f\x7e\x40\xd4\x25\x9d\x2e\xe7\xcc\x9b\x4b\xf2\x71\xaf\x5b\xe0\xcf\xb1\xe0\x02\x5b\xf2\xba\xf4\x4c\xa7\xfd\x32\x53\xdf\xb2\xe0\x60\x9f\xf9\xb5\x17\x76\xbd\x81\x44\x49\xda\x75\xf0\xa6\x8e\xfe\xbf\xec\xb6\xf8\x4b\x77\x39\xf9\x10\xa9\xfb\xe3\x24\xbf\xc3\x2d\x67\x21\xc0\xa4\x20\x62\x29\x0d\x64\xf8\x51\xaa\xe8\xc5\xe3\xfa\x2c\xc3\x41\xb7\xd0\xff\x48\x86\x58\x67\xf9\x8c\x33\x6c\xbc\x1a\xa3\x95\x76\x02\x16\x1f\x27\xd5\xde\x08\x93\xb6\xed\xa7\x63\xa9\x6b\x68\xfb\x7f\xfc\x12\xdb\xf8\x07\x24\x22\xb3\x73\x8b\x83\xb8\x27\x33\xa6\x39\x65\x44\x6c\xed\x71\xf7\xa8\x1a\xc7\xed\xe7\xb2\x70\xd8\xeb\xfd\x40\x16\x3e\xa9\xb0\xbb\xb9\xd8\xb6\x6a\x35\x96\x55\xc5\x37\x9a\x80\x20\xe5\x73\xce\xc2\x7e\x16\x15\x7c\xdd\xc1\x45\x33\xa7\x1c\xc2\x6b\xac\x5a\x13\xd4\xcc\x28\x3a\x67\xc9\x68\x15\x5a\x67\x08\xff\x7a\x76\x90\x37\x0a\x21\xc5\xee\xe8\x4f\x3f\x0f\x7d\x06\x15\xe7\x0f\xcd\x27\xaf\xc6\x57\x0c\xf9\x08\xad\x40\x81\x8f\xd8\x4f\x4d\x76\xcc\x4e\xf7\x9a\x2d\x77\xbd\x5c\x63\x94\xde\x38\x29\xa8\x90\xea\x0d\xcb\xf1\x71\xc4\x8b\xcb\x08\xb3\xf1\x31\xfc\x04\x2f\xe3\xde\xda\x2e\x67\xe0\x99\x14\xa8\xf2\x8d\x21\x0a\xa4\xb5\x1d\x52\x2d\xb8\xa0\xaa\x5c\x36\x5e\x35\xab\xb8\x44\xa9\x60\x6d\xbe\x36\xb5\x23\x1d\xf1\x08\x87\xf1\xe4\x54\xc2\x95\x7f\xdb\xb6\x7b\x87\x95\x34\xc9\xc7\xdd\x4a\xd9\xaa\x8b\x1f\x0a\x89\xa7\x48\xba\xb3\x21\xfe\x6b\x91\xc1\x00\x78\xa0\x0e\xfd\x6a\xf4\xd6\x73\x49\xae\x48\x86\x51\xd6\x10\x3c\x6e\x24\x9c\x7b\xdc\x25\x6a\xc9\x49\xce\x8e\x16\x9e\x8b\x54\xba\x07\x92\x90\x2a\xb7\x76\xa0\x71\xa4\xf7\xee\x45\xab\x41\x4c\x46\xc4\x7a\x3e\x06\x54\x3b\xde\x36\xdb\xcc\x44\x2a\x16\x2a\xea\x3c\xe9\x3f\x0a\x97\x51\xb9\xfd\xe1\xbd\x6f\x39\x5f\x41\xcd\x14\xad\xfc\xdd\x2b\x6e\x46\x48\x25\x64\x82\xcb\x16\x87\x4d\x49\x2b\xb4\xe0\xaf\x1c\xc0\x98\x6a\x7d\xd1\x92\xe6\x30\x83\x91\xd9\xf5\x93\xdd\x35\x86\x29\xfc\x73\xb7\x94\x69\x69\xb8\x5b\xd2\xfc\x5e\x6b\x87\xe3\xf1\x60\x35\xd0\x39\x32\x90\xff\xc7\x02\xbb\xea\x5d\xd4\x07\x6f\xca\x94\xdc\xb4\x5f\x4f\x4f\x1b\x49\x77\x0e\xc2\xf9\xcb\xd4\xd9\x41\xf4\xe0\x1c\x5e\xde\x3f\xd1\xd7\x36\x87\x9d\x60\x96\x34\xdf\xaf\x01\xe9\xb0\xbd\xd2\x3c\xf6\x5d\xcd\x71\x80\x78\x97\x62\xed\xa9\x0e\xc2\x7c\x1f\xac\x9d\x8e\x39\xf0\xfb\x54\x62\xb1\x27\x61\x5c\x95\x3a\xbc\x99\x70\xfc\x84\xb7\x34\x9f\xc1\x8f\x3b\xff\xcf\x80\x37\x8c\x2a\x4a\x2a\xfa\x3f\x68\xdf\x57\xe7\x55\xf0\x58\x69\xcc\x6e\xaf\x6f\x23\x60\x06\x53\xf7\xf1\xc5\xf4\x89\x6f\x2e\x20\xd5\x62\x83\x19\x7c\xfe\x9a\x5c\xee\x3c\x7c\xbc\xbc\xb8\xb8\x78\x72\x9f\x7f\x7d\xd6\xd6\x3b\xf9\x97\x78\x7b\xba\xb9\x1c\xf1\xe4\x03\x59\x63\x7c\x88\x64\x19\xaf\x99\x9a\x48\xb2\xc6\xd1\xd5\x79\x66\x32\x86\x1d\x03\x72\xa3\xf1\x19\x28\x7e\x79\x00\x03\x7d\x8a\xf6\xf5\x08\xfe\x37\x00\x00\xff\xff\x29\x2d\xe9\x54\x29\x43\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5d\x6f\x1b\xb9\x76\xef\xf9\x15\xc7\x79\x70\xa5\xac\x2d\x25\x45\x51\x14\x86\xe5\x45\xe2\xcd\xde\x1b\x74\x9b\xbb\xd8\x64\xb7\x0f\x81\x71\x41\xcd\x9c\xd1\xb0\x1e\x91\x2a\xc9\x91\xac\x66\xf3\xdf\x0b\x7e\x0e\x39\xc3\x91\x25\x27\x29\x7a\xf5\x92\x48\x24\x0f\xcf\xf7\x17\x49\xcf\xe7\x73\xf8\x58\x53\x09\x05\x67\x4a\x90\x42\x01\x95\xd0\x4a\x2c\x41\x71\x28\xb1\xa2\x0c\x4b\x58\x36\xbc\xb8\x87\x1a\xe9\xaa\x56\x40\x58\x09\x92\x57\x6a\x47\x04\xc2\x16\x85\xa4\x9c\xc1\x92\xb7\xac\x24\x82\xa2\x7c\xa6\x21\x56\x5c\x80\xaa\xb1\x9b\x27\x5a\x06\xcb\x3d\xbc\x7d\xc0\xa2\x55\x7a\xc1\x7b\x5e\xa2\x9c\x3d\xdb\xb4\xcb\x6e\xe7\x30\xaa\x07\xff\xb0\x90\xdf\x20\x29\x38\x83\xcf\xcf\x9e\x01\x00\x68\xd8\x1f\x94\x68\x0b\x05\x02\x37\x02\x25\x32\x45\xd9\x6a\x88\x0f\x91\xf0\x01\xd7\x84\x29\x5a\x80\x83\x14\x00\x90\x86\xb3\x15\xec\xa8\xaa\xa1\xc6\x66\x83\x02\xaa\x96\x15\x7a\x5f\x19\xe6\xfc\xcc\x05\x08\xac\x50\x20\x2b\xf0\x02\x24\x22\xd4\x4a\x6d\xe4\xd5\x7c\x2e\x71\xbd\x45\x31\xe3\x62\x35\x37\xd3\x35\x09\xd2\xe2\xf4\xc1\x0c\xc1\x67\xf3\xbb\x07\x75\xcb\xd7\x1b\xce\x90\x29\x69\xf9\xa9\xf1\x25\x20\x3d\x76\xdb\x08\x3b\x0f\xae\x41\x05\x6b\xf2\x5f\x5c\x5c\xc1\xef\xef\x98\xfa\xb7\xe1\x20\x65\xe3\x83\x1b\xa2\x8a\x7a\x74\x50\xe0\x6f\xd8\x20\x91\x78\xa5\x39\x49\xd9\xea\xc7\x67\x09\xba\x7f\x90\xa6\x45\x28\x91\x71\xc3\xd9\x82\xaf\x37\x44\xd1\x25\x6d\xa8\xda\x5b\xa6\x6d\x04\x6e\x29\x6f\xa5\x47\x5d\x0e\x36\xa1\xf2\x0d\x29\xee\x77\x44\x94\xf2\xd6\xad\x6f\xf0\x0a\xde\x70\xde\x74\x9b\x51\x46\xd5\x24\xa6\xf2\x22\x21\xeb\x22\xa1\xe3\x22\x87\xf8\xc5\xa1\x8d\xa6\x91\x18\xf4\x47\x62\x53\xcd\xcc\x76\xb0\xb0\xcc\xcd\x0c\xeb\xfd\xf5\xb0\xfe\x77\x38\x6c\x10\x82\x85\x45\x2c\x33\x1c\x30\xd4\x73\xc2\x97\xe1\xc4\x2c\xd6\xb0\xc8\x53\x13\x96\x7f\x49\xe5\xf4\x1b\xaa\x56\xb0\x20\x04\xa0\xcc\xab\x5f\xc5\xc5\x9a\x28\x98\xe0\x6c\x35\x83\xed\xb5\xa1\xf5\x66\x76\x6d\x88\xba\x99\x5d\x1b\xec\x6f\x2e\xaf\x3b\x0c\x6f\xa6\x09\x64\x22\x81\x38\x16\x27\x92\xad\x5a\x06\x8a\xdb\x81\xc9\xd4\x4b\xa1\xc7\x66\x2d\x7e\x6b\x21\xb7\x5c\xa0\x9b\xb2\x88\xb8\x3f\xeb\x40\x24\x0b\xcd\x67\x56\x70\x56\x10\x35\x79\x3e\x7b\x7e\x60\x74\x38\x92\x4a\xf0\xe0\x16\xd3\xaf\xde\xc3\x30\xf0\xf0\x1e\xc9\x4f\xc6\x07\x68\xa0\x5a\x29\x2e\x85\x53\x11\x5a\x01\x55\x80\x0f\x54\x2a\x09\xe7\x20\x8c\x38\x93\x75\xb4\x1a\xe8\xd5\xd9\x02\x18\x6d\x7a\x2c\xd7\x1f\xbb\x7c\xc0\xf9\x40\xeb\xe5\xf3\x40\x77\x0f\xe6\x59\x8a\x6c\xa4\x65\x07\xe0\x66\x95\xf2\x05\xdc\xb6\x52\xf1\xb5\xf1\x78\x44\x10\xc5\x85\x84\x17\xf3\xbc\xda\x2a\xd1\x1a\x1e\x38\x9d\x2d\xb8\x40\x1d\x79\x56\x02\x89\x42\x1d\x3c\x08\x4b\xd6\x6d\x88\xd4\x41\x29\x9e\xae\x03\x51\x45\x1a\x89\xc0\x55\x8d\x62\x47\x23\x5b\xf3\xfa\xaa\x27\xfe\xc5\xc2\xfc\x58\x13\x36\xf9\xbb\x9d\x7b\xe5\x00\x4d\xad\xaf\xe8\x31\x94\x56\x30\x89\xdc\xc5\x8d\x5d\x63\xbf\xf5\xdd\x4a\xc4\x24\x4d\x52\xca\x4b\xc0\xc6\x4a\x3a\x06\xb7\x58\xc4\xf0\xe0\xfc\x3c\xf6\x3d\x61\x2f\xfd\xed\x3b\xef\xd5\x0d\x9a\xaf\x7e\xd0\x7a\x39\x8f\x88\xf9\xf6\x04\x44\x46\x17\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\x2f\xc5\xff\x6e\x49\xa3\x53\x98\x6f\xa3\x37\x7f\x13\x6f\x35\xc0\x8f\xfc\x38\x05\x0a\x56\xd3\x54\xb3\xbe\x06\x9a\xe5\x53\xf8\xf3\xcf\x6e\xd8\xc3\xb6\x43\x4f\xe4\x46\x83\x52\x7e\x53\xb3\xf9\x05\xa5\x3c\xc9\x66\x22\xbd\xbb\x4e\xd4\xee\x29\x5a\x7c\xac\x12\x5f\x27\x3a\xfc\x3d\x77\x3a\x68\x2e\xd7\xb1\xb9\xfc\xbf\xb4\x96\xa0\x1f\xdf\xc3\x54\xbc\xae\x7c\xa5\x9d\x04\x95\xfb\xd6\x46\x42\x65\x9f\xcc\x64\xd5\x53\x48\x7e\x32\xa1\x5f\xab\x6a\x61\x30\x4d\x43\x8f\x66\xc4\x0b\x7c\x20\x85\x6a\xf6\x2f\x8e\x61\xc9\x31\xdc\x90\x4a\xd0\x42\x7d\x95\xe0\x53\xe1\x76\x04\x47\x19\x75\xa0\x7a\x98\x58\x3b\xd2\xbf\x74\x35\xe2\xdb\x2d\x32\x05\xb8\xa6\x4a\x61\x09\x84\xed\x41\xd1\x35\x02\x81\xa2\x26\x6c\x65\xec\x61\x4d\x4a\xd4\xb4\xbb\xfc\xf9\x23\xf1\xb9\xb6\x26\x0b\xcd\xfa\x5c\x3d\x6a\xe6\xbd\x2e\x4b\xaa\x7f\x9f\xd8\x92\xd8\xd6\x28\xff\xfa\x2f\x17\x1e\x58\x20\xfe\x58\x80\x3f\x61\x83\xc7\x03\x3c\x40\xa1\x2e\xba\x7d\x45\xd0\x6e\x4a\xa2\x10\x96\x6d\x55\xa1\x80\x0d\x0a\xca\x4b\xe0\x02\xb6\x44\x50\xc2\x0a\xc3\x05\x3b\xa7\x3c\x02\xcf\xdf\xcd\xcc\x37\x06\xd8\xad\xe1\x62\x39\x61\xb8\xcb\x8c\x7a\xec\x8f\xa1\x3e\x5e\xf7\x87\xc3\xeb\x30\x74\x3f\xeb\x0a\x7e\xff\x99\x3e\xe8\x5d\x02\x4f\x6e\x09\xe3\x8c\x16\xa4\x01\xa9\xb8\x20\x2b\xd4\x95\x5a\x6d\x9a\x11\xb9\xbd\xff\x1d\x71\x83\x22\x20\xa9\x2b\x97\xf1\x69\x1f\x2c\xc4\x5f\x89\xaa\x75\xe5\x13\xbe\x74\xbb\x1b\x41\x42\x49\x0b\x45\x4c\xe5\xbc\xa6\x8c\xae\xdb\x75\x10\xc7\x25\x7c\x36\x7d\x94\xbf\x3a\x11\x5b\x89\x7e\xe9\xfa\x1a\x35\x6f\x9b\x12\x96\x08\x5c\x94\x28\xb0\x84\xe5\x3e\xed\xbc\x4c\x28\x2b\xf1\x61\x0a\xbb\x9a\x16\x35\xd0\xae\x5b\x81\xac\xe2\xa2\xb0\x2b\x28\x93\x28\x34\x09\xf3\xd2\x29\x95\x99\x46\x8a\x02\xa5\x9c\xf8\x5e\xcb\xd4\x90\x1b\xeb\xfe\x15\x7c\xb6\x62\xeb\x30\x0b\xf0\xdf\xb7\xeb\x25\x0a\xe0\x95\xc5\x47\xc2\x12\xd5\x0e\x91\xa5\xe8\xed\x6a\x64\xfd\x86\xd0\x5e\x2b\x99\x6f\x23\x11\x56\x06\x90\xb1\xa2\x86\xb9\x4b\xd4\x8c\x73\xd3\x67\xb6\x47\x04\x05\x61\x80\x0f\x1b\x2c\x94\x0e\x5f\xca\x99\xb0\xd4\xb6\x1b\x01\xe9\xec\xd7\x41\xdf\xc3\x8e\x36\x0d\xd4\x64\x8b\x40\x14\x68\x8f\xa1\x01\xe8\x48\xc8\xd9\x4a\xaf\x16\x28\x37\x9c\x99\x46\x17\x19\xe0\x92\x67\xda\x96\x08\x3f\x33\xa7\xf1\x9d\x2c\x51\x39\x9c\x89\xe9\x2b\x81\xc0\x15\x11\xa5\xa6\xae\xe6\x3b\x58\xb7\x45\x1d\x23\x1f\xc3\x32\xf4\x6e\x2d\x37\x2c\x93\x33\x3d\xb6\x53\x90\xeb\x1b\x4c\x6c\x2f\x45\x8d\x5a\xaa\x1a\x95\x46\xf3\xc7\xca\xb3\x93\x1d\x1b\xb0\x18\xd6\x64\xb3\xf1\x15\xa0\x06\x62\xb7\xca\x39\xd9\x54\x40\xa0\xcc\x72\xe7\x79\xc7\x29\xd0\x78\xbc\xd1\x68\xbc\x71\x58\x04\xe6\x86\x2d\x5f\x97\x6b\xca\x80\x32\x85\xa2\x22\x05\x5a\xb5\x58\x13\x46\x8c\x5a\xd4\xd8\x6b\x33\x7a\x0c\x62\xac\xd7\x84\x32\x45\x8c\x56\x1a\x22\xa3\x06\x68\x70\x08\x02\x25\x6f\x85\xf6\x93\x61\xa7\x9c\x7f\xb0\xd8\x7c\x4e\xc3\xaf\xe5\x8a\x41\xa6\xef\x07\x34\x5b\xc8\x3d\x02\x56\x95\xd6\x69\xa2\xcc\xac\x15\xdd\xf6\xec\x69\x10\x67\x49\x59\xfa\xa6\xa8\x63\xcd\x47\x6e\x64\x32\x51\x44\xac\xd0\x72\xed\xaf\xbd\x00\xd2\x39\xd1\x10\x43\x7a\xb1\x78\x23\x72\xf9\xe7\x00\x24\xdc\x1c\xe8\xcf\xce\x06\x52\xcb\xf6\x4f\xae\xe0\xf9\x6b\xa5\x70\xbd\x31\x0e\x52\x71\xe7\xac\xbc\x4e\x01\x6f\x95\x56\x47\xe3\xff\x66\x60\xe0\xc1\x9b\x4e\x19\x9d\x63\x93\xb0\x6e\xb5\xae\xa2\xfb\xc9\xca\x90\xc8\x02\x99\xb1\x30\xb7\xfc\xb6\xc6\xe2\x3e\xd5\xdd\x73\x50\x62\x0f\x64\x45\x28\x9b\x3d\x3f\x8a\xe4\x15\xaa\xdb\x56\x08\x64\xf6\xf7\xc9\x74\xe6\x9c\xdd\x0f\x87\xb8\x91\xb1\xc2\x31\x7e\x7c\x34\x9b\xa6\x8e\x94\x17\x45\x2b\xb4\x83\xe3\x20\xb9\xd5\x18\x17\xcb\xdf\xbe\xf7\x04\xf5\xf0\x1f\xad\x0a\x4c\x66\xe1\xcc\xc2\x98\x38\x32\x65\x2d\x3b\xe1\x8c\x0d\x29\xd6\xf3\x4a\x20\x3a\x79\x28\xf8\x5a\x73\x33\xeb\x18\x83\x07\xf1\x21\xab\xc6\x66\x53\xb5\x8d\x86\x5b\xe8\x74\x4d\xf0\xa6\x59\x92\xe2\x5e\xdb\x3b\x43\x2c\xa3\xec\xd2\xab\xb3\x09\x4f\xf8\x0b\x51\x28\x55\x4f\xaf\x4d\x77\xb1\xdf\x4b\x1f\xd7\xd5\xc7\x25\x61\x88\x9c\x35\xc8\x56\xaa\x86\x1b\x78\x79\x05\xcf\xdf\xf3\x61\xfc\x71\x7a\x28\x6d\x5b\xee\x58\x16\x5b\x31\x5b\x16\xb3\x7e\xa4\xb4\xbe\xc9\xe8\xab\x75\xef\xad\x9f\x3d\x12\xbe\x3c\x54\x9d\x79\xeb\x09\x56\x33\x1c\xdc\xd8\x9f\x52\xe9\x34\x56\xe5\x1a\xb5\xd6\x07\x67\xf2\x27\x9d\x56\xc5\xdf\xdf\x31\xa3\xd9\x32\x64\x6d\x7d\x96\x73\xa9\x9e\xc4\xf3\x24\xa8\x2d\x16\x30\xba\xef\xf3\xdf\x93\x44\x75\x47\x24\x30\xae\x60\x23\xf8\x06\x45\xb3\x77\xa4\x94\x67\xf0\x1b\x6e\x8d\xb9\x3f\x45\x30\x21\xe9\xdd\xa0\x28\x90\x29\x9d\x1d\x2e\xf7\x4e\xef\x0f\x85\xe2\x25\x7a\x04\x32\xc7\x24\xde\x11\xf9\x50\xfd\x72\xf6\xd2\x08\xee\xd5\xec\xe5\xf1\x12\xf1\x01\x7a\xf2\xf7\x3e\x8f\x06\xb9\xee\x51\xe6\x30\x02\x04\x6e\x16\x06\xbf\xf3\xf3\xd1\x19\xd7\x0b\x8d\xb9\x76\x4b\x8e\x01\x81\x6b\x9e\xd0\xad\x21\x3b\x90\xeb\x88\x1d\x93\xc7\x37\xd3\x9f\x80\xe1\x50\x8f\x3a\x1e\xf5\xf4\x28\xe0\xfe\xed\x14\xea\xb5\x94\x74\xc5\x74\x4a\x5a\xd4\x58\x9e\x14\x0f\xbd\xbd\x1b\x1f\x7c\x8f\xda\x03\x27\xa0\x07\x79\x16\xad\x3a\x77\x44\x04\x86\x24\x9a\x0b\x78\xa9\x07\xf5\x82\x90\x52\xe9\x90\xba\x1f\x26\x0c\x06\xdd\x5f\xfa\xa8\xb8\x13\x8b\x2f\xfd\x84\x2a\xe4\x3b\xdf\x3b\x9f\x1a\xaf\xb2\xae\x0e\x66\x58\x03\xfa\xbe\x4f\x42\x34\x9f\xc3\xbb\x34\x2f\xa1\xac\x6b\x14\xa8\xc4\x53\x1f\xa7\xca\x36\xfc\xd8\x6c\x65\x78\xb2\x74\x8f\xfb\xab\x61\xf2\x71\x91\xb3\xeb\x3f\x7a\x87\xc5\x90\x3b\x6c\xd2\xc5\x47\x56\xff\x5c\x83\xcf\x6e\x05\x44\xc2\x0e\xe1\x9e\xf1\x1d\x50\x65\x8b\xa5\x34\xa5\xea\xc3\xed\x65\x58\x50\xb6\x26\xc7\xdf\x08\xbc\x2c\x38\xb3\x1d\x91\x63\x19\x33\xc4\x6f\x31\x64\x41\x7a\x14\x85\x6b\x7a\x4a\x4b\x66\xc8\xd0\xae\x99\xd2\x71\x32\xdb\x48\xfc\x9a\x0c\x65\x3e\x87\xb7\x4c\xb6\xc6\x60\x6d\xf9\xed\xd3\x39\x73\x76\x8e\x8c\xb7\xab\xda\x16\x4a\x15\x17\xc0\x4c\x89\xdb\x15\xa3\x09\x2c\x2d\xae\x9c\xc2\x9c\xc4\xd7\x6f\x98\xc3\x0e\x55\x72\x8d\x52\x92\x95\xf6\xbd\xb7\x84\x69\x1f\x6b\x59\x36\xcc\xac\x34\xf1\x74\xbc\x25\x55\x53\xa9\xb8\x30\xad\x1b\xef\xf4\x7a\x3e\x79\xfa\xac\xcf\xe6\xdf\x70\xcd\xb7\x69\xc7\xcb\xdb\xeb\xb9\x51\x96\x64\x41\x83\x0a\x84\x59\x51\x06\xc9\x2d\x8e\x36\x5d\xbb\x72\xc4\x74\x9f\x5c\x16\x4d\xcf\x4e\xd1\xf0\x41\x8f\xf0\x94\x7d\x23\xe5\x77\x5c\xc8\x31\xd4\x06\x8c\xa1\xf3\x48\x66\x9a\xce\xec\x78\x68\x19\x42\xb5\x27\x1f\x35\xfa\x9d\x83\xb8\xb4\x01\x6c\x51\xd0\x8a\x16\x64\xe0\x3c\x5c\x8b\xd8\xad\x39\x64\xa6\xdf\x2c\xd5\x9d\xcf\xe1\x3d\xee\xbc\x76\xca\xd0\x8f\x73\xca\x2b\x4c\x57\x83\x57\xae\xb3\x83\x65\x2f\xd3\x20\x47\x19\xaf\xcd\xe4\xc6\x50\x9b\xea\x2c\xcd\x4d\x39\xcd\x38\xa7\xf0\x02\x26\x3a\x7b\xbb\x7c\x62\x6e\x35\x85\xf3\xf3\x93\xb1\xbd\xfe\x5a\x6c\x4f\xf5\x41\x01\xdb\x47\x9c\x11\x70\x16\x32\xbd\x6c\x6e\xbf\xdc\x03\x69\x1a\xbe\xd3\xfa\xe8\x33\xc5\x4a\xf0\xb5\xad\xfd\xb4\x17\xb1\xd2\x3d\xec\x87\xb4\x5b\x29\x22\xe7\xea\x1a\x07\x8b\x51\xa7\x3b\x50\x38\x1e\xf5\xf5\xba\x0b\x77\xb8\xe7\xac\xf4\x90\x6d\x0d\x78\x01\x92\x54\x26\xe2\xae\xc9\xbd\x2f\x4a\x64\xff\x10\x36\x83\xcc\x69\x8d\x9b\x6f\x50\xeb\x8d\x95\x7a\xf9\x93\xcf\xc1\x76\xb4\x32\x6c\x65\xf8\x30\x48\x11\x0e\x60\x52\x51\x56\xbe\xc7\x87\x41\xa0\x4e\x7a\xee\x43\xee\xe4\xae\x36\x38\xd1\xbc\xab\x32\x7d\x61\x7f\x63\xc7\xb5\x46\x5d\xc4\xb9\x00\xb4\x41\xdf\xa4\xce\x7a\x60\x87\xff\x24\xd0\x94\x1d\x6e\xcf\x26\x04\x41\x53\xd5\xa7\x11\xb0\xb2\x0b\x07\x3d\x96\x1e\x46\xb6\x27\x40\x94\x4e\xdc\x88\x03\x1f\x01\x65\x9d\xf3\x3a\x05\xf0\x98\xa7\xf2\x9f\x8c\x4a\x9d\x6a\xb5\x70\x9d\x11\x67\xc6\xdd\x1c\xdc\x72\x44\xab\x72\xb0\x87\xce\xc1\x7f\x3a\x27\x61\x60\x75\x76\x0e\x3a\x11\x5e\x0a\x24\xf7\x72\x28\x74\x97\xb7\xc4\x2d\xfd\x19\x7c\xf4\x03\x11\x10\x52\x29\x0d\x0a\x1f\xd4\x00\x48\xa6\xe3\x08\x83\xf4\x3d\x12\xf6\x7f\xa2\xe9\x3f\x68\xb4\xb4\xe1\x77\xde\x6c\xa4\x5b\x91\x85\xf3\x5d\x4c\x17\x06\x45\xfe\x97\x23\x13\x99\x53\x0e\x11\xc7\x62\xce\x93\x52\x81\xa7\xf7\x58\x9e\xda\xa8\x18\xdb\xe7\x74\x46\x9d\x7a\x2e\x3a\xb2\x71\x14\xb9\x32\x9c\x1b\x4d\xe8\x86\xf7\x7c\x8e\x4d\x9a\xef\x71\x2f\xa3\x9e\xeb\x69\x81\x25\x57\x20\x8e\x4f\xcf\xea\xfe\x2c\xdb\x5b\x1d\xcc\xd2\x68\x7e\x1a\xf7\x7e\x87\xf1\x3c\xb8\xec\x78\x24\x06\x08\x1d\x35\xd3\xcc\x76\x0c\xbe\x84\x57\xa3\x6b\xa6\x77\xf9\xc8\xdb\x9f\x77\xa2\x38\x5e\x8e\x36\xcd\x20\x6d\x2f\x85\xbb\x28\x35\x86\x94\xa6\x8d\xdd\x8e\x8b\x56\x2e\x94\xd9\x9e\x6c\xef\xa9\x40\x00\xe6\x7a\xb2\x44\xea\x78\x5b\x26\xe5\x9f\xe9\x61\x98\x90\x6b\x2c\x25\x34\x9e\xb4\x7e\xaf\x50\xe5\x2a\x84\xa9\xaf\x05\x22\x76\xc4\x97\x53\xc6\xfc\xec\x3f\x04\x75\xc1\xe9\x4d\xbd\x73\x3b\x9e\xca\xc4\x5d\x65\xa8\x25\x50\xf0\xcd\xde\x1f\x1e\x57\x6d\xd3\xc4\x45\x7c\xf6\x52\x4d\x8a\xa8\x6d\xd4\x4d\x87\xd7\x0e\x0e\xe3\xd8\x81\x8c\x90\xfa\xd9\xbd\xdf\xb0\xc9\x8e\x08\x02\x21\x2a\x9c\xbe\x7a\xc9\x84\xa8\x4c\x24\x96\xc0\x59\x2c\xb6\x00\x6f\xf0\xde\x25\x3d\xc3\x8e\x8f\xc0\x23\xc2\x5c\xbe\xff\x1f\x76\xc7\x9c\x31\x65\xbb\x46\xc3\x26\xfe\x80\xde\xc1\xc9\x95\xa7\xa6\x7f\xb6\xec\xaf\x4e\x3c\x7f\x36\x34\xcb\xf9\xdc\x1d\x89\x6a\x8a\xc3\x1b\x8e\x90\xe2\xb8\xbc\x35\x29\x39\xc2\xda\xa7\x97\x39\xee\xcd\x89\xd9\xec\xf8\x44\xfe\xd7\xde\x8a\x47\xb3\xf8\xb3\x98\xcc\xa8\xe5\xd0\x63\x8c\xa5\x32\x97\x10\x8f\xa9\xda\xa7\x3e\xf2\x77\x67\x7d\xed\x33\x5c\x95\xb0\xab\x51\xd5\x28\xdc\x49\x7e\xb0\x5a\x22\xc3\x1b\x9a\x06\x1f\x39\xed\xf7\xca\x44\xa3\xf7\x1f\x5e\x75\x96\xb9\x66\x76\xff\x7a\xd8\xe0\xb2\x9d\x36\x0e\xca\xca\xc1\x9b\x9d\x4e\xee\xe7\x50\x18\xad\xe8\xab\x52\xef\x84\x38\x86\x38\xca\x44\x57\xb9\x6d\xd3\x12\xec\x6b\xc5\xbd\x1c\xaf\xd6\xdc\x5b\x28\x8d\xb8\x83\xea\xdf\x9a\x24\x32\xec\x21\x74\x77\x36\xd2\xa5\x92\x96\x7d\xc9\xd3\xb2\xf4\x01\x54\xef\x4e\x8e\xec\xc3\xf9\x09\x15\x8a\x35\x65\x68\xee\xdb\xa2\x18\x3c\xef\x72\x6c\xf2\xa7\xf8\xc9\xad\xd7\x94\x92\x03\x97\xee\x33\xb7\x82\xc3\x75\xe6\x18\xb2\xbf\x56\x79\x34\xe0\x03\xd7\xa4\x53\x18\x29\xe2\xdb\x47\x01\x7b\xac\x0e\x3f\x71\x82\x4c\x1e\xe1\x18\xfb\x5a\xca\xd6\xdc\x47\x60\x3c\xe3\xbc\x6c\x51\x7e\x91\xe7\xcf\xe0\xc7\x5c\x38\x63\x40\x84\x20\x7b\x73\x6a\x45\xec\x23\xbd\xc1\xe9\xbb\x2e\xbc\xed\x79\x71\xb8\x90\x11\x5f\x69\x23\x52\xf2\x82\x9a\xcb\x50\x03\x2b\xbb\x84\x4f\xcb\xdc\xa5\xa6\x81\x09\xdf\x05\x70\xef\x4c\x68\xb5\x97\xb7\x19\x1f\xbf\x90\xe1\x7d\xdb\x45\x08\x7c\xe6\x34\xd0\xd1\x73\x09\x9f\xee\xfa\x81\x2a\xd3\x26\xf9\x95\x50\x93\x0c\x7d\x7a\xcd\xf6\xf6\x81\xe5\x8f\x77\xa9\x1b\xf9\x0b\x66\x02\x44\xff\xaa\xd2\xe9\x71\x22\xe3\xb7\x63\xf4\x69\xa5\x69\x1f\xbf\xa8\xd1\x9d\x8a\xc6\x80\xba\x3e\x98\x43\x13\x1f\x0a\xc4\x52\x8e\x5e\x74\x73\x60\x62\x47\x36\x1e\x85\x17\x0b\x78\x09\x7f\xfe\x99\x6f\xb5\x99\x55\x8f\x35\xd5\x9c\x46\x7e\xba\xcb\x55\x64\xb6\xf4\xd7\x65\xbf\x39\x9b\xcb\x1e\x02\xf7\x1b\x41\x4b\xac\xb8\xc0\x8e\xbc\x3e\x3d\xf3\xf9\xb0\x1d\xa1\x77\x59\x71\xb0\xf7\x8b\xb4\x17\x76\x3d\xa4\x4c\xeb\xa2\xef\xe0\x4d\xbf\xe5\xff\xb2\x2b\xe7\x37\x3d\xe4\xe4\x63\xa4\xee\xce\xb2\xfc\x8e\xa7\x5c\xc4\x00\xb3\x82\x48\xa5\x34\x92\xf1\x27\xa9\xa2\x17\x8f\xeb\xc7\x8d\x07\xdd\x4a\xff\x27\x1b\x62\x9d\xe5\x33\xce\x30\x78\x35\x46\x1b\xed\x04\x2c\x3e\x4e\xaa\x83\xbb\x93\xda\xb6\x1f\x8f\xa5\xee\xe0\xc3\xff\xe7\xc7\xd4\xc6\x3f\x20\x11\x85\xbd\x30\x3d\x8a\x7b\x36\x63\x5a\x52\x46\xc4\xde\x2e\x77\x87\xef\x69\xdc\x7e\x2a\x0b\xc7\xbd\xde\x77\x64\xe1\xa3\x0a\x7b\x98\x8b\x5d\x4b\x5f\x63\xd9\x34\x7c\xa7\x09\x88\x52\x3e\xe7\x2c\xec\x0b\xd0\xe8\x21\x1b\x17\xe1\x49\x46\x0c\x2f\x58\xb5\x26\x28\x5c\x8e\x76\xce\x92\xd1\x26\xb6\xce\x18\xfe\xcd\xe2\x24\x6f\x14\x43\x4a\xdd\xd1\xdf\xfc\xd3\x8f\x0b\x68\x38\xbf\x0f\xaf\xfb\x8d\xaf\x18\xf3\x11\x5a\x81\x22\x1f\x71\x9c\x9a\x1c\x78\x26\x32\x68\x2d\x7d\x1a\xe4\x1a\x93\xfc\xc4\x59\x45\x85\x54\xef\x58\x89\x0f\x13\x5e\x5d\x25\x98\x4d\xcf\xe0\x07\x78\x95\xf6\x60\x0f\x39\x03\xcf\xa4\x48\x95\xdf\x18\xa2\x40\x5a\xdb\x21\xcd\x8a\x0b\xaa\xea\x75\xf0\xaa\x45\xc3\x25\x4a\xe5\xae\x4e\xd9\xab\x3f\xe9\x55\x1f\xe3\xc9\xa9\x84\x6b\x7f\x07\xc2\xce\x1d\x57\xd2\x2c\x1f\x0f\x2b\x65\xa7\x2e\xfe\xf2\x50\x7a\xdb\xa8\x7f\x87\xc8\x3f\x8c\x1b\x0d\x80\x27\xea\xd0\x4f\x46\x6f\x3d\x97\xe4\x86\x44\x9d\x50\xad\x2e\xd1\x21\x58\xc6\xb9\xa7\x3d\xb1\x8e\x9c\xec\xa5\xf5\xca\x73\x91\x4a\x77\x90\x16\x53\xe5\xc6\x4e\x34\x8e\xfc\xdc\xa3\x68\x35\x88\xc9\x84\x58\xcf\xc7\x88\x6a\xc7\xdb\x30\xcd\x5c\x85\xc7\x4a\x25\x7d\x36\xfd\xa3\x70\x19\x95\x9b\x1f\xef\xfb\x0b\xe7\x1b\x68\x99\xa2\x8d\xdf\x7b\xc3\xcd\xdd\x75\x09\x85\xe0\xb2\xc3\x61\x57\xd3\x06\x2d\xf8\x6b\x07\x30\xa5\x5a\x6f\xb4\xa6\x25\x2c\x60\x62\x66\xfd\x60\x67\x4d\x61\x0e\xff\xdc\x2f\x65\x3a\x1a\x3e\xad\x69\x79\xa7\xb5\xc3\xf1\x78\xb4\x1a\xe8\x2d\x19\xc9\xff\x53\x81\x5d\x0f\x36\x1a\x82\x37\x65\x4a\x69\x9a\xcd\xe7\xe7\x41\xd2\xbd\x85\x70\xf9\x2a\xb7\x76\x14\x3d\xb8\x84\x57\x77\x83\xe9\x5f\x86\xb4\x39\xc1\xac\x69\x79\x5c\xbb\xd5\x61\x7b\xad\x79\xec\x7b\xb8\xd3\x08\xf1\x3e\xc5\xda\x53\x9d\x84\xf9\x31\x58\x3b\x1d\x73\xe0\x8f\xa9\xc4\x52\x4f\xc2\xb8\xaa\x75\x78\x33\xe1\xf8\x11\x6f\x69\xfe\xe2\xc7\x81\xe7\x33\x17\xc7\x3c\x5f\x99\xf6\xfe\xbc\xca\x3b\x46\x15\x25\x0d\xfd\x1f\x77\xc7\x77\xd9\x44\x87\xe2\xc6\x6c\x8f\x7a\xd4\x05\x0b\x98\xbb\x57\x63\xf3\x47\x1e\x8b\x41\xae\x45\x07\x0b\xf8\xfc\x25\x3b\xdc\x3b\x60\x3b\x74\x72\xf7\x58\x33\x36\xbf\x7c\x70\xb2\x34\xe2\xd8\xb4\x27\x49\x58\xf7\x81\x6c\x0f\x5d\xc6\xd4\x11\xcc\xb1\x24\x05\x4d\x8a\x82\xb7\x4c\xcd\x24\xd9\xe2\xe4\xfa\xb2\x30\xe9\xcb\x01\x40\x93\xe9\x05\x28\x7e\x75\x82\x34\x7c\xbe\xf8\xe5\x19\xfc\x6f\x00\x00\x00\xff\xff\xae\x41\xe7\xf5\xa1\x48\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0x60, 0x54, 0x56, 0xb0, 0xb5, 0xe5, 0x30, 0xdb, 0x34, 0xe3, 0xd, 0x8f, 0xf8, 0xb3, 0xdb, 0x3e, 0x85, 0xd0, 0x50, 0xf0, 0x81, 0xd2, 0xd3, 0xd1, 0xfb, 0xf0, 0xa6, 0xf0, 0x10, 0xb4, 0xaf}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x16, 0xef, 0x9b, 0x73, 0xb9, 0xaa, 0x81, 0xfe, 0xe3, 0x7, 0x17, 0x58, 0xd2, 0x89, 0x53, 0x99, 0xaa, 0x1b, 0xf8, 0x22, 0x85, 0xe3, 0x32, 0xbc, 0xee, 0x14, 0x9c, 0xc0, 0xec, 0xdc, 0xaa}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index 92c3d0c9b..ac99231df 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -72,11 +72,13 @@ // ../../../transactions/epoch/scripts/get_randomize.cdc (121B) // ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.564kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) +// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (1.074kB) // ../../../transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc (996B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (176B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (174B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (195B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (165B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc (173B) // ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (273B) // ../../../transactions/flowToken/burn_tokens.cdc (1.085kB) // ../../../transactions/flowToken/create_forwarder.cdc (1.815kB) @@ -1786,6 +1788,26 @@ func executionnodeversionbeaconAdminChange_version_update_bufferCdc() (*asset, e return a, nil } +var _executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x52\xcf\x8b\xda\x40\x14\xbe\xe7\xaf\xf8\xf0\xd0\xea\xc5\xf4\x50\x7a\x08\xb5\x4b\xd4\x14\x96\x42\x2c\xba\x4a\xaf\xb3\x93\x17\x33\x90\xbc\x09\x93\x97\xc6\xb2\xec\xff\x5e\x32\x59\x95\x82\xb1\x94\x1e\x33\x79\xef\xfb\xf5\x3e\x53\xd5\xd6\x09\x92\x13\xe9\x56\x8c\xe5\xd4\x66\x74\x20\xd7\x18\xcb\x4b\x52\xda\x32\x72\x67\x2b\x7c\x38\x25\x3f\x92\xd5\xfe\xe9\x71\x93\xa6\x9b\x75\x72\x48\xb6\xbb\xc7\x4d\xba\x4c\xe2\xd5\x26\x8d\xd7\xeb\x6d\xb2\xdb\x05\x41\x18\x86\x78\x72\x8a\x1b\xa5\x7b\x28\x48\xa1\x04\xaa\x2c\x6d\xd7\xdc\x24\x88\xb3\xca\x30\xc4\x42\x17\x8a\x8f\xe4\xf7\xa5\x20\x64\x94\x1b\xa6\x0c\x3f\x87\xb1\x7d\x9d\x29\xa1\x65\x9b\xe7\xe4\x0e\xca\x19\xc5\x9a\x82\x40\xae\x44\x53\xa6\xee\xd6\x50\x84\xfd\x57\x73\xfa\xf4\x71\x86\x97\x20\x00\x4a\xba\xe7\xd3\x8b\xd9\x52\x1e\xe1\x5d\xcc\xbf\xb6\xd4\xd8\xd6\x69\x7a\x19\x5f\x98\x8f\x5a\x7a\xed\xd9\x6a\x47\xb5\x72\x34\x55\x5a\x4b\x84\xb8\x95\x22\xd6\xda\xb6\x2c\xbd\x1a\x00\x08\x43\x2c\xad\x73\xb6\x83\x82\xa3\x9c\x1c\xb1\xa6\x3e\x8d\x3e\x82\xf1\xb8\x4c\x55\x97\x54\x11\x8b\xe1\x23\xdc\x9b\x4c\x0f\xd8\x50\x99\xdf\x14\xf5\xa7\x41\x2c\xd0\x6b\x9a\x3f\x7b\xf2\xcf\xff\xef\xf6\x8b\x67\x07\xa6\x7d\x53\xa2\x3b\x11\xdf\xc4\xf8\x46\x54\x93\xdb\x89\x75\xea\x48\xdf\x95\x14\xb3\x37\xb8\x87\x07\xd4\x8a\x8d\x9e\x4e\x56\xb6\x2d\x33\x7e\x2f\x18\x24\xff\xed\x88\x38\xdb\x99\xf4\x50\xfe\x18\xe4\x37\xe8\x9a\x7c\x9c\x65\x3e\x67\xa6\xee\x5c\xb3\x73\xf4\x97\x4f\xf5\x5c\xfe\x53\xb0\xf3\xa1\xc6\x87\xf1\xd6\x8e\x17\x75\xe4\xc7\xc5\x40\x6d\x1b\x19\xc4\xdf\x89\xf7\x48\x72\x8f\x7c\x86\xc5\x62\x8c\x08\x11\x26\xc3\x0b\x2e\x4f\x9d\x6a\xc0\x56\xd0\xfa\xf9\x6c\xe2\xb5\xbc\x06\xbf\x03\x00\x00\xff\xff\x69\x1e\x8d\xce\x32\x04\x00\x00" + +func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc", + ) +} + +func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0x96, 0xff, 0xa6, 0xfc, 0x7a, 0x7f, 0x3a, 0xda, 0x49, 0x33, 0x3f, 0x14, 0x66, 0xbe, 0x6d, 0xe1, 0xb, 0x9e, 0xb6, 0x3b, 0xfe, 0xa6, 0xb, 0xf3, 0x1f, 0x1, 0x11, 0x66, 0xc7, 0x6f, 0x36}} + return a, nil +} + var _executionnodeversionbeaconAdminDelete_latest_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x93\x41\x8f\xda\x3e\x10\xc5\xef\xf9\x14\x23\x0e\xff\x7f\xb8\x24\x7b\x46\xed\xae\x02\xe4\xb0\x6a\x15\x2a\xa0\xab\x5e\x8d\xfd\x42\x2c\x39\x76\xe4\x4c\x0a\xab\x15\xdf\xbd\xb2\xc9\x16\x55\x05\xaa\xaa\x39\x44\x51\x32\x9e\xf7\xe6\x37\x2f\xba\xed\x9c\x67\x2a\x8f\x90\x03\x6b\x67\x2b\xa7\xf0\x02\xdf\x6b\x67\xe7\x10\xd2\x59\xaa\xbd\x6b\xe9\xe1\x58\x7e\x2b\x17\x5f\xb7\xcf\xab\xaa\x5a\x2d\xcb\x97\x72\xbd\x79\x5e\x55\xf3\xb2\x58\xac\xaa\x62\xb9\x5c\x97\x9b\x4d\x92\xe4\x79\x4e\x5b\x2f\x6c\x2f\x64\x68\x45\xdc\x08\x26\x61\x8c\x3b\xf4\x57\x05\x0a\xd5\x6a\x4b\xec\x48\xc1\x80\x41\xdc\x80\x8c\x60\xf4\x1c\x5b\x7d\x3f\x57\xd1\xce\x0d\x56\x09\xff\x4a\xad\xe8\x3a\x6d\xf7\xa4\x50\x6b\x0b\x45\xe1\x70\x83\x9f\x75\x2c\x76\x06\x49\xc2\x17\x07\xe9\x94\xde\x92\x84\xc8\xe0\xde\x84\xd1\xc6\x1a\xf5\x8c\xfe\x2b\xec\xeb\x1a\xbd\x1b\xbc\xc4\xdb\xed\x03\xd9\xcd\x61\x4e\x41\xad\xf3\xe8\x84\x47\x2a\xa4\xe4\x19\x15\x03\x37\x85\x94\x6e\xb0\x1c\xdc\x10\xc5\x82\xf3\x43\xb8\xee\xc8\xec\xc1\xe3\x8b\x6d\x18\x2d\x9d\x66\x06\x76\xcf\x0d\x3d\xd2\x03\xcd\x68\x52\xb9\xdf\xd9\xe0\xa8\x7b\xee\x2f\x50\xb3\x49\x54\x3a\xc5\x7b\x9e\xd3\xdc\x79\xef\x0e\x24\xc8\xa3\x86\x87\x95\x08\xb5\x01\xe3\xed\x0d\xe9\xb6\x33\x68\x61\x39\x08\xf8\x91\x4f\x6c\xd8\xc3\xd4\x57\x69\xfc\x4a\x96\x3e\x52\x80\x91\xed\xa2\xf8\x87\x7f\xc7\xfc\x38\xe2\x4b\x43\x38\x67\xf7\x18\x5e\xfb\xf4\x09\xe8\xe0\x37\xec\xbc\xd8\xe3\x8b\xe0\x66\x3a\xb6\x7b\x7a\xa2\x4e\x58\x2d\xd3\xc9\xc2\x0d\x46\xd9\xff\x99\xce\x96\xff\x94\x1e\x7a\x1f\x67\x12\x5a\xc5\x14\x20\x9e\xc0\xb8\xf2\x3c\xa7\x42\xa9\xc8\xd9\xe2\x70\x89\xac\xbb\x92\xe0\xbf\x00\x9b\x9d\x97\xfc\x39\xfe\x34\xef\x15\x63\x24\xd2\xd1\xca\x29\xf9\x11\x00\x00\xff\xff\x25\x6f\x17\xe1\xe4\x03\x00\x00" func executionnodeversionbeaconAdminDelete_latest_versionCdcBytes() ([]byte, error) { @@ -1886,6 +1908,26 @@ func executionnodeversionbeaconScriptsGet_version_update_bufferCdc() (*asset, er return a, nil } +var _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\xbd\x0a\xc2\x30\x10\x00\xe0\x3d\x4f\x71\x63\xbb\x88\x83\x38\xb8\xf5\xe7\x84\x2e\x09\xb4\xb6\xb8\xc6\xf6\x22\x19\x7a\x57\xce\x04\x0a\xe2\xbb\xbb\x38\xbb\x7e\xcb\x17\xd7\x4d\x34\x01\xee\x34\xe7\x14\x85\xad\x2c\x34\x91\xbe\xa2\x70\x4d\x7e\x16\x86\xa0\xb2\xc2\x71\xc7\x3b\x36\xe3\xad\x73\xd6\xba\x16\x27\xec\x87\xce\xd9\x1a\xab\xc6\xd9\xaa\x6d\x7b\x1c\x06\x63\xb6\xfc\x80\x90\x19\x56\x1f\xb9\x28\x2f\x30\x5e\xe3\x7e\x3e\xc1\xdb\x00\x00\x28\xa5\xac\xfc\x27\x3a\x3c\x29\xfd\x60\xdc\x16\x9f\xa8\xce\x21\x90\x4e\x5e\xa3\xe7\x99\x8a\xd2\x7c\xbe\x01\x00\x00\xff\xff\x97\x43\xb5\x29\xad\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0x28, 0xf, 0xb9, 0x40, 0x34, 0x17, 0xb9, 0x72, 0x37, 0xaa, 0xf0, 0x2, 0xf6, 0x80, 0xb7, 0x2d, 0x7e, 0xae, 0x62, 0x41, 0x66, 0x79, 0x1e, 0x5, 0xd3, 0x5a, 0x98, 0x79, 0xcc, 0x86, 0x48}} + return a, nil +} + var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xb1\x6a\x86\x30\x14\x05\xe0\x3d\x4f\x71\x47\x05\x29\x1d\x4a\x07\x37\xa3\x81\xba\x24\x60\xaa\x74\x55\x7b\x6d\x43\x4d\xae\xc4\x44\x94\xd2\x77\xef\x52\xcb\xff\x2f\xce\x87\x73\xce\x67\xec\x42\x3e\x80\xd8\x71\x8c\xc1\x90\x93\xf4\x8e\x1d\xfa\xd5\x90\xe3\xd8\x8f\xe4\x60\xf2\x64\xe1\x71\x17\x6f\xa2\x6c\x5f\x6b\x25\xa5\xaa\x44\x27\x1a\x5d\x2b\xc9\x45\x51\x2a\x59\x54\x55\x23\xb4\x66\x6c\x89\x03\x4c\xd1\x81\xed\x8d\x4b\xec\xc1\x67\x1a\xbf\x5e\xd0\x7c\x7c\x86\x1c\xda\xda\x85\xe7\xa7\x0c\xec\xf1\xb7\x9e\x5f\x7c\x3e\x68\xb4\x1b\xfa\x34\x07\x4e\x34\xc3\x37\x03\x00\xf0\x18\xa2\x77\x57\x2d\xb3\x96\x64\x97\x3e\x98\x61\x3e\x93\x64\xb8\x45\xdc\x99\x32\xd8\x4e\xc9\x3f\x2a\x65\x3f\xbf\x01\x00\x00\xff\xff\x68\xff\xc8\x01\x11\x01\x00\x00" func executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() ([]byte, error) { @@ -6049,11 +6091,13 @@ var _bindata = map[string]func() (*asset, error){ "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, "executionNodeVersionBeacon/admin/delete_latest_version.cdc": executionnodeversionbeaconAdminDelete_latest_versionCdc, "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, @@ -6402,6 +6446,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "admin": {nil, map[string]*bintree{ "add_version_to_table.cdc": {executionnodeversionbeaconAdminAdd_version_to_tableCdc, map[string]*bintree{}}, "change_version_update_buffer.cdc": {executionnodeversionbeaconAdminChange_version_update_bufferCdc, map[string]*bintree{}}, + "change_version_update_buffer_variance.cdc": {executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, map[string]*bintree{}}, "delete_latest_version.cdc": {executionnodeversionbeaconAdminDelete_latest_versionCdc, map[string]*bintree{}}, }}, "scripts": {nil, map[string]*bintree{ @@ -6409,6 +6454,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, "get_version_table.cdc": {executionnodeversionbeaconScriptsGet_version_tableCdc, map[string]*bintree{}}, "get_version_update_buffer.cdc": {executionnodeversionbeaconScriptsGet_version_update_bufferCdc, map[string]*bintree{}}, + "get_version_update_buffer_variance.cdc": {executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, map[string]*bintree{}}, "is_compatible_version.cdc": {executionnodeversionbeaconScriptsIs_compatible_versionCdc, map[string]*bintree{}}, }}, }}, diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js index 350ee1a98..c91a8d6e5 100644 --- a/lib/js/test/templates/script_templates.js +++ b/lib/js/test/templates/script_templates.js @@ -36,5 +36,4 @@ function readScriptFile(filename) { } catch (error) { throw error } - }; diff --git a/lib/js/test/templates/transaction_templates.js b/lib/js/test/templates/transaction_templates.js new file mode 100644 index 000000000..8fc6bddf3 --- /dev/null +++ b/lib/js/test/templates/transaction_templates.js @@ -0,0 +1,23 @@ +import fs from "fs"; +import path from "path"; + +export const TRANSACTION_FILENAMES = { + addVersionToTableFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc", + changeVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", + changeVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", + deleteLatestVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc", +} + +function readTransactionFile(filename) { + try { + return fs.readFileSync( + path.resolve( + __dirname, + filename + ), + {encoding:'utf8', flag:'r'} + ); + } catch (error) { + throw error + } +}; \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc new file mode 100644 index 000000000..2af18a445 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc @@ -0,0 +1,25 @@ +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS + +/// Transaction that allows ExecutionNodeVersionAdmin to change +/// the defined versionUpdateBufferVariance + +transaction(newUpdateBufferVariance: UFix64) { + + let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + + prepare(acct: AuthAccount) { + // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") + } + + execute { + // Add the new version to the version table + self.ExecutionNodeVersionBeaconAdminRef.changeVersionUpdateBufferVariance(newUpdateBufferVariance: newUpdateBufferVariance) + } + + post{ + ExecutionNodeVersionBeacon.getVersionUpdateBufferVariance() == newUpdateBufferVariance : "Buffer Variance was not updated" + } +} From 55ba85a597a414b327b0e429ddc6379b5b5b46c9 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Thu, 15 Sep 2022 16:24:16 -0500 Subject: [PATCH 10/21] Updated ENVerBeacon contract w/ new data structs to maintain proximal boundaries + transaction changes --- contracts/ExecutionNodeVersionBeacon.cdc | 259 +++---- lib/go/contracts/internal/assets/assets.go | 6 +- lib/go/templates/internal/assets/assets.go | 630 ++++++++++-------- lib/js/test/templates/script_templates.js | 5 +- .../test/templates/transaction_templates.js | 36 +- ...xecution_node_version_beacon_tests.test.js | 80 ++- ...c => delete_upcoming_version_boundary.cdc} | 11 +- .../scripts/get_current_block_height.cdc | 3 + ...current_minimum_execution_node_version.cdc | 1 + ...nimum_execution_node_version_as_string.cdc | 7 + 10 files changed, 604 insertions(+), 434 deletions(-) rename transactions/executionNodeVersionBeacon/admin/{delete_latest_version.cdc => delete_upcoming_version_boundary.cdc} (71%) create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index ce7116825..a0a1920d0 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -120,9 +120,12 @@ pub contract ExecutionNodeVersionBeacon { /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries access(contract) var versionUpdateBufferVariance: UFix64 - /// Cache of the last block boundary in the versionTable mapping - /// Updated any time a change to the version table is made - access(contract) var lastBlockBoundary: UInt64 + /// Sorted Array containing future block heights where a version boundary is defined + /// We'll maintain this as easy mechanism for determining proximal version block boundaries + access(contract) var upcomingBlockBoundaries: [UInt64] + + /// Sorted Array containing historical block heights where version boundaries were defined + access(contract) var archivedBlockBoundaries: [UInt64] /// Admin interface that manages the Execution Node versioning /// maintained in this contract @@ -131,8 +134,6 @@ pub contract ExecutionNodeVersionBeacon { /// Update the minimum version to take effect at the given block height pub fun addVersionBoundaryToTable(targetBlockHeight: UInt64, newVersion: Semver) { pre { - targetBlockHeight > ExecutionNodeVersionBeacon.lastBlockBoundary - : "Attempting to insert mapping out of order. Block Boundary insertions must be inserted in ascending order. Check versionTable & try again." targetBlockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer : "Target block height occurs too soon to update EN version." } @@ -140,9 +141,11 @@ pub contract ExecutionNodeVersionBeacon { /// Deletes the last entry in versionTable which defines an upcoming version boundary /// Could be helpful in case rollback is needed - pub fun deleteLatestVersionBoundary(): Semver { + pub fun deleteUpcomingVersionBoundary(blockHeight: UInt64): Semver { pre { ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." + ExecutionNodeVersionBeacon.versionTable.keys.contains(blockHeight): "No boundary defined at that blockHeight." + ExecutionNodeVersionBeacon.upcomingBlockBoundaries.contains(blockHeight): "Boundary not defined in upcomingBlockBoundaries." } } @@ -164,10 +167,6 @@ pub contract ExecutionNodeVersionBeacon { ExecutionNodeVersionBeacon.versionUpdateBufferVariance == newUpdateBufferVariance: "Update buffer variance was not properly changed! Reverted." } } - - /// Assigns cached ExecutionNodeVersionBeacon.lastBlockBoundary to the last key in - /// the versionTable if mappings are defined or 0 if the table is empty - pub fun assignLastBlockBoundary() } /// Admin resource that manages the Execution Node versioning @@ -179,31 +178,33 @@ pub contract ExecutionNodeVersionBeacon { key: targetBlockHeight, newVersion ) - // Set lastBlockBoundary to passed target as we know it will be inserted in - // ascending order due to pre-condition - ExecutionNodeVersionBeacon.lastBlockBoundary = targetBlockHeight + // Insert the version boundary's target block height into the + // array maintaining all upcoming block height boundaries + ExecutionNodeVersionBeacon.insertUpcomingBlockBoundary(targetBlockHeight) emit ExecutionNodeVersionTableAddition(height: targetBlockHeight, version: newVersion) } - pub fun deleteLatestVersionBoundary(): Semver { + pub fun deleteUpcomingVersionBoundary(blockHeight: UInt64): Semver { // Ensure deletion occurs with enough time for nodes to respond assert( - ExecutionNodeVersionBeacon.lastBlockBoundary > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer, + blockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer, message: "Cannot delete version boundary within update buffer period or historical mappings." ) - // Remove the version mapping & emit + // Remove the version mapping and upcomingBlockBoundaries then emit event let removed: Semver = ExecutionNodeVersionBeacon.versionTable.remove( - key: ExecutionNodeVersionBeacon.lastBlockBoundary + key: blockHeight )! + ExecutionNodeVersionBeacon.upcomingBlockBoundaries.remove( + at: ExecutionNodeVersionBeacon.upcomingBlockBoundaries.firstIndex(of: blockHeight)! + ) - emit ExecutionNodeVersionTableDeletion(height: ExecutionNodeVersionBeacon.lastBlockBoundary, version: removed) - - // Reassign lastBlockBoundary - self.assignLastBlockBoundary() + emit ExecutionNodeVersionTableDeletion(height: blockHeight, version: removed) - // Return the removed version for verification + // Clean up upcoming & archived block boundaries before + // returning removed version for verification + ExecutionNodeVersionBeacon.archiveOldBlockBoundaries() return removed } @@ -215,23 +216,27 @@ pub contract ExecutionNodeVersionBeacon { message: "Can only change versionUpdateBuffer by allowed variance from existing buffer." ) + // Get current block height & clean up upcoming block boundaries let currentBlockHeight = getCurrentBlock().height + ExecutionNodeVersionBeacon.archiveOldBlockBoundaries() + // No boundaries defined beyond current block, safe to make changes - if currentBlockHeight > ExecutionNodeVersionBeacon.lastBlockBoundary { + if ExecutionNodeVersionBeacon.upcomingBlockBoundaries.length == 0 { ExecutionNodeVersionBeacon.versionUpdateBuffer = newUpdateBufferInBlocks } else { - - if let nextBlockBoundary = ExecutionNodeVersionBeacon.findNextVersionBoundary(blockHeight: currentBlockHeight) { - // If a version boundary exists in the mapping, ensure that the we're not currently within the buffer period of that boundary - // and that we are not within the new buffer period of that boundary - assert( - currentBlockHeight + ExecutionNodeVersionBeacon.versionUpdateBuffer < nextBlockBoundary && - currentBlockHeight + newUpdateBufferInBlocks < nextBlockBoundary, - message: "Updating buffer now breaks version boundary update expectations. Try updating buffer after next version boundary." - ) - // We can now safely change the versionUpdateBuffer - ExecutionNodeVersionBeacon.versionUpdateBuffer = newUpdateBufferInBlocks - } + // Get the proximal upcoming boundary + let nextBlockBoundary = ExecutionNodeVersionBeacon.upcomingBlockBoundaries[0] + + // Ensure that the we're not currently within the old or new buffer period + // of the next block height boundary + assert( + currentBlockHeight + ExecutionNodeVersionBeacon.versionUpdateBuffer < nextBlockBoundary && + currentBlockHeight + newUpdateBufferInBlocks < nextBlockBoundary, + message: "Updating buffer now breaks version boundary update expectations. Try updating buffer after next version boundary." + ) + + // We can now safely change the versionUpdateBuffer + ExecutionNodeVersionBeacon.versionUpdateBuffer = newUpdateBufferInBlocks } emit ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: newUpdateBufferInBlocks) @@ -242,21 +247,6 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: newUpdateBufferVariance) } - - pub fun assignLastBlockBoundary() { - if ExecutionNodeVersionBeacon.versionTable.keys.length > 0 { - ExecutionNodeVersionBeacon.lastBlockBoundary = ExecutionNodeVersionBeacon - .versionTable - .keys[( - ExecutionNodeVersionBeacon - .versionTable - .keys - .length - 1 - )] - } else { - ExecutionNodeVersionBeacon.lastBlockBoundary = 0 - } - } } /// Returns the current updateBuffer period within which Execution Nodes @@ -276,122 +266,138 @@ pub contract ExecutionNodeVersionBeacon { return self.versionTable } - /// Function that returns that minimum current version based on the current - /// block height and version table mapping - pub fun getCurrentMinimumExecutionNodeVersion(): Semver { + /// Function that returns that version that was defined at the most + /// recent block height boundary + pub fun getCurrentExecutionNodeVersion(): Semver? { pre { self.versionTable.length > 0: "No current minimum version defined." } - // Check the previous boundary at the current block - let currentBlockHeight = getCurrentBlock().height - let previousBoundary = ExecutionNodeVersionBeacon.findPreviousBoundary(blockHeight: currentBlockHeight)! - // Return the version defined at that boundary - return self.versionTable[previousBoundary]! + + // Update both upcomingBlockBoundaries & archivedBlockBoundaries arrays + self.archiveOldBlockBoundaries() + + // Return nil if no historical boundaries have been defined + if self.archivedBlockBoundaries.length == 0 { + return nil + } + + // Return the version mapped to the last historical block height boundary + return self.versionTable[UInt64(self.archivedBlockBoundaries.length - 1)] + } + + /// Returns an array containing the block number at which to update and + /// associated version boundary - [blockBoundary: UInt64, version: Semver] + /// If there is no upcoming version boundary defined, returns empty array - [] + pub fun getNextVersionBoundaryPair(): [AnyStruct] { + + // Update upcomingBlockBoundaries so we know we're only dealing with future boundaries + self.archiveOldBlockBoundaries() + + // No Future boundaries defined OR table contains no versions will + // return empty array as there are no boundaries to be concerned with + if self.upcomingBlockBoundaries.length == 0 || self.versionTable.length == 0 { + return [] + } + + // By now we know the next boundary we're concerned with is defined as + // the first element in the upcomingBlockBoundaries array + return [ + self.upcomingBlockBoundaries[0], + self.versionTable[self.upcomingBlockBoundaries[0]] + ] } /// Checks whether given version was compatible at the given block height pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool { + // Find previous version boundary & check minimum version in versionTable // at that boundary - if let versionBoundary = ExecutionNodeVersionBeacon.findPreviousBoundary(blockHeight: blockHeight) { + if let versionBoundary = self.searchForClosestHistoricalBlockBoundary(blockHeight) { let minimumVersion = self.versionTable[versionBoundary]! - // Returns Bool representing compatibility between versions - // Determine lesser version - if version.coreLessThan(minimumVersion) { - return false - } else if version.coreEqualTo(minimumVersion) { - return true - } else if minimumVersion.coreLessThan(version) { - return version.isBackwardsCompatible - } + // Either the version is greater than or equal to the minimum stated version + // at that block boundary + // OR + // the minimum stated version is backwards compatible + return ( + version.coreGreaterThanOrEqualTo(minimumVersion) + && version.isBackwardsCompatible + ) + || minimumVersion.isBackwardsCompatible } // Assuming no previous boundary exists, return false return false } - /// Returns an array containing the block number at which to update and - /// associated version boundary - [blockBoundary: UInt64, version: Semver] - /// If there is no upcoming version boundary defined, returns empty array - [] - pub fun getNextVersionBoundaryPair(): [AnyStruct?] { - // Get the current block height - let currentBlockHeight = getCurrentBlock().height + /// Find the ascending sort insertion index for the passed block height + access(contract) fun insertUpcomingBlockBoundary(_ targetBlockHeight: UInt64) { + // Update upcoming & archived block boundaries based on current block height + self.archiveOldBlockBoundaries() - // Return empty array if no version boundary mappings defined or - // if current block exceeds the last block boundary defined - if self.versionTable.length == 0 || currentBlockHeight > self.lastBlockBoundary { - return [] + // If there are no upcomingBlockBoundaries or targetBlockHeight is beyond all + // upcoming block boundaries, simply append + if self.upcomingBlockBoundaries.length == 0 + || targetBlockHeight > self.upcomingBlockBoundaries[self.upcomingBlockBoundaries.length - 1] { + self.upcomingBlockBoundaries.append(targetBlockHeight) } - // We now know mappings are defined and that we are before the last defined - // version boundary. We go on to find the next version boundary - if let nextBoundary = ExecutionNodeVersionBeacon.findNextVersionBoundary(blockHeight: currentBlockHeight) { - let nextVersion = self.versionTable[nextBoundary]! - return [nextBoundary, nextVersion] + // Find the index of the closest block height less than the target + var i = 0 + while self.upcomingBlockBoundaries[i] < targetBlockHeight { + i = i + 1 } - - return [] - } - - /// Returns the block height defined in the previous version boundary found in versionTable - /// If none exists, nil is returned - access(contract) fun findPreviousBoundary(blockHeight: UInt64): UInt64? { - // Search for previous version boundary - return self.binarySearch(target: blockHeight) + // Insert at the discovered appropriate index + self.upcomingBlockBoundaries.insert(at: i, targetBlockHeight) } - /// Returns the block height defined in the upcoming version boundary found in versionTable - /// If none exists, nil is returned - access(contract) fun findNextVersionBoundary(blockHeight: UInt64): UInt64? { - // No boundary following given blockHeight if it is greater or equal to - // the last one defined. Return nil - if blockHeight >= self.lastBlockBoundary { - return nil - } + /// Removes historic block heights from array maintaining upcoming block version boundaries + access(contract) fun archiveOldBlockBoundaries() { + // Check block height when function is called + let currentBlockHeight = getCurrentBlock().height - // Otherwise, look for the next boundary - if let prevBoundary = self.binarySearch(target: blockHeight) { - return self.versionTable.keys[ - (self.versionTable.keys.firstIndex(of: prevBoundary)! + 1) - ] + // Clear previous block heights from upcomingBlockBoundaries in the array + // and append to archivedBlockBoundaries + while self.upcomingBlockBoundaries.length > 0 && self.upcomingBlockBoundaries[0] < currentBlockHeight { + let archivedBlockBoundary = self.upcomingBlockBoundaries.removeFirst() + self.archivedBlockBoundaries.append(archivedBlockBoundary) } - - return nil } /// Binary search algorithm to find closest value key in versionTable that is <= target value - access(contract) fun binarySearch(target: UInt64): UInt64? { - // Return nil if the versionTable is empty - if self.versionTable.length == 0 { + access(contract) fun searchForClosestHistoricalBlockBoundary(_ target: UInt64): UInt64? { + // Update archived and future block height boundaries + self.archiveOldBlockBoundaries() + + // Return nil if the versionTable is empty or no historical + // block height boundaries have been defined + if self.versionTable.length == 0 || self.archivedBlockBoundaries.length == 0 { return nil } - // Define search space - let boundaries = self.versionTable.keys // Return last block boundary if target is beyond - if target >= self.lastBlockBoundary { - return self.lastBlockBoundary + let archiveLength = self.archivedBlockBoundaries.length + if target >= self.archivedBlockBoundaries[archiveLength - 1] { + return self.archivedBlockBoundaries[archiveLength - 1] } // Define search bounds - let length = boundaries.length - var left = 0 - var right = length + var left = 0 + var right = archiveLength // Loop until search pointers cross while left < right { var mid = (left + right) / 2 - if boundaries[mid] == target { - return boundaries[mid] + if self.archivedBlockBoundaries[mid] == target { + return self.archivedBlockBoundaries[mid] } - if target < boundaries[mid] { - if mid > 0 && target > boundaries[mid -1] { - return boundaries[mid - 1] + if target < self.archivedBlockBoundaries[mid] { + if mid > 0 && target > self.archivedBlockBoundaries[mid -1] { + return self.archivedBlockBoundaries[mid - 1] } right = mid } else { - if mid < (length - 1) && target < boundaries[mid + 1] { - return boundaries[mid] + if mid < (archiveLength - 1) && target < self.archivedBlockBoundaries[mid + 1] { + return self.archivedBlockBoundaries[mid] } left = mid + 1 } @@ -401,12 +407,13 @@ pub contract ExecutionNodeVersionBeacon { } init(versionUpdateBuffer: UInt64, versionUpdateBufferVariance: UFix64) { - /// Initialize variables + /// Initialize contract variables self.ExecutionNodeVersionKeeperStoragePath = /storage/ExecutionNodeVersionKeeper self.versionTable = {} self.versionUpdateBuffer = versionUpdateBuffer self.versionUpdateBufferVariance = versionUpdateBufferVariance - self.lastBlockBoundary = 0 + self.archivedBlockBoundaries = [] + self.upcomingBlockBoundaries = [] /// Save ExecutionNodeVersionKeeper to storage self.account.save(<-create ExecutionNodeVersionKeeper(), to: self.ExecutionNodeVersionKeeperStoragePath) diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index cbe352326..802e295d2 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.593kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (19.322kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5d\x6f\x1b\xb9\x76\xef\xf9\x15\xc7\x79\x70\xa5\xac\x2d\x25\x45\x51\x14\x86\xe5\x45\xe2\xcd\xde\x1b\x74\x9b\xbb\xd8\x64\xb7\x0f\x81\x71\x41\xcd\x9c\xd1\xb0\x1e\x91\x2a\xc9\x91\xac\x66\xf3\xdf\x0b\x7e\x0e\x39\xc3\x91\x25\x27\x29\x7a\xf5\x92\x48\x24\x0f\xcf\xf7\x17\x49\xcf\xe7\x73\xf8\x58\x53\x09\x05\x67\x4a\x90\x42\x01\x95\xd0\x4a\x2c\x41\x71\x28\xb1\xa2\x0c\x4b\x58\x36\xbc\xb8\x87\x1a\xe9\xaa\x56\x40\x58\x09\x92\x57\x6a\x47\x04\xc2\x16\x85\xa4\x9c\xc1\x92\xb7\xac\x24\x82\xa2\x7c\xa6\x21\x56\x5c\x80\xaa\xb1\x9b\x27\x5a\x06\xcb\x3d\xbc\x7d\xc0\xa2\x55\x7a\xc1\x7b\x5e\xa2\x9c\x3d\xdb\xb4\xcb\x6e\xe7\x30\xaa\x07\xff\xb0\x90\xdf\x20\x29\x38\x83\xcf\xcf\x9e\x01\x00\x68\xd8\x1f\x94\x68\x0b\x05\x02\x37\x02\x25\x32\x45\xd9\x6a\x88\x0f\x91\xf0\x01\xd7\x84\x29\x5a\x80\x83\x14\x00\x90\x86\xb3\x15\xec\xa8\xaa\xa1\xc6\x66\x83\x02\xaa\x96\x15\x7a\x5f\x19\xe6\xfc\xcc\x05\x08\xac\x50\x20\x2b\xf0\x02\x24\x22\xd4\x4a\x6d\xe4\xd5\x7c\x2e\x71\xbd\x45\x31\xe3\x62\x35\x37\xd3\x35\x09\xd2\xe2\xf4\xc1\x0c\xc1\x67\xf3\xbb\x07\x75\xcb\xd7\x1b\xce\x90\x29\x69\xf9\xa9\xf1\x25\x20\x3d\x76\xdb\x08\x3b\x0f\xae\x41\x05\x6b\xf2\x5f\x5c\x5c\xc1\xef\xef\x98\xfa\xb7\xe1\x20\x65\xe3\x83\x1b\xa2\x8a\x7a\x74\x50\xe0\x6f\xd8\x20\x91\x78\xa5\x39\x49\xd9\xea\xc7\x67\x09\xba\x7f\x90\xa6\x45\x28\x91\x71\xc3\xd9\x82\xaf\x37\x44\xd1\x25\x6d\xa8\xda\x5b\xa6\x6d\x04\x6e\x29\x6f\xa5\x47\x5d\x0e\x36\xa1\xf2\x0d\x29\xee\x77\x44\x94\xf2\xd6\xad\x6f\xf0\x0a\xde\x70\xde\x74\x9b\x51\x46\xd5\x24\xa6\xf2\x22\x21\xeb\x22\xa1\xe3\x22\x87\xf8\xc5\xa1\x8d\xa6\x91\x18\xf4\x47\x62\x53\xcd\xcc\x76\xb0\xb0\xcc\xcd\x0c\xeb\xfd\xf5\xb0\xfe\x77\x38\x6c\x10\x82\x85\x45\x2c\x33\x1c\x30\xd4\x73\xc2\x97\xe1\xc4\x2c\xd6\xb0\xc8\x53\x13\x96\x7f\x49\xe5\xf4\x1b\xaa\x56\xb0\x20\x04\xa0\xcc\xab\x5f\xc5\xc5\x9a\x28\x98\xe0\x6c\x35\x83\xed\xb5\xa1\xf5\x66\x76\x6d\x88\xba\x99\x5d\x1b\xec\x6f\x2e\xaf\x3b\x0c\x6f\xa6\x09\x64\x22\x81\x38\x16\x27\x92\xad\x5a\x06\x8a\xdb\x81\xc9\xd4\x4b\xa1\xc7\x66\x2d\x7e\x6b\x21\xb7\x5c\xa0\x9b\xb2\x88\xb8\x3f\xeb\x40\x24\x0b\xcd\x67\x56\x70\x56\x10\x35\x79\x3e\x7b\x7e\x60\x74\x38\x92\x4a\xf0\xe0\x16\xd3\xaf\xde\xc3\x30\xf0\xf0\x1e\xc9\x4f\xc6\x07\x68\xa0\x5a\x29\x2e\x85\x53\x11\x5a\x01\x55\x80\x0f\x54\x2a\x09\xe7\x20\x8c\x38\x93\x75\xb4\x1a\xe8\xd5\xd9\x02\x18\x6d\x7a\x2c\xd7\x1f\xbb\x7c\xc0\xf9\x40\xeb\xe5\xf3\x40\x77\x0f\xe6\x59\x8a\x6c\xa4\x65\x07\xe0\x66\x95\xf2\x05\xdc\xb6\x52\xf1\xb5\xf1\x78\x44\x10\xc5\x85\x84\x17\xf3\xbc\xda\x2a\xd1\x1a\x1e\x38\x9d\x2d\xb8\x40\x1d\x79\x56\x02\x89\x42\x1d\x3c\x08\x4b\xd6\x6d\x88\xd4\x41\x29\x9e\xae\x03\x51\x45\x1a\x89\xc0\x55\x8d\x62\x47\x23\x5b\xf3\xfa\xaa\x27\xfe\xc5\xc2\xfc\x58\x13\x36\xf9\xbb\x9d\x7b\xe5\x00\x4d\xad\xaf\xe8\x31\x94\x56\x30\x89\xdc\xc5\x8d\x5d\x63\xbf\xf5\xdd\x4a\xc4\x24\x4d\x52\xca\x4b\xc0\xc6\x4a\x3a\x06\xb7\x58\xc4\xf0\xe0\xfc\x3c\xf6\x3d\x61\x2f\xfd\xed\x3b\xef\xd5\x0d\x9a\xaf\x7e\xd0\x7a\x39\x8f\x88\xf9\xf6\x04\x44\x46\x17\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\x2f\xc5\xff\x6e\x49\xa3\x53\x98\x6f\xa3\x37\x7f\x13\x6f\x35\xc0\x8f\xfc\x38\x05\x0a\x56\xd3\x54\xb3\xbe\x06\x9a\xe5\x53\xf8\xf3\xcf\x6e\xd8\xc3\xb6\x43\x4f\xe4\x46\x83\x52\x7e\x53\xb3\xf9\x05\xa5\x3c\xc9\x66\x22\xbd\xbb\x4e\xd4\xee\x29\x5a\x7c\xac\x12\x5f\x27\x3a\xfc\x3d\x77\x3a\x68\x2e\xd7\xb1\xb9\xfc\xbf\xb4\x96\xa0\x1f\xdf\xc3\x54\xbc\xae\x7c\xa5\x9d\x04\x95\xfb\xd6\x46\x42\x65\x9f\xcc\x64\xd5\x53\x48\x7e\x32\xa1\x5f\xab\x6a\x61\x30\x4d\x43\x8f\x66\xc4\x0b\x7c\x20\x85\x6a\xf6\x2f\x8e\x61\xc9\x31\xdc\x90\x4a\xd0\x42\x7d\x95\xe0\x53\xe1\x76\x04\x47\x19\x75\xa0\x7a\x98\x58\x3b\xd2\xbf\x74\x35\xe2\xdb\x2d\x32\x05\xb8\xa6\x4a\x61\x09\x84\xed\x41\xd1\x35\x02\x81\xa2\x26\x6c\x65\xec\x61\x4d\x4a\xd4\xb4\xbb\xfc\xf9\x23\xf1\xb9\xb6\x26\x0b\xcd\xfa\x5c\x3d\x6a\xe6\xbd\x2e\x4b\xaa\x7f\x9f\xd8\x92\xd8\xd6\x28\xff\xfa\x2f\x17\x1e\x58\x20\xfe\x58\x80\x3f\x61\x83\xc7\x03\x3c\x40\xa1\x2e\xba\x7d\x45\xd0\x6e\x4a\xa2\x10\x96\x6d\x55\xa1\x80\x0d\x0a\xca\x4b\xe0\x02\xb6\x44\x50\xc2\x0a\xc3\x05\x3b\xa7\x3c\x02\xcf\xdf\xcd\xcc\x37\x06\xd8\xad\xe1\x62\x39\x61\xb8\xcb\x8c\x7a\xec\x8f\xa1\x3e\x5e\xf7\x87\xc3\xeb\x30\x74\x3f\xeb\x0a\x7e\xff\x99\x3e\xe8\x5d\x02\x4f\x6e\x09\xe3\x8c\x16\xa4\x01\xa9\xb8\x20\x2b\xd4\x95\x5a\x6d\x9a\x11\xb9\xbd\xff\x1d\x71\x83\x22\x20\xa9\x2b\x97\xf1\x69\x1f\x2c\xc4\x5f\x89\xaa\x75\xe5\x13\xbe\x74\xbb\x1b\x41\x42\x49\x0b\x45\x4c\xe5\xbc\xa6\x8c\xae\xdb\x75\x10\xc7\x25\x7c\x36\x7d\x94\xbf\x3a\x11\x5b\x89\x7e\xe9\xfa\x1a\x35\x6f\x9b\x12\x96\x08\x5c\x94\x28\xb0\x84\xe5\x3e\xed\xbc\x4c\x28\x2b\xf1\x61\x0a\xbb\x9a\x16\x35\xd0\xae\x5b\x81\xac\xe2\xa2\xb0\x2b\x28\x93\x28\x34\x09\xf3\xd2\x29\x95\x99\x46\x8a\x02\xa5\x9c\xf8\x5e\xcb\xd4\x90\x1b\xeb\xfe\x15\x7c\xb6\x62\xeb\x30\x0b\xf0\xdf\xb7\xeb\x25\x0a\xe0\x95\xc5\x47\xc2\x12\xd5\x0e\x91\xa5\xe8\xed\x6a\x64\xfd\x86\xd0\x5e\x2b\x99\x6f\x23\x11\x56\x06\x90\xb1\xa2\x86\xb9\x4b\xd4\x8c\x73\xd3\x67\xb6\x47\x04\x05\x61\x80\x0f\x1b\x2c\x94\x0e\x5f\xca\x99\xb0\xd4\xb6\x1b\x01\xe9\xec\xd7\x41\xdf\xc3\x8e\x36\x0d\xd4\x64\x8b\x40\x14\x68\x8f\xa1\x01\xe8\x48\xc8\xd9\x4a\xaf\x16\x28\x37\x9c\x99\x46\x17\x19\xe0\x92\x67\xda\x96\x08\x3f\x33\xa7\xf1\x9d\x2c\x51\x39\x9c\x89\xe9\x2b\x81\xc0\x15\x11\xa5\xa6\xae\xe6\x3b\x58\xb7\x45\x1d\x23\x1f\xc3\x32\xf4\x6e\x2d\x37\x2c\x93\x33\x3d\xb6\x53\x90\xeb\x1b\x4c\x6c\x2f\x45\x8d\x5a\xaa\x1a\x95\x46\xf3\xc7\xca\xb3\x93\x1d\x1b\xb0\x18\xd6\x64\xb3\xf1\x15\xa0\x06\x62\xb7\xca\x39\xd9\x54\x40\xa0\xcc\x72\xe7\x79\xc7\x29\xd0\x78\xbc\xd1\x68\xbc\x71\x58\x04\xe6\x86\x2d\x5f\x97\x6b\xca\x80\x32\x85\xa2\x22\x05\x5a\xb5\x58\x13\x46\x8c\x5a\xd4\xd8\x6b\x33\x7a\x0c\x62\xac\xd7\x84\x32\x45\x8c\x56\x1a\x22\xa3\x06\x68\x70\x08\x02\x25\x6f\x85\xf6\x93\x61\xa7\x9c\x7f\xb0\xd8\x7c\x4e\xc3\xaf\xe5\x8a\x41\xa6\xef\x07\x34\x5b\xc8\x3d\x02\x56\x95\xd6\x69\xa2\xcc\xac\x15\xdd\xf6\xec\x69\x10\x67\x49\x59\xfa\xa6\xa8\x63\xcd\x47\x6e\x64\x32\x51\x44\xac\xd0\x72\xed\xaf\xbd\x00\xd2\x39\xd1\x10\x43\x7a\xb1\x78\x23\x72\xf9\xe7\x00\x24\xdc\x1c\xe8\xcf\xce\x06\x52\xcb\xf6\x4f\xae\xe0\xf9\x6b\xa5\x70\xbd\x31\x0e\x52\x71\xe7\xac\xbc\x4e\x01\x6f\x95\x56\x47\xe3\xff\x66\x60\xe0\xc1\x9b\x4e\x19\x9d\x63\x93\xb0\x6e\xb5\xae\xa2\xfb\xc9\xca\x90\xc8\x02\x99\xb1\x30\xb7\xfc\xb6\xc6\xe2\x3e\xd5\xdd\x73\x50\x62\x0f\x64\x45\x28\x9b\x3d\x3f\x8a\xe4\x15\xaa\xdb\x56\x08\x64\xf6\xf7\xc9\x74\xe6\x9c\xdd\x0f\x87\xb8\x91\xb1\xc2\x31\x7e\x7c\x34\x9b\xa6\x8e\x94\x17\x45\x2b\xb4\x83\xe3\x20\xb9\xd5\x18\x17\xcb\xdf\xbe\xf7\x04\xf5\xf0\x1f\xad\x0a\x4c\x66\xe1\xcc\xc2\x98\x38\x32\x65\x2d\x3b\xe1\x8c\x0d\x29\xd6\xf3\x4a\x20\x3a\x79\x28\xf8\x5a\x73\x33\xeb\x18\x83\x07\xf1\x21\xab\xc6\x66\x53\xb5\x8d\x86\x5b\xe8\x74\x4d\xf0\xa6\x59\x92\xe2\x5e\xdb\x3b\x43\x2c\xa3\xec\xd2\xab\xb3\x09\x4f\xf8\x0b\x51\x28\x55\x4f\xaf\x4d\x77\xb1\xdf\x4b\x1f\xd7\xd5\xc7\x25\x61\x88\x9c\x35\xc8\x56\xaa\x86\x1b\x78\x79\x05\xcf\xdf\xf3\x61\xfc\x71\x7a\x28\x6d\x5b\xee\x58\x16\x5b\x31\x5b\x16\xb3\x7e\xa4\xb4\xbe\xc9\xe8\xab\x75\xef\xad\x9f\x3d\x12\xbe\x3c\x54\x9d\x79\xeb\x09\x56\x33\x1c\xdc\xd8\x9f\x52\xe9\x34\x56\xe5\x1a\xb5\xd6\x07\x67\xf2\x27\x9d\x56\xc5\xdf\xdf\x31\xa3\xd9\x32\x64\x6d\x7d\x96\x73\xa9\x9e\xc4\xf3\x24\xa8\x2d\x16\x30\xba\xef\xf3\xdf\x93\x44\x75\x47\x24\x30\xae\x60\x23\xf8\x06\x45\xb3\x77\xa4\x94\x67\xf0\x1b\x6e\x8d\xb9\x3f\x45\x30\x21\xe9\xdd\xa0\x28\x90\x29\x9d\x1d\x2e\xf7\x4e\xef\x0f\x85\xe2\x25\x7a\x04\x32\xc7\x24\xde\x11\xf9\x50\xfd\x72\xf6\xd2\x08\xee\xd5\xec\xe5\xf1\x12\xf1\x01\x7a\xf2\xf7\x3e\x8f\x06\xb9\xee\x51\xe6\x30\x02\x04\x6e\x16\x06\xbf\xf3\xf3\xd1\x19\xd7\x0b\x8d\xb9\x76\x4b\x8e\x01\x81\x6b\x9e\xd0\xad\x21\x3b\x90\xeb\x88\x1d\x93\xc7\x37\xd3\x9f\x80\xe1\x50\x8f\x3a\x1e\xf5\xf4\x28\xe0\xfe\xed\x14\xea\xb5\x94\x74\xc5\x74\x4a\x5a\xd4\x58\x9e\x14\x0f\xbd\xbd\x1b\x1f\x7c\x8f\xda\x03\x27\xa0\x07\x79\x16\xad\x3a\x77\x44\x04\x86\x24\x9a\x0b\x78\xa9\x07\xf5\x82\x90\x52\xe9\x90\xba\x1f\x26\x0c\x06\xdd\x5f\xfa\xa8\xb8\x13\x8b\x2f\xfd\x84\x2a\xe4\x3b\xdf\x3b\x9f\x1a\xaf\xb2\xae\x0e\x66\x58\x03\xfa\xbe\x4f\x42\x34\x9f\xc3\xbb\x34\x2f\xa1\xac\x6b\x14\xa8\xc4\x53\x1f\xa7\xca\x36\xfc\xd8\x6c\x65\x78\xb2\x74\x8f\xfb\xab\x61\xf2\x71\x91\xb3\xeb\x3f\x7a\x87\xc5\x90\x3b\x6c\xd2\xc5\x47\x56\xff\x5c\x83\xcf\x6e\x05\x44\xc2\x0e\xe1\x9e\xf1\x1d\x50\x65\x8b\xa5\x34\xa5\xea\xc3\xed\x65\x58\x50\xb6\x26\xc7\xdf\x08\xbc\x2c\x38\xb3\x1d\x91\x63\x19\x33\xc4\x6f\x31\x64\x41\x7a\x14\x85\x6b\x7a\x4a\x4b\x66\xc8\xd0\xae\x99\xd2\x71\x32\xdb\x48\xfc\x9a\x0c\x65\x3e\x87\xb7\x4c\xb6\xc6\x60\x6d\xf9\xed\xd3\x39\x73\x76\x8e\x8c\xb7\xab\xda\x16\x4a\x15\x17\xc0\x4c\x89\xdb\x15\xa3\x09\x2c\x2d\xae\x9c\xc2\x9c\xc4\xd7\x6f\x98\xc3\x0e\x55\x72\x8d\x52\x92\x95\xf6\xbd\xb7\x84\x69\x1f\x6b\x59\x36\xcc\xac\x34\xf1\x74\xbc\x25\x55\x53\xa9\xb8\x30\xad\x1b\xef\xf4\x7a\x3e\x79\xfa\xac\xcf\xe6\xdf\x70\xcd\xb7\x69\xc7\xcb\xdb\xeb\xb9\x51\x96\x64\x41\x83\x0a\x84\x59\x51\x06\xc9\x2d\x8e\x36\x5d\xbb\x72\xc4\x74\x9f\x5c\x16\x4d\xcf\x4e\xd1\xf0\x41\x8f\xf0\x94\x7d\x23\xe5\x77\x5c\xc8\x31\xd4\x06\x8c\xa1\xf3\x48\x66\x9a\xce\xec\x78\x68\x19\x42\xb5\x27\x1f\x35\xfa\x9d\x83\xb8\xb4\x01\x6c\x51\xd0\x8a\x16\x64\xe0\x3c\x5c\x8b\xd8\xad\x39\x64\xa6\xdf\x2c\xd5\x9d\xcf\xe1\x3d\xee\xbc\x76\xca\xd0\x8f\x73\xca\x2b\x4c\x57\x83\x57\xae\xb3\x83\x65\x2f\xd3\x20\x47\x19\xaf\xcd\xe4\xc6\x50\x9b\xea\x2c\xcd\x4d\x39\xcd\x38\xa7\xf0\x02\x26\x3a\x7b\xbb\x7c\x62\x6e\x35\x85\xf3\xf3\x93\xb1\xbd\xfe\x5a\x6c\x4f\xf5\x41\x01\xdb\x47\x9c\x11\x70\x16\x32\xbd\x6c\x6e\xbf\xdc\x03\x69\x1a\xbe\xd3\xfa\xe8\x33\xc5\x4a\xf0\xb5\xad\xfd\xb4\x17\xb1\xd2\x3d\xec\x87\xb4\x5b\x29\x22\xe7\xea\x1a\x07\x8b\x51\xa7\x3b\x50\x38\x1e\xf5\xf5\xba\x0b\x77\xb8\xe7\xac\xf4\x90\x6d\x0d\x78\x01\x92\x54\x26\xe2\xae\xc9\xbd\x2f\x4a\x64\xff\x10\x36\x83\xcc\x69\x8d\x9b\x6f\x50\xeb\x8d\x95\x7a\xf9\x93\xcf\xc1\x76\xb4\x32\x6c\x65\xf8\x30\x48\x11\x0e\x60\x52\x51\x56\xbe\xc7\x87\x41\xa0\x4e\x7a\xee\x43\xee\xe4\xae\x36\x38\xd1\xbc\xab\x32\x7d\x61\x7f\x63\xc7\xb5\x46\x5d\xc4\xb9\x00\xb4\x41\xdf\xa4\xce\x7a\x60\x87\xff\x24\xd0\x94\x1d\x6e\xcf\x26\x04\x41\x53\xd5\xa7\x11\xb0\xb2\x0b\x07\x3d\x96\x1e\x46\xb6\x27\x40\x94\x4e\xdc\x88\x03\x1f\x01\x65\x9d\xf3\x3a\x05\xf0\x98\xa7\xf2\x9f\x8c\x4a\x9d\x6a\xb5\x70\x9d\x11\x67\xc6\xdd\x1c\xdc\x72\x44\xab\x72\xb0\x87\xce\xc1\x7f\x3a\x27\x61\x60\x75\x76\x0e\x3a\x11\x5e\x0a\x24\xf7\x72\x28\x74\x97\xb7\xc4\x2d\xfd\x19\x7c\xf4\x03\x11\x10\x52\x29\x0d\x0a\x1f\xd4\x00\x48\xa6\xe3\x08\x83\xf4\x3d\x12\xf6\x7f\xa2\xe9\x3f\x68\xb4\xb4\xe1\x77\xde\x6c\xa4\x5b\x91\x85\xf3\x5d\x4c\x17\x06\x45\xfe\x97\x23\x13\x99\x53\x0e\x11\xc7\x62\xce\x93\x52\x81\xa7\xf7\x58\x9e\xda\xa8\x18\xdb\xe7\x74\x46\x9d\x7a\x2e\x3a\xb2\x71\x14\xb9\x32\x9c\x1b\x4d\xe8\x86\xf7\x7c\x8e\x4d\x9a\xef\x71\x2f\xa3\x9e\xeb\x69\x81\x25\x57\x20\x8e\x4f\xcf\xea\xfe\x2c\xdb\x5b\x1d\xcc\xd2\x68\x7e\x1a\xf7\x7e\x87\xf1\x3c\xb8\xec\x78\x24\x06\x08\x1d\x35\xd3\xcc\x76\x0c\xbe\x84\x57\xa3\x6b\xa6\x77\xf9\xc8\xdb\x9f\x77\xa2\x38\x5e\x8e\x36\xcd\x20\x6d\x2f\x85\xbb\x28\x35\x86\x94\xa6\x8d\xdd\x8e\x8b\x56\x2e\x94\xd9\x9e\x6c\xef\xa9\x40\x00\xe6\x7a\xb2\x44\xea\x78\x5b\x26\xe5\x9f\xe9\x61\x98\x90\x6b\x2c\x25\x34\x9e\xb4\x7e\xaf\x50\xe5\x2a\x84\xa9\xaf\x05\x22\x76\xc4\x97\x53\xc6\xfc\xec\x3f\x04\x75\xc1\xe9\x4d\xbd\x73\x3b\x9e\xca\xc4\x5d\x65\xa8\x25\x50\xf0\xcd\xde\x1f\x1e\x57\x6d\xd3\xc4\x45\x7c\xf6\x52\x4d\x8a\xa8\x6d\xd4\x4d\x87\xd7\x0e\x0e\xe3\xd8\x81\x8c\x90\xfa\xd9\xbd\xdf\xb0\xc9\x8e\x08\x02\x21\x2a\x9c\xbe\x7a\xc9\x84\xa8\x4c\x24\x96\xc0\x59\x2c\xb6\x00\x6f\xf0\xde\x25\x3d\xc3\x8e\x8f\xc0\x23\xc2\x5c\xbe\xff\x1f\x76\xc7\x9c\x31\x65\xbb\x46\xc3\x26\xfe\x80\xde\xc1\xc9\x95\xa7\xa6\x7f\xb6\xec\xaf\x4e\x3c\x7f\x36\x34\xcb\xf9\xdc\x1d\x89\x6a\x8a\xc3\x1b\x8e\x90\xe2\xb8\xbc\x35\x29\x39\xc2\xda\xa7\x97\x39\xee\xcd\x89\xd9\xec\xf8\x44\xfe\xd7\xde\x8a\x47\xb3\xf8\xb3\x98\xcc\xa8\xe5\xd0\x63\x8c\xa5\x32\x97\x10\x8f\xa9\xda\xa7\x3e\xf2\x77\x67\x7d\xed\x33\x5c\x95\xb0\xab\x51\xd5\x28\xdc\x49\x7e\xb0\x5a\x22\xc3\x1b\x9a\x06\x1f\x39\xed\xf7\xca\x44\xa3\xf7\x1f\x5e\x75\x96\xb9\x66\x76\xff\x7a\xd8\xe0\xb2\x9d\x36\x0e\xca\xca\xc1\x9b\x9d\x4e\xee\xe7\x50\x18\xad\xe8\xab\x52\xef\x84\x38\x86\x38\xca\x44\x57\xb9\x6d\xd3\x12\xec\x6b\xc5\xbd\x1c\xaf\xd6\xdc\x5b\x28\x8d\xb8\x83\xea\xdf\x9a\x24\x32\xec\x21\x74\x77\x36\xd2\xa5\x92\x96\x7d\xc9\xd3\xb2\xf4\x01\x54\xef\x4e\x8e\xec\xc3\xf9\x09\x15\x8a\x35\x65\x68\xee\xdb\xa2\x18\x3c\xef\x72\x6c\xf2\xa7\xf8\xc9\xad\xd7\x94\x92\x03\x97\xee\x33\xb7\x82\xc3\x75\xe6\x18\xb2\xbf\x56\x79\x34\xe0\x03\xd7\xa4\x53\x18\x29\xe2\xdb\x47\x01\x7b\xac\x0e\x3f\x71\x82\x4c\x1e\xe1\x18\xfb\x5a\xca\xd6\xdc\x47\x60\x3c\xe3\xbc\x6c\x51\x7e\x91\xe7\xcf\xe0\xc7\x5c\x38\x63\x40\x84\x20\x7b\x73\x6a\x45\xec\x23\xbd\xc1\xe9\xbb\x2e\xbc\xed\x79\x71\xb8\x90\x11\x5f\x69\x23\x52\xf2\x82\x9a\xcb\x50\x03\x2b\xbb\x84\x4f\xcb\xdc\xa5\xa6\x81\x09\xdf\x05\x70\xef\x4c\x68\xb5\x97\xb7\x19\x1f\xbf\x90\xe1\x7d\xdb\x45\x08\x7c\xe6\x34\xd0\xd1\x73\x09\x9f\xee\xfa\x81\x2a\xd3\x26\xf9\x95\x50\x93\x0c\x7d\x7a\xcd\xf6\xf6\x81\xe5\x8f\x77\xa9\x1b\xf9\x0b\x66\x02\x44\xff\xaa\xd2\xe9\x71\x22\xe3\xb7\x63\xf4\x69\xa5\x69\x1f\xbf\xa8\xd1\x9d\x8a\xc6\x80\xba\x3e\x98\x43\x13\x1f\x0a\xc4\x52\x8e\x5e\x74\x73\x60\x62\x47\x36\x1e\x85\x17\x0b\x78\x09\x7f\xfe\x99\x6f\xb5\x99\x55\x8f\x35\xd5\x9c\x46\x7e\xba\xcb\x55\x64\xb6\xf4\xd7\x65\xbf\x39\x9b\xcb\x1e\x02\xf7\x1b\x41\x4b\xac\xb8\xc0\x8e\xbc\x3e\x3d\xf3\xf9\xb0\x1d\xa1\x77\x59\x71\xb0\xf7\x8b\xb4\x17\x76\x3d\xa4\x4c\xeb\xa2\xef\xe0\x4d\xbf\xe5\xff\xb2\x2b\xe7\x37\x3d\xe4\xe4\x63\xa4\xee\xce\xb2\xfc\x8e\xa7\x5c\xc4\x00\xb3\x82\x48\xa5\x34\x92\xf1\x27\xa9\xa2\x17\x8f\xeb\xc7\x8d\x07\xdd\x4a\xff\x27\x1b\x62\x9d\xe5\x33\xce\x30\x78\x35\x46\x1b\xed\x04\x2c\x3e\x4e\xaa\x83\xbb\x93\xda\xb6\x1f\x8f\xa5\xee\xe0\xc3\xff\xe7\xc7\xd4\xc6\x3f\x20\x11\x85\xbd\x30\x3d\x8a\x7b\x36\x63\x5a\x52\x46\xc4\xde\x2e\x77\x87\xef\x69\xdc\x7e\x2a\x0b\xc7\xbd\xde\x77\x64\xe1\xa3\x0a\x7b\x98\x8b\x5d\x4b\x5f\x63\xd9\x34\x7c\xa7\x09\x88\x52\x3e\xe7\x2c\xec\x0b\xd0\xe8\x21\x1b\x17\xe1\x49\x46\x0c\x2f\x58\xb5\x26\x28\x5c\x8e\x76\xce\x92\xd1\x26\xb6\xce\x18\xfe\xcd\xe2\x24\x6f\x14\x43\x4a\xdd\xd1\xdf\xfc\xd3\x8f\x0b\x68\x38\xbf\x0f\xaf\xfb\x8d\xaf\x18\xf3\x11\x5a\x81\x22\x1f\x71\x9c\x9a\x1c\x78\x26\x32\x68\x2d\x7d\x1a\xe4\x1a\x93\xfc\xc4\x59\x45\x85\x54\xef\x58\x89\x0f\x13\x5e\x5d\x25\x98\x4d\xcf\xe0\x07\x78\x95\xf6\x60\x0f\x39\x03\xcf\xa4\x48\x95\xdf\x18\xa2\x40\x5a\xdb\x21\xcd\x8a\x0b\xaa\xea\x75\xf0\xaa\x45\xc3\x25\x4a\xe5\xae\x4e\xd9\xab\x3f\xe9\x55\x1f\xe3\xc9\xa9\x84\x6b\x7f\x07\xc2\xce\x1d\x57\xd2\x2c\x1f\x0f\x2b\x65\xa7\x2e\xfe\xf2\x50\x7a\xdb\xa8\x7f\x87\xc8\x3f\x8c\x1b\x0d\x80\x27\xea\xd0\x4f\x46\x6f\x3d\x97\xe4\x86\x44\x9d\x50\xad\x2e\xd1\x21\x58\xc6\xb9\xa7\x3d\xb1\x8e\x9c\xec\xa5\xf5\xca\x73\x91\x4a\x77\x90\x16\x53\xe5\xc6\x4e\x34\x8e\xfc\xdc\xa3\x68\x35\x88\xc9\x84\x58\xcf\xc7\x88\x6a\xc7\xdb\x30\xcd\x5c\x85\xc7\x4a\x25\x7d\x36\xfd\xa3\x70\x19\x95\x9b\x1f\xef\xfb\x0b\xe7\x1b\x68\x99\xa2\x8d\xdf\x7b\xc3\xcd\xdd\x75\x09\x85\xe0\xb2\xc3\x61\x57\xd3\x06\x2d\xf8\x6b\x07\x30\xa5\x5a\x6f\xb4\xa6\x25\x2c\x60\x62\x66\xfd\x60\x67\x4d\x61\x0e\xff\xdc\x2f\x65\x3a\x1a\x3e\xad\x69\x79\xa7\xb5\xc3\xf1\x78\xb4\x1a\xe8\x2d\x19\xc9\xff\x53\x81\x5d\x0f\x36\x1a\x82\x37\x65\x4a\x69\x9a\xcd\xe7\xe7\x41\xd2\xbd\x85\x70\xf9\x2a\xb7\x76\x14\x3d\xb8\x84\x57\x77\x83\xe9\x5f\x86\xb4\x39\xc1\xac\x69\x79\x5c\xbb\xd5\x61\x7b\xad\x79\xec\x7b\xb8\xd3\x08\xf1\x3e\xc5\xda\x53\x9d\x84\xf9\x31\x58\x3b\x1d\x73\xe0\x8f\xa9\xc4\x52\x4f\xc2\xb8\xaa\x75\x78\x33\xe1\xf8\x11\x6f\x69\xfe\xe2\xc7\x81\xe7\x33\x17\xc7\x3c\x5f\x99\xf6\xfe\xbc\xca\x3b\x46\x15\x25\x0d\xfd\x1f\x77\xc7\x77\xd9\x44\x87\xe2\xc6\x6c\x8f\x7a\xd4\x05\x0b\x98\xbb\x57\x63\xf3\x47\x1e\x8b\x41\xae\x45\x07\x0b\xf8\xfc\x25\x3b\xdc\x3b\x60\x3b\x74\x72\xf7\x58\x33\x36\xbf\x7c\x70\xb2\x34\xe2\xd8\xb4\x27\x49\x58\xf7\x81\x6c\x0f\x5d\xc6\xd4\x11\xcc\xb1\x24\x05\x4d\x8a\x82\xb7\x4c\xcd\x24\xd9\xe2\xe4\xfa\xb2\x30\xe9\xcb\x01\x40\x93\xe9\x05\x28\x7e\x75\x82\x34\x7c\xbe\xf8\xe5\x19\xfc\x6f\x00\x00\x00\xff\xff\xae\x41\xe7\xf5\xa1\x48\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\x1b\xb9\x7a\xef\xfe\x15\x5f\xf2\xe0\x23\x65\x6d\x29\x5b\x14\x45\x61\x58\x59\x24\x3e\xc9\x39\x41\x17\xd9\x83\x5c\xf6\x3c\x04\xc6\x82\x9a\xf9\x46\x62\x3d\x43\xaa\x24\x25\x59\xcd\xe6\xbf\x17\xbc\x0e\x67\xc8\x91\x47\x4e\x52\xb4\x7a\x49\xa4\xe1\x7c\xfc\xee\x57\xd2\xf3\xf9\x1c\x3e\xae\xa9\x84\x82\x33\x25\x48\xa1\x80\x4a\xd8\x4a\x2c\x41\x71\x28\xb1\xa2\x0c\x4b\x58\xd6\xbc\xb8\x83\x35\xd2\xd5\x5a\x01\x61\x25\x48\x5e\xa9\x3d\x11\x08\x3b\x14\x92\x72\x06\x4b\xbe\x65\x25\x11\x14\xe5\x99\x86\x58\x71\x01\x6a\x8d\xed\x3a\xb1\x65\xb0\x3c\xc0\xeb\x7b\x2c\xb6\x4a\xbf\xf0\x8e\x97\x28\x67\x67\x9b\xed\xb2\xdd\x39\x3c\xd5\x0f\x7f\xb7\x90\x5f\x21\x29\x38\x83\x2f\x67\x67\x00\x00\x1a\xf6\x07\x25\xb6\x85\x02\x81\x1b\x81\x12\x99\xa2\x6c\x95\xe2\x43\x24\x7c\xc0\x86\x30\x45\x0b\x70\x90\x02\x00\x52\x73\xb6\x82\x3d\x55\x6b\x58\x63\xbd\x41\x01\xd5\x96\x15\x7a\x5f\x19\xd6\xbc\xe1\x02\x04\x56\x28\x90\x15\x78\x01\x12\x11\xd6\x4a\x6d\xe4\xd5\x7c\x2e\xb1\xd9\xa1\x98\x71\xb1\x9a\x9b\xe5\x9a\x04\x69\x71\xfa\x60\x1e\xc1\x17\xf3\xbb\x07\x75\xc3\x9b\x0d\x67\xc8\x94\xb4\xfc\xd4\xf8\x12\x90\x1e\xbb\x5d\x84\x9d\x07\x57\xa3\x82\x86\xfc\x27\x17\x57\xf0\xe9\x2d\x53\xff\x9e\x3e\xa4\x6c\xf8\xe1\x86\xa8\x62\x3d\xf8\x50\xe0\x7b\xac\x91\x48\xbc\xd2\x9c\xa4\x6c\xf5\xcb\x59\x07\xdd\xdf\x49\xbd\x45\x28\x91\x71\xc3\xd9\x82\x37\x1b\xa2\xe8\x92\xd6\x54\x1d\x2c\xd3\x36\x02\x77\x94\x6f\xa5\x47\x5d\x26\x9b\x50\xf9\x8a\x14\x77\x7b\x22\x4a\x79\xe3\xde\xaf\xf1\x0a\x5e\x71\x5e\xb7\x9b\x51\x46\xd5\x24\xa6\xf2\xa2\x43\xd6\x45\x87\x8e\x8b\x1c\xe2\x17\xc7\x36\x9a\x46\x62\xd0\x1f\x89\x75\x35\x33\xdb\xc1\xc2\x32\x37\xf3\x58\xef\xaf\x1f\xeb\x7f\xd3\xc7\x06\x21\x58\x58\xc4\x32\x8f\x03\x86\x7a\x4d\xf8\x92\x2e\xcc\x62\x0d\x8b\x3c\x35\xe1\xf5\xaf\x5d\x39\xbd\x47\xb5\x15\x2c\x08\x01\x28\xf3\xea\x57\x71\xd1\x10\x05\x13\x9c\xad\x66\xb0\xbb\x36\xb4\xbe\x98\x5d\x1b\xa2\x5e\xcc\xae\x0d\xf6\x2f\x2e\xaf\x5b\x0c\x5f\x4c\x3b\x90\x89\x04\xe2\x58\xdc\x91\x6c\xb5\x65\xa0\xb8\x7d\x30\x99\x7a\x29\xf4\xd8\xac\xc5\x6f\x2d\xe4\x86\x0b\x74\x4b\x16\x11\xf7\x67\x2d\x88\xce\x8b\xe6\x33\x2b\x38\x2b\x88\x9a\x3c\x9d\x3d\x3d\xf2\x34\x7d\xd2\x95\xe0\xd1\x2d\xa6\xdf\xbc\x87\x61\xe0\xf1\x3d\x3a\x3f\x19\x1f\xa0\x81\x6a\xa5\xb8\x14\x4e\x45\x68\x05\x54\x01\xde\x53\xa9\x24\x9c\x83\x30\xe2\xec\xbc\x47\xab\x44\xaf\x9e\x2c\x80\xd1\xba\xc7\x72\xfd\xb1\xaf\x27\x9c\x0f\xb4\x5e\x3e\x0d\x74\xf7\x60\x3e\xe9\x22\x1b\x69\xd9\x11\xb8\x59\xa5\x7c\x06\x37\x5b\xa9\x78\x63\x3c\x1e\x11\x44\x71\x21\xe1\xd9\x3c\xaf\xb6\x4a\x6c\x0d\x0f\x9c\xce\x16\x5c\xa0\x8e\x3c\x2b\x81\x44\xa1\x0e\x1e\x84\x75\xde\xdb\x10\xa9\x83\x52\xbc\x5c\x07\xa2\x8a\xd4\x12\x81\xab\x35\x8a\x3d\x8d\x6c\xcd\xeb\xab\x5e\xf8\x37\x0b\xf3\xe3\x9a\xb0\xc9\x1f\x76\xed\x95\x03\x34\xb5\xbe\xa2\xc7\x50\x5a\xc1\x24\x72\x17\x2f\xec\x3b\xf6\x5b\xdf\xad\x44\x4c\xd2\x24\x75\x79\x09\x58\x5b\x49\xc7\xe0\x16\x8b\x18\x1e\x9c\x9f\xc7\xbe\x27\xec\xa5\xbf\xfd\xe0\xbd\xda\x87\xe6\xab\x7f\x68\xbd\x9c\x47\xc4\x7c\x7b\x04\x22\x83\x2f\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xb5\x25\xb5\x4e\x61\xbe\x8f\xde\xfc\x26\x5e\x6b\x80\x1f\xf9\x38\x05\x0a\x56\x53\x57\xb3\xbe\x06\x9a\xd7\xa7\xf0\xe7\x9f\xed\x63\x0f\xdb\x3e\x7a\x24\x37\x6a\x94\xf2\xbb\x9a\xcd\xaf\x28\xe5\x49\x36\x13\xe9\xdd\x75\x47\xed\x1e\xa3\xc5\x63\x95\xf8\xba\xa3\xc3\x3f\x72\xa7\xa3\xe6\x72\x1d\x9b\xcb\xff\x49\x6b\x09\xfa\xf1\x23\x4c\xc5\xeb\xca\x37\xda\x49\x50\xb9\xef\x6d\x24\x54\xf6\xc9\xec\xbc\xf5\x18\x92\x1f\x4d\xe8\xb7\xaa\x5a\x78\xd8\x4d\x43\x47\x33\xe2\x19\xde\x93\x42\xd5\x87\x67\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\x6f\x12\x7c\x57\xb8\x2d\xc1\x51\x46\x1d\xa8\x4e\x13\x6b\x47\xfa\xd7\xb6\x46\x7c\xbd\x43\xa6\x00\x1b\xaa\x14\x96\x40\xd8\x01\x14\x6d\x10\x08\x14\x6b\xc2\x56\xc6\x1e\x1a\x52\xa2\xa6\xdd\xe5\xcf\x1f\x89\xcf\xb5\x35\x59\x68\xde\xcf\xd5\xa3\x66\xdd\xcb\xb2\xa4\xfa\xf7\x89\x2d\x89\x6d\x8d\xf2\x6f\xff\x7a\xe1\x81\x05\xe2\xc7\x02\xfc\x2b\xd6\x38\x1e\xe0\x11\x0a\x75\xd1\xed\x2b\x82\xed\xa6\x24\x0a\x61\xb9\xad\x2a\x14\xb0\x41\x41\x79\x09\x5c\xc0\x8e\x08\x4a\x58\x61\xb8\x60\xd7\x94\x23\xf0\xfc\x64\x56\xbe\x32\xc0\x6e\x0c\x17\xcb\x09\xc3\x7d\xe6\xa9\xc7\x7e\x0c\xf5\xf1\x7b\xbf\x3b\xbc\x8e\x43\xf7\xab\xae\xe0\xd3\x1b\x7a\xaf\x77\x09\x3c\xb9\x21\x8c\x33\x5a\x90\x1a\xa4\xe2\x82\xac\x50\x57\x6a\x6b\xd3\x8c\xc8\xed\xfd\x1f\x88\x1b\x14\x01\x49\x5d\xb9\x0c\x2f\xfb\x60\x21\xfe\x83\xa8\xb5\xae\x7c\xc2\x97\x76\x77\x23\x48\x28\x69\xa1\x88\xa9\x9c\x1b\xca\x68\xb3\x6d\x82\x38\x2e\xe1\x8b\xe9\xa3\xfc\xdd\x89\xd8\x4a\xf4\x6b\xdb\xd7\x58\xf3\x6d\x5d\xc2\x12\x81\x8b\x12\x05\x96\xb0\x3c\x74\x3b\x2f\x13\xca\x4a\xbc\x9f\xc2\x7e\x4d\x8b\x35\xd0\xb6\x5b\x81\xac\xe2\xa2\xb0\x6f\x50\x26\x51\x68\x12\xe6\xa5\x53\x2a\xb3\x8c\x14\x05\x4a\x39\xf1\xbd\x96\xa9\x21\x37\xd6\xfd\x2b\xf8\x62\xc5\xd6\x62\x16\xe0\xbf\xdb\x36\x4b\x14\xc0\x2b\x8b\x8f\x84\x25\xaa\x3d\x22\xeb\xa2\xb7\x5f\x23\xeb\x37\x84\x0e\x5a\xc9\x7c\x1b\x89\xb0\x32\x80\x8c\x15\x35\xac\x5d\xa2\x66\x9c\x5b\x3e\xb3\x3d\x22\x28\x08\x03\xbc\xdf\x60\xa1\x74\xf8\x52\xce\x84\xa5\xb6\xdd\x08\x48\x6b\xbf\x0e\xfa\x01\xf6\xb4\xae\x61\x4d\x76\x08\x44\x81\xf6\x18\x1a\x80\x8e\x84\x9c\xad\xf4\xdb\x02\xe5\x86\x33\xd3\xe8\x22\x09\x2e\x79\xa6\xed\x88\xf0\x2b\x73\x1a\xdf\xca\x12\x95\xc3\x99\x98\xbe\x12\x08\x5c\x11\x51\x6a\xea\xd6\x7c\x0f\xcd\xb6\x58\xc7\xc8\xc7\xb0\x0c\xbd\x3b\xcb\x0d\xcb\xe4\x4c\x8f\xed\x14\xe4\xfa\x06\x13\x75\xd2\xb8\xd0\xce\xe3\xa5\x10\xe4\x60\xba\x70\xc4\x76\xa7\xaa\xad\xda\x0a\xec\x08\x57\x6a\xe9\xea\xe8\x78\x4c\xc0\x01\xf0\x3f\xf1\x2f\x75\x0d\x0d\xa1\x06\xa4\xe5\x3a\x91\x80\x44\x1e\xa0\x41\x2d\x40\x2a\x1b\x63\x97\x25\x2a\x14\x8d\xdd\x76\x23\xf8\x3d\x6d\x48\xdd\x6e\x61\x10\x18\x43\xf6\x76\x53\xf0\x86\xb2\xd5\x2b\xfd\xc6\xab\xf0\xc2\x15\x7c\xb6\x82\xb9\x7d\x98\xe8\x35\xd5\x4e\xc3\x78\x8f\x1c\xe1\xa9\x10\x60\xaf\x7f\x8f\x49\xcf\xa2\x46\x44\xb1\xa6\x3b\x2c\x47\xa0\xf6\xb2\x6c\x28\x03\xca\x14\x8a\x8a\x14\x68\xd5\xbd\x21\x8c\x18\x75\x5f\x63\xaf\x7d\xea\x71\xf2\xf5\xb8\x06\xe1\x79\x8e\x25\x78\xc6\x7b\x74\x82\xa3\x13\x28\xf9\x56\x68\xff\x1f\x76\xca\xf9\x3d\x8b\xcd\x97\x6e\x5a\x61\x15\xcb\x20\xd3\xf7\x6f\xda\x1e\xc9\x1d\x02\x56\x95\xb6\x55\xa2\xcc\xaa\x15\xdd\xf5\xfc\x44\x92\x3f\x90\xb2\xf4\xcd\x5e\xa7\x53\x1f\xb9\x31\xe7\x89\x22\x62\x85\xea\x55\xec\x35\x7d\x60\x6c\x83\x43\x88\x8d\xbd\x1c\x63\x23\x72\x79\x75\x02\x12\x5e\xc0\x0a\xd5\xcd\x56\x08\x64\xf6\xf7\xc9\x74\xe6\x3c\xda\x4f\x47\x5a\xd2\xb3\x8c\xa9\x65\x9b\x46\x57\xf0\xf4\xa3\xd9\xb4\xeb\x2d\x79\x51\x6c\x85\xf6\x62\x1c\x24\xb7\xec\x73\x01\xfb\xf5\x3b\xcf\xd3\xd9\xd3\x71\xa9\xbf\x49\x1f\x9c\x8e\xd4\xda\xcf\x21\x53\xda\x32\x59\xc7\x3b\xba\xb8\x61\x35\x56\x02\x61\xc1\x6c\xf2\xde\x2f\x84\x55\x1f\x97\xd6\x58\x6f\xaa\x6d\xad\xe1\x16\x3a\x27\x13\xbc\xae\x97\xa4\xb8\xd3\x2e\x80\x21\x96\x51\x0a\xe9\x65\x6b\x62\x10\x7e\x72\xfb\xf4\xc4\x3c\x59\xa6\x92\x9d\x5e\xa5\x5d\xf4\x61\x69\x3e\x2c\x1e\x43\xf9\xac\x46\xb6\x52\x6b\x78\x01\xcf\xaf\xe0\xe9\x3b\x9e\x3a\xb1\x86\x6c\x36\x94\xad\xa4\x6d\xc8\xf5\xf8\x7e\xca\x4e\x77\x78\x90\x33\xe7\x56\x64\x4c\xe0\xd4\xee\x1c\x76\x0c\x41\xd1\x85\xb5\x68\xe9\x69\xdb\x0f\xf8\xbe\x41\x24\x3c\xf7\x81\x71\x15\xb0\xa0\x6c\xc8\x87\x8e\xd5\x41\x6b\x07\x56\x07\x59\x3f\x5f\xb0\x9e\x6c\x2b\x95\xcf\x46\xb7\x7e\xf5\x40\x10\xf7\x50\x75\xfd\xa1\x17\x58\xd3\x71\x70\xe3\xdc\x81\x4a\x67\xd2\x2a\xd7\xae\xb6\xb9\x42\x26\x8b\xd4\xc9\x65\xfc\xfd\x2d\x33\x64\xcb\xa0\x86\x7d\xf5\xe3\x52\x3d\x4a\xff\x3a\xa1\x7d\xb1\x80\xc1\x7d\x9f\x7e\xea\xa4\xeb\x7b\x22\x8d\x80\x36\x82\x6f\x50\xd4\x07\x47\x4a\xf9\x04\xde\xe3\x0e\x75\x08\x7b\x8c\x60\x42\xea\xbf\x41\x51\x20\x53\x3a\x47\x5e\x1e\x9c\x63\x38\x96\x90\x2c\xd1\x23\x90\x19\x16\x59\xc1\x62\x48\x58\x9e\xcf\x9e\x1b\xc1\xfd\x3c\x7b\x3e\x5e\x22\x3e\x4d\x99\xfc\xd1\xe7\x51\x92\xf1\x8f\x72\x0d\x03\x40\xe0\xc5\xc2\xe0\x77\x7e\x3e\xb8\xe2\x7a\xa1\x31\xd7\x7e\xdb\x31\x20\x70\xcd\x13\xba\x33\x64\x07\x72\x1d\xb1\x43\xf2\xf8\x6e\xfa\x13\x30\x4c\xf5\xa8\xe5\x51\x4f\x8f\x02\xee\xdf\xa4\x50\xd0\x2d\xaf\x6d\x6a\x10\xf2\x88\x1f\x9d\xa7\x0c\x57\x65\x57\x47\x33\x97\xbe\xee\xfd\xa0\x44\x63\x3e\x87\xb7\xa6\xe8\xf2\x51\x44\x27\x56\x21\xc6\xa8\x8e\x4f\x1b\x27\x74\x1b\x4a\x6c\x25\x97\x4e\xa2\xee\xf0\x70\x95\xe6\x31\x17\x39\x0b\xf8\xbd\x37\x5c\x86\xdc\x70\xca\x21\x9f\xab\xc8\xfe\xe2\xbd\x6b\x37\x77\x31\xf4\xa9\x35\xf6\x21\x11\x93\x54\x7b\xd9\x9a\x41\x77\x5d\xb7\x59\x46\x07\x46\x2f\xad\x1f\xc1\x1c\xcb\x8f\x4f\x99\x30\x75\x48\x05\x38\xed\xce\xb1\xb0\xa1\xa7\xf4\x73\x52\xee\xb6\x9d\x98\x96\xad\xd9\x2e\xe4\x77\xcf\x7c\xe6\x73\x78\xcd\xe4\xd6\xd4\x1a\xb6\xa0\xf7\xb9\xa3\x99\xc6\x23\xe3\xdb\xd5\xda\x76\x7f\x74\x45\xc5\x4c\xd1\xdc\x96\xb7\x1d\x58\x44\xe6\x55\x6a\xf9\x63\xf2\xe1\x54\x27\x1b\x94\x92\xac\xb4\x9b\xba\x21\xcc\x26\x20\x9a\x4d\x69\x42\xa6\x69\xa3\xc3\x3d\xac\xa8\x5a\xf3\xa9\x5b\xcf\x7d\xf5\x14\xc0\xb4\x44\x1b\xbe\xeb\xb6\xc8\xbc\xc1\x6a\x07\x3e\x90\xff\xe8\xf5\xcc\xea\x8f\x69\x63\x75\xa0\xd6\xa8\x40\x18\xb0\x65\x90\xde\x62\xb4\x81\xdb\x37\x07\x0c\x3c\x12\x49\x97\xae\x27\x63\xed\x65\x28\xa1\x1b\xda\x96\xa8\xbc\x3b\x7d\x00\x5c\x45\x85\x54\x6f\x59\x89\xf7\x13\x5e\x75\xf0\xee\xa1\x7a\x92\x49\x26\x1d\xd1\x65\xd6\x18\x1d\xf3\x53\x61\xdf\xd4\x68\x0a\x9c\xd6\xfb\x9c\x87\x52\x3c\x69\x2c\xc0\x12\x2b\x2e\x12\x77\x66\xbb\xd4\xfa\x5d\xb7\x4d\xd0\x1b\x6d\x68\x3b\x14\xb4\xa2\x05\x51\x7d\x07\x7b\x84\x87\x0e\x83\xdf\xea\x7e\x3b\xa0\x77\x8a\xc0\xf5\xc7\xdd\xb6\xc7\xdc\xcc\x77\xcb\x70\xe7\x73\x78\x87\x7b\x6f\x69\x32\x34\x23\x9d\x21\x0a\xd3\x37\xe7\x95\x6b\x6b\x69\x26\x76\x12\x0c\x32\xca\xcf\xd8\x04\x6e\x08\xb5\xa9\x4e\xce\xdc\x92\xd3\x1c\xcd\x14\x9e\xc1\x44\x27\x6d\x97\x8f\x4c\xa9\xa6\x70\x7e\x7e\x32\xb6\xd7\xdf\x8a\xed\xa9\xfe\x34\x60\xfb\x80\x63\x05\xce\x42\x82\x97\x4d\xe9\x97\x07\x1d\x99\xf9\x5e\xab\xb4\x4f\x10\x2b\xc1\x1b\x5b\xfe\x9a\x58\x6d\x16\x3e\xe8\x53\xff\x86\x0a\x0a\x1b\x2b\xba\xe1\xfd\x1c\x8a\xc4\x02\xb3\xfd\x3c\xff\xa9\x5b\x48\x71\x77\x66\x31\x18\x8d\xbe\x87\xcd\x25\x16\xc0\x63\xaf\x10\x8e\x3f\xe2\x81\xb3\xb2\x4b\xe7\x05\x48\x52\x99\x01\x52\x43\xee\x7c\x71\xd4\xa5\x88\x56\x8f\x71\xa7\xae\x55\xb1\x58\xc0\xf3\xef\x50\x70\x0e\xd5\x9b\xe3\x86\xd0\x4e\xc0\x3a\x62\x86\xe6\x6c\x2b\xcd\x7e\xaf\x28\x96\x24\xc3\x7b\xd5\xc9\xd0\x8e\x87\xc5\x01\x66\x7c\x7e\x7e\x7b\x96\x43\xca\xe5\x43\xa6\xee\xd0\xc8\xed\xf1\x2f\x02\x4d\x75\xe3\x64\x54\x87\x04\x42\x3f\xe6\xb5\xc9\x19\x58\xeb\xde\x6c\x22\x91\x03\xcd\x2b\xdb\xc1\xc0\x7b\x95\xcd\x57\x53\x72\x87\x7c\x9d\xfe\x64\x14\xfa\x54\x9b\x87\xeb\x0c\x33\x33\xce\x6a\x70\xbb\x01\x0d\xc8\xc1\x4d\xdd\x0a\x74\x5c\x8b\x81\xd3\x7a\x07\x60\x7c\x0f\x4b\x81\xe4\x4e\xa6\x09\x9c\xcb\xdc\xe2\x29\xc8\x0c\x3e\xfa\x07\x11\x10\x52\x29\x0d\x4a\x33\xbc\x0f\x24\xd3\x08\x9b\x66\x15\xe2\x9f\x68\xba\x14\x1a\x1f\x6d\x96\xad\xf3\x1b\xe8\x69\xfc\x2f\xd9\xd5\xc8\x84\xe7\x94\xd1\xea\x50\x30\x7a\x54\x8e\xf0\xf8\x9e\xcb\x63\x1b\x17\x43\xfb\x9c\xce\xa8\x53\xa7\xc5\x03\x1b\x47\xfa\x94\xb4\x39\xc2\x19\x8a\x35\x06\xe7\xbf\x8d\xd5\xc0\xd5\x23\xce\xd5\xd8\x2e\x5a\xef\x88\x7b\x00\xe6\xba\x68\x44\x6a\xd7\x55\x76\xaa\x10\x33\xa8\x34\xde\xcb\xd0\x72\x16\xcb\x6e\x85\x2a\x97\xdc\x4d\x7d\x1a\x17\xc9\x25\x3e\x54\x31\xa4\xf3\xff\x2f\xa8\x0b\x6a\x39\xf5\xea\x37\x9e\xca\x8e\x42\x65\xa8\x25\x50\xf0\xcd\xc1\xbb\xf9\x6a\x5b\xd7\x71\x2d\x99\x3d\x0c\xd2\x45\xd4\x36\x8c\xa6\xe9\xb8\xfc\x38\x8e\x2d\xc8\x08\xa9\x37\xee\xde\x81\x8d\x64\x22\x08\x84\xb4\xae\xd0\x7c\xd9\x13\xd9\x9d\x17\x20\x34\x5c\xaa\x00\x47\x60\x91\x24\x60\x9d\x78\x15\x91\xe1\x72\xa9\x9c\x79\x4d\x42\x0b\xe2\x97\xb8\x7b\x96\xb4\x57\x13\xba\x92\xf9\x8a\xd7\xa7\xfe\x8c\xd0\x8f\xf6\x9f\xe6\x9b\xd5\x7e\xbc\xb8\xe4\x6a\x3d\x58\x8f\x9f\x0f\x8d\x54\x6d\xfb\xa9\x75\xc1\x06\xcd\x51\xd9\x5f\xd0\x0f\x73\xba\x9a\x56\xc0\x78\x67\x1e\xdc\x6e\x61\x8e\x13\x2c\x11\x59\x67\xf0\x0b\xd1\x01\xc8\x01\xe4\x8e\xe4\x75\x22\x6c\x3d\xc0\x15\x87\x5b\xbf\x71\x61\xef\xe8\x84\x99\xdf\xc0\x00\x3b\x4d\x5c\x86\xb4\xd3\x0d\xa4\x27\x63\xc8\xb8\x84\x9f\xa7\xb7\x83\x36\xc6\x5c\x27\x30\x1a\xaf\x27\x43\x1c\xad\xd6\x76\xec\x10\x06\x9f\xf1\xf9\x10\x22\x25\x2f\x28\x51\x51\xd1\x1d\x52\x8b\x4b\xf8\xbc\x8c\xd3\x96\xc1\xe3\x52\xb7\x01\xdc\x5b\x63\xef\xf6\x24\x24\xe3\xc3\x83\x4f\x2f\xd6\x8b\x60\x8d\xd8\x6c\xd4\xc1\xd1\x73\x09\x9f\x6f\xfb\xf6\xf4\x0e\xef\x55\xaf\xbb\xf7\x0f\x42\x8d\x87\xfe\xfc\x92\x1d\xec\x6d\xa5\xdb\xee\x1c\xdd\xeb\xf9\x90\x8a\x4b\x0e\x7b\x84\x3b\x9d\xce\xd8\xd4\xd6\xd4\x73\x25\x92\x9a\xfa\x9b\x4b\xfe\x8c\x46\x5a\x4c\x9d\xa4\xf6\xef\x38\xbc\xe9\x43\x0a\xae\xe6\xb7\xf7\x60\xba\xd7\x5e\x8e\x86\x75\xfe\xd2\x8f\xf1\xeb\x31\x28\xa7\x56\x31\xbf\x88\x74\x5c\x27\x26\x3d\x8f\xf7\x50\xdc\xcc\x94\x38\x2b\x50\xe8\xbd\x34\x51\x89\x2d\x8d\xa9\x91\xfc\x19\xd1\x9c\x3f\x1a\x36\x36\x27\xc7\xd4\xd6\x5e\x1d\xc0\xb2\xdd\xb2\xbf\xad\x05\x42\x63\xd2\x08\xa4\x8b\x78\xe7\x90\x93\x8c\xc1\x99\x20\x43\x85\x54\x80\x35\x36\xda\x25\xba\x9a\x64\x48\xf4\x86\x71\x7d\x53\xfd\x9c\xba\xdf\xe1\x8a\xe9\xe2\xb8\xaf\xfe\xfc\xc0\xeb\x2d\x63\x12\xfb\xbe\x59\xa3\x2e\x1c\xf6\x6b\xd4\x52\x75\x47\x3b\x42\x98\x27\x32\x5c\x16\xab\xf1\x81\xe3\x1f\xde\x7e\x68\x74\xd1\xc9\x07\xa1\x4c\x6b\x3c\x3d\x07\x19\x4e\x95\xc6\xcc\x7e\x43\x59\x99\xdc\x4e\x6b\x25\x77\x0e\x85\x26\x20\x09\x4a\xbd\x63\x12\x31\xc4\x30\x9c\xef\xfb\x50\x5a\xc5\x07\xe8\xa2\x22\xd7\x70\x57\xa2\xb6\xbf\x37\x5c\xdc\xd4\x5c\xa2\x54\x7f\x0f\xae\xb9\x3b\xb5\x88\x7b\xa5\x99\x7b\x54\x0e\x51\xc7\x18\x0f\xbc\x23\xcc\x1e\x02\xb7\x4f\x92\x96\xc6\x6b\x6a\x84\xd5\x9b\x99\xf7\xee\x4e\xb4\x47\x81\xe3\x93\x3d\x52\xc5\xfe\x37\x19\xf6\xc4\x07\x17\xf2\xe5\xf1\x7c\x0e\xbf\xbd\xef\xff\x32\xbc\x83\x46\x6c\xe9\x6f\xc0\x45\xca\x94\x33\xe0\xb4\xde\xf6\x67\x66\x06\xaf\x6e\x74\xd9\x99\x5e\xdb\x3a\x3f\x0f\x30\x8e\xdf\xc4\xf3\x9f\x14\xc4\x9f\x7f\xf6\x84\xf6\x00\xa4\xaf\xb1\xb2\xbd\x94\x72\x6b\x82\x12\xe3\xad\x16\x07\xed\xb5\x37\xc5\x2e\xf2\x17\x03\x92\x1f\xe3\x24\x93\xba\x33\x14\x44\x16\xc8\x4a\x7b\x5d\x56\xa8\xf6\xa0\x28\x98\x63\xa5\xe1\xce\xae\xbb\x06\x90\xd8\x6c\x72\xba\xcd\x18\xf0\x91\x99\xdc\x1f\xe9\x18\x2d\xd7\x7c\x4e\xc3\xe1\xf1\x56\x3d\xd1\xd8\x71\x96\x6d\x3b\x3e\x2e\x08\x86\xe4\xc0\x85\xa9\x21\xdf\xac\x19\x94\x1c\x1f\xd3\x3a\x6b\xfb\x83\xa4\x1b\x0f\x07\xdb\x9e\x17\x20\x69\xb3\xa9\x0f\xa0\x73\x38\x96\x66\x90\x23\xa2\xde\x59\x4f\xe9\x72\xa7\xda\x8e\xfa\xf9\x31\x1b\x5d\xc2\xcf\xb7\xb9\xcc\x7f\xe8\x35\x4b\x4e\x6e\x14\xdb\xaa\x7b\xe2\xae\xb5\xc6\x59\xfd\x73\x25\x59\x61\x5d\x66\x37\x87\x6d\x2f\xaf\xe8\x25\x76\x87\x00\x6a\x47\x04\x50\x88\xb9\xb2\x5f\xd3\x1a\x8f\x33\x80\xde\xc2\x75\x86\x6d\xbd\x4b\x4d\xb0\x00\x0a\x3f\xc1\xcf\x79\x83\x75\x83\x73\x17\xea\x4a\x2a\x0b\xbe\x33\x07\xb7\xc9\x66\x23\xf8\x46\xe8\xf4\xd5\x12\x77\x36\x8a\x81\x6e\xe0\x4f\xd4\x15\xd0\x8b\x14\xb9\x69\x9a\x6f\x37\x7c\xa7\x8b\x12\x17\x5e\x7a\x07\x57\x4d\x43\x3f\x1d\xc9\xf7\xf4\x72\xec\xe9\x62\x73\x80\x62\xd8\xa0\xba\x06\x6d\x32\x85\xcc\xe9\x70\x7f\xd1\x5e\x5b\x4d\x41\xea\x3a\xaa\x9f\x4e\xef\xff\x77\x36\xac\x91\x88\xc8\x6b\xa6\x8c\x18\x32\x6a\x97\x8f\x75\xf3\x2e\x77\xf2\xcc\x6a\xb4\x39\x20\x9e\x2f\x87\x4e\xd0\xb8\xa8\x46\x0e\xf7\x5b\x86\xb3\x30\xb8\xce\x31\x23\x4d\x11\x72\x78\x85\x34\xe4\xf8\x00\xf8\x8d\x4e\x4b\x7b\x73\xc7\xa3\xa5\x9f\xb3\xef\xec\x96\xd3\xe1\x2e\xda\x2b\xca\x34\x4e\x36\x27\x02\x52\xaf\xb8\xa0\x6a\xdd\x68\xae\x56\xda\x03\x78\x83\xb7\x87\xaa\xee\x30\x3d\xb7\x6a\xd2\x0c\x2a\xe1\x7a\xe1\x4f\xa3\x98\xb5\xc3\x7a\x3a\x36\xff\xf2\x11\x2a\x3a\x82\x61\xff\xf3\x4b\x36\x3e\x85\xa0\x64\x6e\x45\xa5\x87\xe4\xbf\xb9\x1a\xeb\x36\x21\xfa\x07\x23\xcd\x2d\x36\x53\x5d\x99\x63\x1e\x51\xc1\x1f\xc3\x18\x40\x68\x44\xe7\x62\xb0\x82\xf2\x25\xd6\x8f\x6b\x6d\x98\x06\x46\x37\x91\x34\x1c\xb0\xd2\x0e\x21\xf6\x2c\xa3\xfa\xbf\xba\xcd\xc7\xa0\x18\x93\xec\x60\xbf\x38\xfe\xe2\xe7\xee\x2e\x99\x90\x18\x77\x53\xc6\x03\x19\x60\xc7\x5f\x8d\x68\xbc\xad\x18\x56\xc8\xb3\x4e\xa0\xab\xb1\x52\x9d\x58\xa7\x7f\x14\xce\x55\x76\xf6\x89\xe1\xfe\xca\xf9\x06\xb6\x4c\xd1\xda\xc3\xde\x70\x73\xfa\x5f\x42\x21\xb8\xec\xfb\x31\xb3\xc9\xb5\x03\xdb\x25\x57\x6f\xd7\xd0\x12\x16\x30\x31\xab\x7e\xb2\xab\xa6\x30\x87\x7f\xe9\xc6\xce\xe3\xfd\xb0\xcf\x0d\x2d\x6f\xb5\xca\x38\x39\x1c\xf9\x93\x06\x0f\x00\xe9\x8d\x5c\x7a\x38\x38\xf0\xd7\x23\x90\x49\x51\xa0\x95\xa1\xd5\xb9\x6c\xaf\x31\x0f\x82\x82\xcb\x44\x4b\x4e\x24\xaa\xab\x23\x79\xe2\x0c\x38\x27\xf8\x86\x76\x87\x99\x83\x13\x5d\x47\xd1\x35\x4c\x12\x9d\x9c\x46\x34\x3e\xcc\x2e\x9d\x15\x7d\x23\x91\x63\x08\x74\xea\xee\x36\x1c\x10\xf5\xd7\x63\x8d\x5c\xb5\x36\x57\x9a\xf4\xce\xfd\x72\xc9\xbb\x25\x67\x83\xe6\x0f\xd2\x1c\xb9\xdd\x75\x31\xe6\x76\xd5\xb4\xf7\xd7\x7f\xde\x32\xaa\x28\xa9\xe9\x7f\x63\xfb\x77\x8e\xcc\x91\x8b\x65\xdd\x8f\x12\xa3\x2e\x1f\xc2\x02\xe6\xee\x76\xe3\xfc\x81\x4b\x8d\x90\x6b\xff\xc0\x02\xbe\x7c\xcd\x3e\xee\x0d\x38\x8f\x4d\x4d\x1f\x1a\xbe\xe4\x5f\x4f\x66\x7d\xc7\x14\x04\x16\x71\x8f\xee\x58\x3a\x63\x57\x76\x98\xfe\x41\xc7\xba\x61\xee\xe8\xd4\xc3\xf1\xb0\x87\x4b\x51\xf0\x2d\x53\x33\x49\x76\x38\xb9\xbe\x2c\x4c\x17\xe1\x08\xa0\xc9\xf4\x02\x14\xbf\x3a\x41\x7c\x3e\x87\xff\x7a\x06\xff\x13\x00\x00\xff\xff\xbb\xe4\xa0\x05\x7a\x4b\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x16, 0xef, 0x9b, 0x73, 0xb9, 0xaa, 0x81, 0xfe, 0xe3, 0x7, 0x17, 0x58, 0xd2, 0x89, 0x53, 0x99, 0xaa, 0x1b, 0xf8, 0x22, 0x85, 0xe3, 0x32, 0xbc, 0xee, 0x14, 0x9c, 0xc0, 0xec, 0xdc, 0xaa}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x0, 0x56, 0x10, 0x3, 0x29, 0x57, 0xb9, 0x90, 0x6a, 0x9c, 0xae, 0x94, 0x8e, 0x2e, 0xc4, 0x0, 0xb6, 0x35, 0xfa, 0x26, 0xf3, 0x80, 0xa9, 0xe7, 0x40, 0xb5, 0xba, 0x96, 0xb2, 0xba, 0xd3}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index ac99231df..1e479647c 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -73,8 +73,10 @@ // ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.564kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (1.074kB) -// ../../../transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc (996B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (176B) +// ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.07kB) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc (62B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (241B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc (241B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (174B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (195B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (165B) @@ -1808,27 +1810,47 @@ func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc() ( return a, nil } -var _executionnodeversionbeaconAdminDelete_latest_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x93\x41\x8f\xda\x3e\x10\xc5\xef\xf9\x14\x23\x0e\xff\x7f\xb8\x24\x7b\x46\xed\xae\x02\xe4\xb0\x6a\x15\x2a\xa0\xab\x5e\x8d\xfd\x42\x2c\x39\x76\xe4\x4c\x0a\xab\x15\xdf\xbd\xb2\xc9\x16\x55\x05\xaa\xaa\x39\x44\x51\x32\x9e\xf7\xe6\x37\x2f\xba\xed\x9c\x67\x2a\x8f\x90\x03\x6b\x67\x2b\xa7\xf0\x02\xdf\x6b\x67\xe7\x10\xd2\x59\xaa\xbd\x6b\xe9\xe1\x58\x7e\x2b\x17\x5f\xb7\xcf\xab\xaa\x5a\x2d\xcb\x97\x72\xbd\x79\x5e\x55\xf3\xb2\x58\xac\xaa\x62\xb9\x5c\x97\x9b\x4d\x92\xe4\x79\x4e\x5b\x2f\x6c\x2f\x64\x68\x45\xdc\x08\x26\x61\x8c\x3b\xf4\x57\x05\x0a\xd5\x6a\x4b\xec\x48\xc1\x80\x41\xdc\x80\x8c\x60\xf4\x1c\x5b\x7d\x3f\x57\xd1\xce\x0d\x56\x09\xff\x4a\xad\xe8\x3a\x6d\xf7\xa4\x50\x6b\x0b\x45\xe1\x70\x83\x9f\x75\x2c\x76\x06\x49\xc2\x17\x07\xe9\x94\xde\x92\x84\xc8\xe0\xde\x84\xd1\xc6\x1a\xf5\x8c\xfe\x2b\xec\xeb\x1a\xbd\x1b\xbc\xc4\xdb\xed\x03\xd9\xcd\x61\x4e\x41\xad\xf3\xe8\x84\x47\x2a\xa4\xe4\x19\x15\x03\x37\x85\x94\x6e\xb0\x1c\xdc\x10\xc5\x82\xf3\x43\xb8\xee\xc8\xec\xc1\xe3\x8b\x6d\x18\x2d\x9d\x66\x06\x76\xcf\x0d\x3d\xd2\x03\xcd\x68\x52\xb9\xdf\xd9\xe0\xa8\x7b\xee\x2f\x50\xb3\x49\x54\x3a\xc5\x7b\x9e\xd3\xdc\x79\xef\x0e\x24\xc8\xa3\x86\x87\x95\x08\xb5\x01\xe3\xed\x0d\xe9\xb6\x33\x68\x61\x39\x08\xf8\x91\x4f\x6c\xd8\xc3\xd4\x57\x69\xfc\x4a\x96\x3e\x52\x80\x91\xed\xa2\xf8\x87\x7f\xc7\xfc\x38\xe2\x4b\x43\x38\x67\xf7\x18\x5e\xfb\xf4\x09\xe8\xe0\x37\xec\xbc\xd8\xe3\x8b\xe0\x66\x3a\xb6\x7b\x7a\xa2\x4e\x58\x2d\xd3\xc9\xc2\x0d\x46\xd9\xff\x99\xce\x96\xff\x94\x1e\x7a\x1f\x67\x12\x5a\xc5\x14\x20\x9e\xc0\xb8\xf2\x3c\xa7\x42\xa9\xc8\xd9\xe2\x70\x89\xac\xbb\x92\xe0\xbf\x00\x9b\x9d\x97\xfc\x39\xfe\x34\xef\x15\x63\x24\xd2\xd1\xca\x29\xf9\x11\x00\x00\xff\xff\x25\x6f\x17\xe1\xe4\x03\x00\x00" +var _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x93\x41\x8b\xdb\x3e\x10\xc5\xef\xfe\x14\x43\x0e\xff\x7f\x72\xb1\x43\x29\x3d\x98\x76\x17\xa7\x2d\xb4\x14\x96\xb2\xcd\xee\x5d\x91\x9f\x6d\x51\x59\x23\xe4\x71\x93\x65\xc9\x77\x2f\x52\x9c\xdd\x2d\x4d\x52\x4a\x73\x08\xb6\xf5\x34\x6f\xf4\x7b\x23\xd3\x7b\x0e\x42\x1f\x77\xd0\xa3\x18\x76\x37\x5c\xe3\x1e\x61\x30\xec\x56\x50\x9a\x1d\x35\x81\x7b\x5a\xee\x96\xaf\xb2\xac\x28\x0a\x5a\x07\xe5\x06\xa5\xa3\x96\xa4\x53\x42\xca\x5a\xde\x0e\x27\x2b\x54\x75\x6f\x1c\x09\x53\x0d\x0b\x01\x49\x87\x54\xe3\xc7\x61\x99\x36\x3c\xba\x5a\x85\x07\xea\x95\xf7\xc6\xb5\x14\xd5\x1d\x8e\xeb\x6b\xb5\xb1\x20\x25\xe9\xdb\xe0\xa1\x4d\x63\x50\xa7\x0a\x1b\xcb\xfa\x3b\x75\x30\x6d\x27\xe4\x55\x50\x3d\x04\x21\xcb\xe4\xb9\xbb\x79\xd2\x7c\x4a\x92\xd5\x64\xb4\xe6\x0f\xa9\x93\x92\xee\x3e\x3b\x79\xf3\x7a\x41\x8f\x59\x46\x64\x71\x89\x40\x3a\xc5\x2d\x9a\x92\xfe\xab\xdc\xc3\x2d\x06\x1e\x83\xc6\xe3\xf9\x0d\xf9\x59\x16\xfb\xe8\xe6\x03\xbc\x0a\x98\x2b\xad\xa5\xa4\x6a\x94\xae\xd2\x9a\x47\x27\xb1\x1b\xa2\x24\x38\x3c\xc4\xdf\x05\x9b\x16\x72\xff\x82\xd4\x7c\x91\x5b\xb8\x56\x3a\xba\xa2\x25\x95\x34\xbb\xe1\xdf\x09\x63\x67\x06\x19\x9e\x33\xc9\x67\xc9\x69\x9f\xfe\x8b\x82\x56\x1c\x02\x6f\x49\x51\x40\x83\x00\xa7\x11\xb5\x31\x80\xf3\x01\x9b\xde\x5b\xf4\x70\x12\x0d\xc2\xc4\x27\x15\x1c\x60\x9b\x93\x34\x7e\x25\x4b\xef\x28\xc2\xc8\x37\xc9\xfc\xed\xbf\x63\xbe\x9a\xf0\xcd\xe3\xf0\x96\x97\x18\x9e\x5a\xfa\x02\x78\x84\x6f\xc2\x41\xb5\xf8\xaa\xa4\x5b\x4c\xe5\xae\xaf\xc9\x2b\x67\xf4\x7c\xf6\x9e\x47\x5b\xbb\xff\x85\x0e\x2d\xff\x69\x7a\xe8\x78\x9c\x59\x2c\x95\xa6\x00\x69\x07\xa6\xc8\x8b\x82\xaa\xba\x4e\x9c\x1d\xb6\x4f\x17\x64\x42\xff\xf4\x1a\x63\xfe\x1b\xb0\xf9\x21\xe4\x3b\xaf\xb9\x37\xae\x3d\x6a\xa6\xa1\x78\x79\x43\x4a\xba\x70\x5d\xa6\xa6\xf7\xd9\xcf\x00\x00\x00\xff\xff\x3e\xc9\xd2\xa9\x2e\x04\x00\x00" -func executionnodeversionbeaconAdminDelete_latest_versionCdcBytes() ([]byte, error) { +func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdcBytes() ([]byte, error) { return bindataRead( - _executionnodeversionbeaconAdminDelete_latest_versionCdc, - "executionNodeVersionBeacon/admin/delete_latest_version.cdc", + _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, + "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", ) } -func executionnodeversionbeaconAdminDelete_latest_versionCdc() (*asset, error) { - bytes, err := executionnodeversionbeaconAdminDelete_latest_versionCdcBytes() +func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdcBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/delete_latest_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x13, 0x46, 0xb9, 0x6, 0xa, 0x75, 0xde, 0xb9, 0x6f, 0x90, 0x3, 0x73, 0xba, 0x4e, 0xdb, 0x51, 0x7d, 0xd0, 0xce, 0xf1, 0x61, 0xf0, 0x11, 0xc, 0xe4, 0x20, 0xab, 0x2e, 0xd5, 0x77, 0xde, 0xe2}} + info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x93, 0x56, 0x2b, 0xca, 0x2f, 0xa3, 0x7d, 0xad, 0x9c, 0x8e, 0x8a, 0x53, 0x7c, 0x3b, 0x93, 0x0, 0xd, 0x2e, 0x6b, 0x79, 0xd2, 0x19, 0x57, 0x79, 0xd7, 0xe0, 0x84, 0xa, 0x66, 0x90, 0xde}} return a, nil } -var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcb\xb1\xaa\xc2\x60\x0c\x05\xe0\xfd\x7f\x8a\x33\xb6\xcb\xa5\xdc\xd1\x51\x71\xd4\x45\x70\xaf\xf5\x54\x32\x24\x29\x31\x91\x82\xf8\xee\xbe\x80\x74\xff\x3e\xd1\xc5\x23\x71\x5c\x39\x55\x8a\xdb\xd9\xef\xbc\x32\x9e\xe2\xb6\xe7\x38\xb9\x61\x0e\x57\x0c\xeb\xf0\xdf\xda\x52\x37\xcc\x65\xd0\x51\xac\xeb\x77\x1b\xeb\xef\x42\x7d\x31\xf0\x6e\x00\x10\xcc\x0a\xdb\xe2\x0f\xe6\xa1\x22\x68\x79\x12\x13\x2d\xfd\x65\xbb\xbe\x7d\xbe\x01\x00\x00\xff\xff\xe1\x48\xc1\xe2\xb0\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_block_heightCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2a\x28\x4d\x52\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\xd0\xb4\x52\x08\xf5\xcc\x2b\x31\x33\x51\xa8\xe6\x52\x50\x50\x50\x28\x4a\x2d\x29\x2d\xca\x53\x48\x4f\x2d\x71\x2e\x2d\x2a\x4a\xcd\x2b\x71\xca\xc9\x4f\xce\xd6\xd0\xd4\xcb\x48\xcd\x4c\xcf\x28\xe1\xaa\x05\x04\x00\x00\xff\xff\x80\x96\x87\x62\x3e\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_current_block_heightCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_current_block_heightCdc, + "executionNodeVersionBeacon/scripts/get_current_block_height.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_current_block_heightCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_current_block_heightCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_block_height.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0xb5, 0x1, 0x79, 0x9, 0xa1, 0x47, 0x40, 0x1c, 0x4f, 0x9, 0xc0, 0x5e, 0x7d, 0x91, 0x5, 0xf3, 0x69, 0xb, 0xf3, 0x4b, 0xa9, 0x26, 0x3d, 0x29, 0x5, 0xea, 0x49, 0xee, 0x81, 0xc7, 0xf1}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xbd\x8a\xc2\x50\x10\xc5\xf1\xfe\x3e\xc5\x29\x93\x66\x13\xb6\xdc\x72\x97\xc5\x4a\x1b\xc5\x3e\x1f\x27\x3a\xe0\x9d\x1b\x26\x73\x43\x40\x7c\x77\xc1\x58\x4a\xda\xe1\x37\x9c\xbf\xc4\x31\x99\xe3\x7f\x61\x97\x5d\x92\x1e\x52\xcf\x33\x6d\x92\xa4\xbf\x6c\xba\xa4\x18\x2c\x45\xd4\x4b\xfd\x1d\x42\x55\x55\xd8\xd1\x27\xf8\x95\xe8\xb2\x19\xd5\x11\x45\x25\xe6\x88\x79\xfd\x42\xcf\x41\x94\x3d\x44\x5f\xec\x7d\x3e\x35\xed\x8d\x61\xcc\x2d\x86\xac\x88\x8d\x68\x51\xfe\x6c\xcc\x7e\x1d\x19\x67\x1a\xee\x01\x00\x8c\x9e\x4d\xb7\xf8\x85\xfe\xb7\x06\xed\xd7\x9e\x4f\xb6\x28\xc3\xe3\x19\x00\x00\xff\xff\xd3\x59\xe0\x53\xf1\x00\x00\x00" func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1844,7 +1866,27 @@ func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x82, 0xf4, 0x61, 0x49, 0x40, 0x34, 0x31, 0x4a, 0xc8, 0x84, 0xb9, 0xc8, 0x7d, 0x6c, 0xa6, 0x12, 0xc9, 0xc3, 0x41, 0x77, 0x8f, 0x38, 0x68, 0x68, 0x74, 0x78, 0x93, 0x69, 0xd6, 0x44, 0xd8}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5e, 0x47, 0x3, 0x41, 0x97, 0x11, 0xe4, 0x79, 0xc8, 0x85, 0xab, 0x91, 0x11, 0xc4, 0xba, 0x14, 0x8c, 0x7b, 0x27, 0x12, 0xe6, 0x55, 0x53, 0xa4, 0xf2, 0x24, 0xc2, 0xa, 0xa9, 0x91, 0xf7}} + return a, nil +} + +var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\xaa\xc2\x40\x10\x45\xfb\xfd\x8a\x5b\x26\x4d\x12\x5e\xf9\x4a\x45\xac\xb4\x51\xec\x37\xc9\x24\x0e\xb8\xb3\x61\x32\x2b\x01\xf1\xdf\x85\x6c\x4a\xb1\xbd\x9c\x7b\x38\x1c\xa6\xa8\x86\xc3\x42\x5d\x32\x8e\x72\x8e\x3d\xdd\x48\x67\x8e\xb2\x23\xdf\x45\xc1\xa0\x31\xa0\x59\x9a\x3f\xe7\xea\xba\xc6\x91\x6c\x86\xdd\x09\x5d\x52\x25\x31\x04\x16\x0e\x29\xe0\x99\x5f\xe8\x69\x60\xa1\x1e\x2c\x2b\xb6\xcd\x57\xdf\x3e\x68\x15\xf8\x19\x1e\x17\x53\x96\xd1\x4d\xa9\xc5\x90\x04\xc1\xb3\x14\xe5\xff\x36\xe3\xe5\x00\x40\xc9\x92\xca\x8f\xb4\x6a\x24\xdb\xe7\x8a\x53\x8e\xf8\xc6\x16\x65\x65\x31\x8b\x8b\xd2\xbd\x3f\x01\x00\x00\xff\xff\x52\x35\xbb\x5a\xf1\x00\x00\x00" + +func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdcBytes() ([]byte, error) { + return bindataRead( + _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, + "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", + ) +} + +func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x50, 0x37, 0x69, 0x59, 0xe8, 0x54, 0xf3, 0xa3, 0x2a, 0xad, 0xe2, 0xd6, 0xfd, 0x13, 0xae, 0x9b, 0xc7, 0x55, 0xef, 0x37, 0xa8, 0xec, 0x7e, 0x64, 0x1b, 0xec, 0x3e, 0x74, 0x60, 0x56, 0x2a}} return a, nil } @@ -6019,285 +6061,287 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, - "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, - "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, - "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, - "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, - "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, - "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, - "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, - "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, - "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, - "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, - "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, - "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, - "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, - "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, - "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, - "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, - "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, - "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, - "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, - "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, - "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, - "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, - "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, - "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, - "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, - "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, - "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, - "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, - "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, - "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, - "dkg/create_participant.cdc": dkgCreate_participantCdc, - "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, - "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, - "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, - "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, - "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, - "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, - "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, - "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, - "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, - "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, - "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, - "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, - "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, - "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, - "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, - "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, - "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, - "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, - "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, - "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, - "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, - "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, - "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, - "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, - "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, - "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, - "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, - "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, - "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, - "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, - "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, - "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, - "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, - "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, - "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, - "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, - "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, - "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, - "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, - "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, - "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, - "executionNodeVersionBeacon/admin/delete_latest_version.cdc": executionnodeversionbeaconAdminDelete_latest_versionCdc, - "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, - "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, - "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, - "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, - "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, - "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, - "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, - "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, - "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, - "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, - "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, - "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, - "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, - "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, - "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, - "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, - "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, - "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, - "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, - "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, - "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, - "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, - "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, - "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, - "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, - "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, - "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, - "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, - "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, - "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, - "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, - "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, - "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, - "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, - "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, - "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, - "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, - "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, - "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, - "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, - "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, - "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, - "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, - "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, - "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, - "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, - "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, - "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, - "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, - "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, - "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, - "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, - "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, - "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, - "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, - "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, - "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, - "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, - "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, - "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, - "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, - "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, - "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, - "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, - "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, - "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, - "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, - "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, - "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, - "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, - "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, - "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, - "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, - "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, - "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, - "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, - "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, - "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, - "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, - "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, - "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, - "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, - "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, - "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, - "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, - "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, - "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, - "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, - "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, - "inspect_field.cdc": inspect_fieldCdc, - "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, - "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, - "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, - "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, - "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, - "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, - "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, - "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, - "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, - "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, - "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, - "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, - "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, - "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, - "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, - "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, - "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, - "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, - "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, - "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, - "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, - "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, - "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, - "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, - "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, - "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, - "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, - "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, - "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, - "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, - "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, - "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, - "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, - "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, - "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, - "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, - "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, - "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, - "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, - "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, - "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, - "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, - "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, - "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, - "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, - "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, - "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, - "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, - "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, - "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, - "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, - "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, - "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, - "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, - "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, - "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, - "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, - "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, - "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, - "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, - "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, - "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, - "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, - "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, - "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, - "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, - "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, - "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, - "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, - "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, - "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, - "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, - "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, - "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, - "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, - "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, - "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, - "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, - "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, - "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, - "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, - "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, - "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, - "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, - "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, - "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, - "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, - "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, - "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, - "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, - "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, - "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, - "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, - "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, - "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, - "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, - "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, - "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, - "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, - "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, - "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, - "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, - "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, - "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, - "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, - "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, - "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, - "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, - "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, + "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, + "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, + "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, + "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, + "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, + "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, + "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, + "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, + "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, + "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, + "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, + "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, + "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, + "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, + "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, + "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, + "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, + "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, + "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, + "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, + "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, + "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, + "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, + "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, + "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, + "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, + "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, + "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, + "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, + "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, + "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, + "dkg/create_participant.cdc": dkgCreate_participantCdc, + "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, + "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, + "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, + "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, + "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, + "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, + "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, + "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, + "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, + "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, + "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, + "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, + "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, + "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, + "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, + "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, + "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, + "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, + "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, + "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, + "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, + "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, + "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, + "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, + "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, + "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, + "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, + "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, + "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, + "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, + "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, + "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, + "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, + "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, + "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, + "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, + "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, + "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, + "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc": executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, + "executionNodeVersionBeacon/scripts/get_current_block_height.cdc": executionnodeversionbeaconScriptsGet_current_block_heightCdc, + "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, + "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, + "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, + "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, + "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, + "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, + "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, + "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, + "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, + "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, + "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, + "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, + "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, + "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, + "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, + "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, + "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, + "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, + "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, + "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, + "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, + "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, + "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, + "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, + "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, + "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, + "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, + "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, + "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, + "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, + "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, + "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, + "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, + "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, + "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, + "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, + "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, + "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, + "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, + "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, + "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, + "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, + "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, + "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, + "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, + "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, + "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, + "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, + "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, + "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, + "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, + "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, + "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, + "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, + "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, + "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, + "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, + "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, + "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, + "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, + "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, + "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, + "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, + "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, + "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, + "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, + "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, + "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, + "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, + "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, + "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, + "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, + "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, + "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, + "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, + "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, + "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, + "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, + "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, + "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, + "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, + "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, + "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, + "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, + "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, + "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, + "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, + "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, + "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, + "inspect_field.cdc": inspect_fieldCdc, + "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, + "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, + "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, + "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, + "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, + "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, + "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, + "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, + "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, + "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, + "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, + "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, + "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, + "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, + "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, + "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, + "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, + "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, + "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, + "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, + "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, + "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, + "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, + "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, + "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, + "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, + "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, + "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, + "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, + "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, + "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, + "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, + "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, + "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, + "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, + "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, + "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, + "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, + "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, + "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, + "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, + "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, + "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, + "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, + "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, + "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, + "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, + "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, + "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, + "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, + "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, + "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, + "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, + "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, + "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, + "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, + "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, + "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, + "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, + "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, + "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, + "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, + "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, + "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, + "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, + "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, + "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, + "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, + "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, + "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, + "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, + "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, + "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, + "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, + "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, + "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, + "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, + "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, + "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, + "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, + "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, + "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, + "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, + "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, + "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, + "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, + "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, + "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, + "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, + "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, + "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, + "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, + "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, + "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, + "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, + "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, + "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, + "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, + "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, + "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, + "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, + "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, + "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, + "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, + "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, + "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, + "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, + "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, + "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, } // AssetDebug is true if the assets were built with the debug flag enabled. @@ -6447,10 +6491,12 @@ var _bintree = &bintree{nil, map[string]*bintree{ "add_version_to_table.cdc": {executionnodeversionbeaconAdminAdd_version_to_tableCdc, map[string]*bintree{}}, "change_version_update_buffer.cdc": {executionnodeversionbeaconAdminChange_version_update_bufferCdc, map[string]*bintree{}}, "change_version_update_buffer_variance.cdc": {executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, map[string]*bintree{}}, - "delete_latest_version.cdc": {executionnodeversionbeaconAdminDelete_latest_versionCdc, map[string]*bintree{}}, + "delete_upcoming_version_boundary.cdc": {executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, map[string]*bintree{}}, }}, "scripts": {nil, map[string]*bintree{ + "get_current_block_height.cdc": {executionnodeversionbeaconScriptsGet_current_block_heightCdc, map[string]*bintree{}}, "get_current_minimum_execution_node_version.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, map[string]*bintree{}}, + "get_current_minimum_execution_node_version_as_string.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, map[string]*bintree{}}, "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, "get_version_table.cdc": {executionnodeversionbeaconScriptsGet_version_tableCdc, map[string]*bintree{}}, "get_version_update_buffer.cdc": {executionnodeversionbeaconScriptsGet_version_update_bufferCdc, map[string]*bintree{}}, diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js index c91a8d6e5..3102f369a 100644 --- a/lib/js/test/templates/script_templates.js +++ b/lib/js/test/templates/script_templates.js @@ -5,21 +5,22 @@ import { executeScript } from "@onflow/flow-js-testing"; export const SCRIPT_FILENAMES = { getCurrentMinimumExecutionNodeVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", + getCurrentMinimumExecutionNodeVersionAsStringFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", getNextVersionBoundaryPairFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", getVersionTableFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc", getVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", getVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", isCompatibleVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc", + getCurrentBlockHeightFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc" } // Executes get_current_minimum_execution_node_version script export async function executeScriptByFilename(filename, args) { const code = readScriptFile( filename, - args ); - const [result, err] = await executeScript({ code }); + const [result, err] = await executeScript({ code, args }); expect(err).toBeNull(); return result; } diff --git a/lib/js/test/templates/transaction_templates.js b/lib/js/test/templates/transaction_templates.js index 8fc6bddf3..f63e48421 100644 --- a/lib/js/test/templates/transaction_templates.js +++ b/lib/js/test/templates/transaction_templates.js @@ -1,13 +1,47 @@ import fs from "fs"; import path from "path"; +import { + sendTransaction, + shallPass, + shallRevert +} from "@onflow/flow-js-testing"; +import {expect} from "@jest/globals"; export const TRANSACTION_FILENAMES = { addVersionToTableFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc", changeVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", changeVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", - deleteLatestVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc", + deleteUpcomingVersionBoundaryFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", } +// Sends named transaction expecting it to pass +export async function sendTransactionByFilenamePasses(filename, args, signers) { + const code = readTransactionFile( + filename + ) + await shallPass( + sendTransaction({ + code, + args, + signers + }) + ); +}; + +// Sends named transaction expecting it to revert +export async function sendTransactionByFilenameReverts(filename, args, signers) { + const code = readTransactionFile( + filename + ) + await shallRevert( + sendTransaction({ + code, + args, + signers + }) + ); +}; + function readTransactionFile(filename) { try { return fs.readFileSync( diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index 07ccb1ccb..31f82e99e 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -9,16 +9,19 @@ import { shallPass, shallRevert, } from "@onflow/flow-js-testing"; +import { executeScriptByFilename, SCRIPT_FILENAMES } from "../templates/script_templates"; import { - executeGetVersionUpdateBufferScript, - executeGetVersionUpdateBufferVarianceScript, executeScriptByFilename, SCRIPT_FILENAMES -} from "../templates/script_templates"; + sendTransactionByFilenamePasses, + sendTransactionByFilenameReverts, + TRANSACTION_FILENAMES +} from "../templates/transaction_templates"; // Set basepath of the project const BASE_PATH = path.resolve(__dirname, "./../../../../"); describe("ExecutionNodeVersionBeacon Contract Tests", () => { + // Setup each test beforeEach(async () => { const logging = false; @@ -60,9 +63,75 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Check actual against expected expect(parseInt(actualBuffer)).toEqual(expectedBuffer); expect(parseFloat(actualBufferVariance)).toEqual(expectedBufferVariance); - expect(actualVersionTable).toEqual(expectedVersionTable) - expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair) + expect(actualVersionTable).toEqual(expectedVersionTable); + expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); + }); + + test("Add version boundary to table succeeds", async () => { + // Contract initialization arguments + const expectedBuffer = 10; + const expectedBufferVariance = 0.5; + const expectedBlockHeightBoundary = 15; + const expectedMajor = 0; + const expectedMinor = 1; + const expectedPatch = 2; + const expectedPreRelease = "alpha-"; + const isBackwardsCompatible = true; + + // Define expected versionTable response object + const expectedVersionTable = { + [expectedBlockHeightBoundary.toString()]: { + "isBackwardsCompatible": isBackwardsCompatible, + "major": expectedMajor.toString(), + "minor": expectedMinor.toString(), + "patch": expectedPatch.toString(), + "preRelease": expectedPreRelease, + } + } + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Add version boundary to table + // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [expectedMajor, expectedMinor, expectedPatch, expectedPreRelease, isBackwardsCompatible, expectedBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Check the version table & version boundary pair + const actualVersionTable = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionTableFilename"] + ); + const actualVersionBoundaryPair = await executeScriptByFilename( + SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] + ); + + // Check actual against expected + expect(actualVersionTable).toEqual(expectedVersionTable); + expect(actualVersionBoundaryPair) + .toEqual([ + expectedBlockHeightBoundary.toString(), + expectedVersionTable[expectedBlockHeightBoundary.toString()] + ]); }); + + /** TODO: Test Cases + * [ ] - Add version to table fails as it's within buffer period + * [ ] - Add version to table fails as it's not sequential + * [ ] - Delete version from table successful + * [ ] - Delete version from table fails as it's too close to boundary + * [ ] - Delete version from table fails as it doesn't exist + * [ ] - Change buffer within variance succeeds + * [ ] - Change buffer outside of variance fails + * [ ] - Change buffer too close to current block fails + * [ ] - Change variance succeeds + * [ ] - Add multiple versions succeeds + * - Check is compatible version is correct + * - Check getNextVersionBoundaryPair is correct + * */ }); // Deploys the ExecutionNodeVersionBeacon to the passed account @@ -75,6 +144,7 @@ async function deployContract(to, args) { args: args }) ); + expect(deployError).toBeNull(); } catch (error) { throw error; }; diff --git a/transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc similarity index 71% rename from transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc rename to transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc index f97ef90f7..4437734fc 100644 --- a/transactions/executionNodeVersionBeacon/admin/delete_latest_version.cdc +++ b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc @@ -1,9 +1,10 @@ -import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +import ExecutionNodeVersionBeacon from 0x02 -/// Transaction that allows ExecutionNodeVersionAdmin to delete the latest -/// version boundary mapping defined in the version table +/// Transaction that allows ExecutionNodeVersionAdmin to delete the +/// version boundary mapping in the versionTable at the specified +/// block height parameter -transaction() { +transaction(blockHeightBoundaryToDelete: UInt64) { let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} @@ -19,7 +20,7 @@ transaction() { execute { // Add the new version to the version table - self.ExecutionNodeVersionBeaconAdminRef.deleteLatestVersionBoundary() + self.ExecutionNodeVersionBeaconAdminRef.deleteUpcomingVersionBoundary(blockHeight: blockHeightBoundaryToDelete) } } diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc new file mode 100644 index 000000000..b3e79db45 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc @@ -0,0 +1,3 @@ +pub fun main(): UInt64 { + return getCurrentBlock().height +} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc index a8fe083ae..2362988c6 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc @@ -1,5 +1,6 @@ import ExecutionNodeVersionBeacon from 0x02 +/// Gets the current minimum version defined in the versionTable pub fun main(): ExecutionNodeVersionBeacon.Semver { return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion() } \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc new file mode 100644 index 000000000..9f9245a02 --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc @@ -0,0 +1,7 @@ +import ExecutionNodeVersionBeacon from 0x02 + +/// Gets the current minimum version defined in the versionTable +/// as a String +pub fun main(): String { + return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion().toString() +} \ No newline at end of file From da5d35296af1a48940088b16b2a999bc18a11894 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Thu, 15 Sep 2022 16:45:07 -0500 Subject: [PATCH 11/21] Updated .github/workflow/ci.yml for js test suite --- .github/workflows/ci.yml | 14 +++++++++++++- .gitignore | 2 -- flow.json | 29 +++++++++++++++++++++++++++++ lib/js/test/flow.json | 21 +++++++++++++++++++++ 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 flow.json create mode 100644 lib/js/test/flow.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1e03dba0d..10f8ab70f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,18 @@ jobs: - uses: actions/setup-go@v1 with: go-version: '1.18' + - uses: actions/setup-node@v3 + with: + node-version: 16 + cache: 'npm' + cache-dependency-path: lib/js/test/package-lock.json + - name: Install Flow CLI + run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" + - name: Flow cli Version + run: flow version + - name: Update PATH + run: echo "/root/.local/bin" >> $GITHUB_PATH + - name: Install dependencies + run: cd lib/js/test && npm ci - name: Run tests run: export GOPATH=$HOME/go && make ci - diff --git a/.gitignore b/.gitignore index 4130bebfc..3748e4c22 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,6 @@ .DS_Store -flow.json - node_modules # IDE related files diff --git a/flow.json b/flow.json new file mode 100644 index 000000000..6ce619c09 --- /dev/null +++ b/flow.json @@ -0,0 +1,29 @@ +{ + "networks": { + "emulator": "127.0.0.1:3569", + "mainnet": "access.mainnet.nodes.onflow.org:9000", + "testnet": "access.devnet.nodes.onflow.org:9000" + }, + "contracts": { + "FlowClusterQC": "./contracts/epochs/FlowClusterQC.cdc", + "FlowEpoch": "./contracts/epochs/FlowEpoch.cdc", + "FlowDKG": "./contracts/epochs/FlowEpoch.cdc", + "ExecutionNodeVersionBeacon": "./contracts/ExecutionNodeVersionBeacon.cdc", + "FlowContractAudits": "./contracts/FlowContractAudits.cdc", + "FlowFees": "./contracts/FlowFees.cdc", + "FlowIDTableStaking": "./contracts/FlowIDTableStaking.cdc", + "FlowIDTableStaking_old": "./contracts/FlowIDTableStaking_old.cdc", + "FlowServiceAccount": "./contracts/FlowServiceAccount.cdc", + "FlowStakingCollection": "./contracts/FlowStakingCollection.cdc", + "FlowStorageFees": "./contracts/FlowStorageFees.cdc", + "FlowToken": "./contracts/FlowToken.cdc", + "LockedTokens": "./contracts/LockedTokens.cdc", + "StakingProxy": "./contracts/StakingProxy.cdc" + }, + "accounts": { + "emulator-account": { + "address": "f8d6e0586b0a20c7", + "key": "c33f601b3d88ca23bcdd77637eca81f905e3354d4229dce3cb1fd4920e7cbe66" + } + } +} \ No newline at end of file diff --git a/lib/js/test/flow.json b/lib/js/test/flow.json new file mode 100644 index 000000000..d032ab32b --- /dev/null +++ b/lib/js/test/flow.json @@ -0,0 +1,21 @@ +{ + "networks": { + "emulator": "127.0.0.1:3569", + "mainnet": "access.mainnet.nodes.onflow.org:9000", + "testnet": "access.devnet.nodes.onflow.org:9000" + }, + "contracts": { + "ExecutionNodeVersionBeacon": "../../../contracts/ExecutionNodeVersionBeacon.cdc" + }, + "accounts": { + "emulator-account": { + "address": "f8d6e0586b0a20c7", + "key": "cd7a030d7abaf43a2f6cccd91000f25035aff206e5f9e19b23d20d48ceee7d2c" + } + }, + "deployments": { + "emulator": { + "emulator-account": [ "ExecutionNodeVersionBeacon" ] + } + } +} \ No newline at end of file From a0918487ca3a2c5017471b75c01842fa24c2e7f6 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Thu, 15 Sep 2022 17:36:38 -0500 Subject: [PATCH 12/21] Added comments to ENVersionBeacon scripts --- contracts/ExecutionNodeVersionBeacon.cdc | 3 + lib/go/contracts/internal/assets/assets.go | 6 +- lib/go/templates/internal/assets/assets.go | 65 ++++++------------- lib/js/test/templates/script_templates.js | 1 - .../scripts/get_current_block_height.cdc | 3 - ...current_minimum_execution_node_version.cdc | 2 +- ...nimum_execution_node_version_as_string.cdc | 2 +- .../get_next_version_boundary_pair.cdc | 6 +- .../scripts/get_version_table.cdc | 2 + .../scripts/get_version_update_buffer.cdc | 3 + .../get_version_update_buffer_variance.cdc | 4 +- .../scripts/is_compatible_version.cdc | 1 + 12 files changed, 43 insertions(+), 55 deletions(-) delete mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index a0a1920d0..ceeb44948 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -309,6 +309,9 @@ pub contract ExecutionNodeVersionBeacon { /// Checks whether given version was compatible at the given block height pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool { + pre { + blockHeight >= getCurrentBlock().height: "Given block height is in the future." + } // Find previous version boundary & check minimum version in versionTable // at that boundary diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index 802e295d2..07f5220c5 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (19.322kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (19.438kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\x1b\xb9\x7a\xef\xfe\x15\x5f\xf2\xe0\x23\x65\x6d\x29\x5b\x14\x45\x61\x58\x59\x24\x3e\xc9\x39\x41\x17\xd9\x83\x5c\xf6\x3c\x04\xc6\x82\x9a\xf9\x46\x62\x3d\x43\xaa\x24\x25\x59\xcd\xe6\xbf\x17\xbc\x0e\x67\xc8\x91\x47\x4e\x52\xb4\x7a\x49\xa4\xe1\x7c\xfc\xee\x57\xd2\xf3\xf9\x1c\x3e\xae\xa9\x84\x82\x33\x25\x48\xa1\x80\x4a\xd8\x4a\x2c\x41\x71\x28\xb1\xa2\x0c\x4b\x58\xd6\xbc\xb8\x83\x35\xd2\xd5\x5a\x01\x61\x25\x48\x5e\xa9\x3d\x11\x08\x3b\x14\x92\x72\x06\x4b\xbe\x65\x25\x11\x14\xe5\x99\x86\x58\x71\x01\x6a\x8d\xed\x3a\xb1\x65\xb0\x3c\xc0\xeb\x7b\x2c\xb6\x4a\xbf\xf0\x8e\x97\x28\x67\x67\x9b\xed\xb2\xdd\x39\x3c\xd5\x0f\x7f\xb7\x90\x5f\x21\x29\x38\x83\x2f\x67\x67\x00\x00\x1a\xf6\x07\x25\xb6\x85\x02\x81\x1b\x81\x12\x99\xa2\x6c\x95\xe2\x43\x24\x7c\xc0\x86\x30\x45\x0b\x70\x90\x02\x00\x52\x73\xb6\x82\x3d\x55\x6b\x58\x63\xbd\x41\x01\xd5\x96\x15\x7a\x5f\x19\xd6\xbc\xe1\x02\x04\x56\x28\x90\x15\x78\x01\x12\x11\xd6\x4a\x6d\xe4\xd5\x7c\x2e\xb1\xd9\xa1\x98\x71\xb1\x9a\x9b\xe5\x9a\x04\x69\x71\xfa\x60\x1e\xc1\x17\xf3\xbb\x07\x75\xc3\x9b\x0d\x67\xc8\x94\xb4\xfc\xd4\xf8\x12\x90\x1e\xbb\x5d\x84\x9d\x07\x57\xa3\x82\x86\xfc\x27\x17\x57\xf0\xe9\x2d\x53\xff\x9e\x3e\xa4\x6c\xf8\xe1\x86\xa8\x62\x3d\xf8\x50\xe0\x7b\xac\x91\x48\xbc\xd2\x9c\xa4\x6c\xf5\xcb\x59\x07\xdd\xdf\x49\xbd\x45\x28\x91\x71\xc3\xd9\x82\x37\x1b\xa2\xe8\x92\xd6\x54\x1d\x2c\xd3\x36\x02\x77\x94\x6f\xa5\x47\x5d\x26\x9b\x50\xf9\x8a\x14\x77\x7b\x22\x4a\x79\xe3\xde\xaf\xf1\x0a\x5e\x71\x5e\xb7\x9b\x51\x46\xd5\x24\xa6\xf2\xa2\x43\xd6\x45\x87\x8e\x8b\x1c\xe2\x17\xc7\x36\x9a\x46\x62\xd0\x1f\x89\x75\x35\x33\xdb\xc1\xc2\x32\x37\xf3\x58\xef\xaf\x1f\xeb\x7f\xd3\xc7\x06\x21\x58\x58\xc4\x32\x8f\x03\x86\x7a\x4d\xf8\x92\x2e\xcc\x62\x0d\x8b\x3c\x35\xe1\xf5\xaf\x5d\x39\xbd\x47\xb5\x15\x2c\x08\x01\x28\xf3\xea\x57\x71\xd1\x10\x05\x13\x9c\xad\x66\xb0\xbb\x36\xb4\xbe\x98\x5d\x1b\xa2\x5e\xcc\xae\x0d\xf6\x2f\x2e\xaf\x5b\x0c\x5f\x4c\x3b\x90\x89\x04\xe2\x58\xdc\x91\x6c\xb5\x65\xa0\xb8\x7d\x30\x99\x7a\x29\xf4\xd8\xac\xc5\x6f\x2d\xe4\x86\x0b\x74\x4b\x16\x11\xf7\x67\x2d\x88\xce\x8b\xe6\x33\x2b\x38\x2b\x88\x9a\x3c\x9d\x3d\x3d\xf2\x34\x7d\xd2\x95\xe0\xd1\x2d\xa6\xdf\xbc\x87\x61\xe0\xf1\x3d\x3a\x3f\x19\x1f\xa0\x81\x6a\xa5\xb8\x14\x4e\x45\x68\x05\x54\x01\xde\x53\xa9\x24\x9c\x83\x30\xe2\xec\xbc\x47\xab\x44\xaf\x9e\x2c\x80\xd1\xba\xc7\x72\xfd\xb1\xaf\x27\x9c\x0f\xb4\x5e\x3e\x0d\x74\xf7\x60\x3e\xe9\x22\x1b\x69\xd9\x11\xb8\x59\xa5\x7c\x06\x37\x5b\xa9\x78\x63\x3c\x1e\x11\x44\x71\x21\xe1\xd9\x3c\xaf\xb6\x4a\x6c\x0d\x0f\x9c\xce\x16\x5c\xa0\x8e\x3c\x2b\x81\x44\xa1\x0e\x1e\x84\x75\xde\xdb\x10\xa9\x83\x52\xbc\x5c\x07\xa2\x8a\xd4\x12\x81\xab\x35\x8a\x3d\x8d\x6c\xcd\xeb\xab\x5e\xf8\x37\x0b\xf3\xe3\x9a\xb0\xc9\x1f\x76\xed\x95\x03\x34\xb5\xbe\xa2\xc7\x50\x5a\xc1\x24\x72\x17\x2f\xec\x3b\xf6\x5b\xdf\xad\x44\x4c\xd2\x24\x75\x79\x09\x58\x5b\x49\xc7\xe0\x16\x8b\x18\x1e\x9c\x9f\xc7\xbe\x27\xec\xa5\xbf\xfd\xe0\xbd\xda\x87\xe6\xab\x7f\x68\xbd\x9c\x47\xc4\x7c\x7b\x04\x22\x83\x2f\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xb5\x25\xb5\x4e\x61\xbe\x8f\xde\xfc\x26\x5e\x6b\x80\x1f\xf9\x38\x05\x0a\x56\x53\x57\xb3\xbe\x06\x9a\xd7\xa7\xf0\xe7\x9f\xed\x63\x0f\xdb\x3e\x7a\x24\x37\x6a\x94\xf2\xbb\x9a\xcd\xaf\x28\xe5\x49\x36\x13\xe9\xdd\x75\x47\xed\x1e\xa3\xc5\x63\x95\xf8\xba\xa3\xc3\x3f\x72\xa7\xa3\xe6\x72\x1d\x9b\xcb\xff\x49\x6b\x09\xfa\xf1\x23\x4c\xc5\xeb\xca\x37\xda\x49\x50\xb9\xef\x6d\x24\x54\xf6\xc9\xec\xbc\xf5\x18\x92\x1f\x4d\xe8\xb7\xaa\x5a\x78\xd8\x4d\x43\x47\x33\xe2\x19\xde\x93\x42\xd5\x87\x67\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\x6f\x12\x7c\x57\xb8\x2d\xc1\x51\x46\x1d\xa8\x4e\x13\x6b\x47\xfa\xd7\xb6\x46\x7c\xbd\x43\xa6\x00\x1b\xaa\x14\x96\x40\xd8\x01\x14\x6d\x10\x08\x14\x6b\xc2\x56\xc6\x1e\x1a\x52\xa2\xa6\xdd\xe5\xcf\x1f\x89\xcf\xb5\x35\x59\x68\xde\xcf\xd5\xa3\x66\xdd\xcb\xb2\xa4\xfa\xf7\x89\x2d\x89\x6d\x8d\xf2\x6f\xff\x7a\xe1\x81\x05\xe2\xc7\x02\xfc\x2b\xd6\x38\x1e\xe0\x11\x0a\x75\xd1\xed\x2b\x82\xed\xa6\x24\x0a\x61\xb9\xad\x2a\x14\xb0\x41\x41\x79\x09\x5c\xc0\x8e\x08\x4a\x58\x61\xb8\x60\xd7\x94\x23\xf0\xfc\x64\x56\xbe\x32\xc0\x6e\x0c\x17\xcb\x09\xc3\x7d\xe6\xa9\xc7\x7e\x0c\xf5\xf1\x7b\xbf\x3b\xbc\x8e\x43\xf7\xab\xae\xe0\xd3\x1b\x7a\xaf\x77\x09\x3c\xb9\x21\x8c\x33\x5a\x90\x1a\xa4\xe2\x82\xac\x50\x57\x6a\x6b\xd3\x8c\xc8\xed\xfd\x1f\x88\x1b\x14\x01\x49\x5d\xb9\x0c\x2f\xfb\x60\x21\xfe\x83\xa8\xb5\xae\x7c\xc2\x97\x76\x77\x23\x48\x28\x69\xa1\x88\xa9\x9c\x1b\xca\x68\xb3\x6d\x82\x38\x2e\xe1\x8b\xe9\xa3\xfc\xdd\x89\xd8\x4a\xf4\x6b\xdb\xd7\x58\xf3\x6d\x5d\xc2\x12\x81\x8b\x12\x05\x96\xb0\x3c\x74\x3b\x2f\x13\xca\x4a\xbc\x9f\xc2\x7e\x4d\x8b\x35\xd0\xb6\x5b\x81\xac\xe2\xa2\xb0\x6f\x50\x26\x51\x68\x12\xe6\xa5\x53\x2a\xb3\x8c\x14\x05\x4a\x39\xf1\xbd\x96\xa9\x21\x37\xd6\xfd\x2b\xf8\x62\xc5\xd6\x62\x16\xe0\xbf\xdb\x36\x4b\x14\xc0\x2b\x8b\x8f\x84\x25\xaa\x3d\x22\xeb\xa2\xb7\x5f\x23\xeb\x37\x84\x0e\x5a\xc9\x7c\x1b\x89\xb0\x32\x80\x8c\x15\x35\xac\x5d\xa2\x66\x9c\x5b\x3e\xb3\x3d\x22\x28\x08\x03\xbc\xdf\x60\xa1\x74\xf8\x52\xce\x84\xa5\xb6\xdd\x08\x48\x6b\xbf\x0e\xfa\x01\xf6\xb4\xae\x61\x4d\x76\x08\x44\x81\xf6\x18\x1a\x80\x8e\x84\x9c\xad\xf4\xdb\x02\xe5\x86\x33\xd3\xe8\x22\x09\x2e\x79\xa6\xed\x88\xf0\x2b\x73\x1a\xdf\xca\x12\x95\xc3\x99\x98\xbe\x12\x08\x5c\x11\x51\x6a\xea\xd6\x7c\x0f\xcd\xb6\x58\xc7\xc8\xc7\xb0\x0c\xbd\x3b\xcb\x0d\xcb\xe4\x4c\x8f\xed\x14\xe4\xfa\x06\x13\x75\xd2\xb8\xd0\xce\xe3\xa5\x10\xe4\x60\xba\x70\xc4\x76\xa7\xaa\xad\xda\x0a\xec\x08\x57\x6a\xe9\xea\xe8\x78\x4c\xc0\x01\xf0\x3f\xf1\x2f\x75\x0d\x0d\xa1\x06\xa4\xe5\x3a\x91\x80\x44\x1e\xa0\x41\x2d\x40\x2a\x1b\x63\x97\x25\x2a\x14\x8d\xdd\x76\x23\xf8\x3d\x6d\x48\xdd\x6e\x61\x10\x18\x43\xf6\x76\x53\xf0\x86\xb2\xd5\x2b\xfd\xc6\xab\xf0\xc2\x15\x7c\xb6\x82\xb9\x7d\x98\xe8\x35\xd5\x4e\xc3\x78\x8f\x1c\xe1\xa9\x10\x60\xaf\x7f\x8f\x49\xcf\xa2\x46\x44\xb1\xa6\x3b\x2c\x47\xa0\xf6\xb2\x6c\x28\x03\xca\x14\x8a\x8a\x14\x68\xd5\xbd\x21\x8c\x18\x75\x5f\x63\xaf\x7d\xea\x71\xf2\xf5\xb8\x06\xe1\x79\x8e\x25\x78\xc6\x7b\x74\x82\xa3\x13\x28\xf9\x56\x68\xff\x1f\x76\xca\xf9\x3d\x8b\xcd\x97\x6e\x5a\x61\x15\xcb\x20\xd3\xf7\x6f\xda\x1e\xc9\x1d\x02\x56\x95\xb6\x55\xa2\xcc\xaa\x15\xdd\xf5\xfc\x44\x92\x3f\x90\xb2\xf4\xcd\x5e\xa7\x53\x1f\xb9\x31\xe7\x89\x22\x62\x85\xea\x55\xec\x35\x7d\x60\x6c\x83\x43\x88\x8d\xbd\x1c\x63\x23\x72\x79\x75\x02\x12\x5e\xc0\x0a\xd5\xcd\x56\x08\x64\xf6\xf7\xc9\x74\xe6\x3c\xda\x4f\x47\x5a\xd2\xb3\x8c\xa9\x65\x9b\x46\x57\xf0\xf4\xa3\xd9\xb4\xeb\x2d\x79\x51\x6c\x85\xf6\x62\x1c\x24\xb7\xec\x73\x01\xfb\xf5\x3b\xcf\xd3\xd9\xd3\x71\xa9\xbf\x49\x1f\x9c\x8e\xd4\xda\xcf\x21\x53\xda\x32\x59\xc7\x3b\xba\xb8\x61\x35\x56\x02\x61\xc1\x6c\xf2\xde\x2f\x84\x55\x1f\x97\xd6\x58\x6f\xaa\x6d\xad\xe1\x16\x3a\x27\x13\xbc\xae\x97\xa4\xb8\xd3\x2e\x80\x21\x96\x51\x0a\xe9\x65\x6b\x62\x10\x7e\x72\xfb\xf4\xc4\x3c\x59\xa6\x92\x9d\x5e\xa5\x5d\xf4\x61\x69\x3e\x2c\x1e\x43\xf9\xac\x46\xb6\x52\x6b\x78\x01\xcf\xaf\xe0\xe9\x3b\x9e\x3a\xb1\x86\x6c\x36\x94\xad\xa4\x6d\xc8\xf5\xf8\x7e\xca\x4e\x77\x78\x90\x33\xe7\x56\x64\x4c\xe0\xd4\xee\x1c\x76\x0c\x41\xd1\x85\xb5\x68\xe9\x69\xdb\x0f\xf8\xbe\x41\x24\x3c\xf7\x81\x71\x15\xb0\xa0\x6c\xc8\x87\x8e\xd5\x41\x6b\x07\x56\x07\x59\x3f\x5f\xb0\x9e\x6c\x2b\x95\xcf\x46\xb7\x7e\xf5\x40\x10\xf7\x50\x75\xfd\xa1\x17\x58\xd3\x71\x70\xe3\xdc\x81\x4a\x67\xd2\x2a\xd7\xae\xb6\xb9\x42\x26\x8b\xd4\xc9\x65\xfc\xfd\x2d\x33\x64\xcb\xa0\x86\x7d\xf5\xe3\x52\x3d\x4a\xff\x3a\xa1\x7d\xb1\x80\xc1\x7d\x9f\x7e\xea\xa4\xeb\x7b\x22\x8d\x80\x36\x82\x6f\x50\xd4\x07\x47\x4a\xf9\x04\xde\xe3\x0e\x75\x08\x7b\x8c\x60\x42\xea\xbf\x41\x51\x20\x53\x3a\x47\x5e\x1e\x9c\x63\x38\x96\x90\x2c\xd1\x23\x90\x19\x16\x59\xc1\x62\x48\x58\x9e\xcf\x9e\x1b\xc1\xfd\x3c\x7b\x3e\x5e\x22\x3e\x4d\x99\xfc\xd1\xe7\x51\x92\xf1\x8f\x72\x0d\x03\x40\xe0\xc5\xc2\xe0\x77\x7e\x3e\xb8\xe2\x7a\xa1\x31\xd7\x7e\xdb\x31\x20\x70\xcd\x13\xba\x33\x64\x07\x72\x1d\xb1\x43\xf2\xf8\x6e\xfa\x13\x30\x4c\xf5\xa8\xe5\x51\x4f\x8f\x02\xee\xdf\xa4\x50\xd0\x2d\xaf\x6d\x6a\x10\xf2\x88\x1f\x9d\xa7\x0c\x57\x65\x57\x47\x33\x97\xbe\xee\xfd\xa0\x44\x63\x3e\x87\xb7\xa6\xe8\xf2\x51\x44\x27\x56\x21\xc6\xa8\x8e\x4f\x1b\x27\x74\x1b\x4a\x6c\x25\x97\x4e\xa2\xee\xf0\x70\x95\xe6\x31\x17\x39\x0b\xf8\xbd\x37\x5c\x86\xdc\x70\xca\x21\x9f\xab\xc8\xfe\xe2\xbd\x6b\x37\x77\x31\xf4\xa9\x35\xf6\x21\x11\x93\x54\x7b\xd9\x9a\x41\x77\x5d\xb7\x59\x46\x07\x46\x2f\xad\x1f\xc1\x1c\xcb\x8f\x4f\x99\x30\x75\x48\x05\x38\xed\xce\xb1\xb0\xa1\xa7\xf4\x73\x52\xee\xb6\x9d\x98\x96\xad\xd9\x2e\xe4\x77\xcf\x7c\xe6\x73\x78\xcd\xe4\xd6\xd4\x1a\xb6\xa0\xf7\xb9\xa3\x99\xc6\x23\xe3\xdb\xd5\xda\x76\x7f\x74\x45\xc5\x4c\xd1\xdc\x96\xb7\x1d\x58\x44\xe6\x55\x6a\xf9\x63\xf2\xe1\x54\x27\x1b\x94\x92\xac\xb4\x9b\xba\x21\xcc\x26\x20\x9a\x4d\x69\x42\xa6\x69\xa3\xc3\x3d\xac\xa8\x5a\xf3\xa9\x5b\xcf\x7d\xf5\x14\xc0\xb4\x44\x1b\xbe\xeb\xb6\xc8\xbc\xc1\x6a\x07\x3e\x90\xff\xe8\xf5\xcc\xea\x8f\x69\x63\x75\xa0\xd6\xa8\x40\x18\xb0\x65\x90\xde\x62\xb4\x81\xdb\x37\x07\x0c\x3c\x12\x49\x97\xae\x27\x63\xed\x65\x28\xa1\x1b\xda\x96\xa8\xbc\x3b\x7d\x00\x5c\x45\x85\x54\x6f\x59\x89\xf7\x13\x5e\x75\xf0\xee\xa1\x7a\x92\x49\x26\x1d\xd1\x65\xd6\x18\x1d\xf3\x53\x61\xdf\xd4\x68\x0a\x9c\xd6\xfb\x9c\x87\x52\x3c\x69\x2c\xc0\x12\x2b\x2e\x12\x77\x66\xbb\xd4\xfa\x5d\xb7\x4d\xd0\x1b\x6d\x68\x3b\x14\xb4\xa2\x05\x51\x7d\x07\x7b\x84\x87\x0e\x83\xdf\xea\x7e\x3b\xa0\x77\x8a\xc0\xf5\xc7\xdd\xb6\xc7\xdc\xcc\x77\xcb\x70\xe7\x73\x78\x87\x7b\x6f\x69\x32\x34\x23\x9d\x21\x0a\xd3\x37\xe7\x95\x6b\x6b\x69\x26\x76\x12\x0c\x32\xca\xcf\xd8\x04\x6e\x08\xb5\xa9\x4e\xce\xdc\x92\xd3\x1c\xcd\x14\x9e\xc1\x44\x27\x6d\x97\x8f\x4c\xa9\xa6\x70\x7e\x7e\x32\xb6\xd7\xdf\x8a\xed\xa9\xfe\x34\x60\xfb\x80\x63\x05\xce\x42\x82\x97\x4d\xe9\x97\x07\x1d\x99\xf9\x5e\xab\xb4\x4f\x10\x2b\xc1\x1b\x5b\xfe\x9a\x58\x6d\x16\x3e\xe8\x53\xff\x86\x0a\x0a\x1b\x2b\xba\xe1\xfd\x1c\x8a\xc4\x02\xb3\xfd\x3c\xff\xa9\x5b\x48\x71\x77\x66\x31\x18\x8d\xbe\x87\xcd\x25\x16\xc0\x63\xaf\x10\x8e\x3f\xe2\x81\xb3\xb2\x4b\xe7\x05\x48\x52\x99\x01\x52\x43\xee\x7c\x71\xd4\xa5\x88\x56\x8f\x71\xa7\xae\x55\xb1\x58\xc0\xf3\xef\x50\x70\x0e\xd5\x9b\xe3\x86\xd0\x4e\xc0\x3a\x62\x86\xe6\x6c\x2b\xcd\x7e\xaf\x28\x96\x24\xc3\x7b\xd5\xc9\xd0\x8e\x87\xc5\x01\x66\x7c\x7e\x7e\x7b\x96\x43\xca\xe5\x43\xa6\xee\xd0\xc8\xed\xf1\x2f\x02\x4d\x75\xe3\x64\x54\x87\x04\x42\x3f\xe6\xb5\xc9\x19\x58\xeb\xde\x6c\x22\x91\x03\xcd\x2b\xdb\xc1\xc0\x7b\x95\xcd\x57\x53\x72\x87\x7c\x9d\xfe\x64\x14\xfa\x54\x9b\x87\xeb\x0c\x33\x33\xce\x6a\x70\xbb\x01\x0d\xc8\xc1\x4d\xdd\x0a\x74\x5c\x8b\x81\xd3\x7a\x07\x60\x7c\x0f\x4b\x81\xe4\x4e\xa6\x09\x9c\xcb\xdc\xe2\x29\xc8\x0c\x3e\xfa\x07\x11\x10\x52\x29\x0d\x4a\x33\xbc\x0f\x24\xd3\x08\x9b\x66\x15\xe2\x9f\x68\xba\x14\x1a\x1f\x6d\x96\xad\xf3\x1b\xe8\x69\xfc\x2f\xd9\xd5\xc8\x84\xe7\x94\xd1\xea\x50\x30\x7a\x54\x8e\xf0\xf8\x9e\xcb\x63\x1b\x17\x43\xfb\x9c\xce\xa8\x53\xa7\xc5\x03\x1b\x47\xfa\x94\xb4\x39\xc2\x19\x8a\x35\x06\xe7\xbf\x8d\xd5\xc0\xd5\x23\xce\xd5\xd8\x2e\x5a\xef\x88\x7b\x00\xe6\xba\x68\x44\x6a\xd7\x55\x76\xaa\x10\x33\xa8\x34\xde\xcb\xd0\x72\x16\xcb\x6e\x85\x2a\x97\xdc\x4d\x7d\x1a\x17\xc9\x25\x3e\x54\x31\xa4\xf3\xff\x2f\xa8\x0b\x6a\x39\xf5\xea\x37\x9e\xca\x8e\x42\x65\xa8\x25\x50\xf0\xcd\xc1\xbb\xf9\x6a\x5b\xd7\x71\x2d\x99\x3d\x0c\xd2\x45\xd4\x36\x8c\xa6\xe9\xb8\xfc\x38\x8e\x2d\xc8\x08\xa9\x37\xee\xde\x81\x8d\x64\x22\x08\x84\xb4\xae\xd0\x7c\xd9\x13\xd9\x9d\x17\x20\x34\x5c\xaa\x00\x47\x60\x91\x24\x60\x9d\x78\x15\x91\xe1\x72\xa9\x9c\x79\x4d\x42\x0b\xe2\x97\xb8\x7b\x96\xb4\x57\x13\xba\x92\xf9\x8a\xd7\xa7\xfe\x8c\xd0\x8f\xf6\x9f\xe6\x9b\xd5\x7e\xbc\xb8\xe4\x6a\x3d\x58\x8f\x9f\x0f\x8d\x54\x6d\xfb\xa9\x75\xc1\x06\xcd\x51\xd9\x5f\xd0\x0f\x73\xba\x9a\x56\xc0\x78\x67\x1e\xdc\x6e\x61\x8e\x13\x2c\x11\x59\x67\xf0\x0b\xd1\x01\xc8\x01\xe4\x8e\xe4\x75\x22\x6c\x3d\xc0\x15\x87\x5b\xbf\x71\x61\xef\xe8\x84\x99\xdf\xc0\x00\x3b\x4d\x5c\x86\xb4\xd3\x0d\xa4\x27\x63\xc8\xb8\x84\x9f\xa7\xb7\x83\x36\xc6\x5c\x27\x30\x1a\xaf\x27\x43\x1c\xad\xd6\x76\xec\x10\x06\x9f\xf1\xf9\x10\x22\x25\x2f\x28\x51\x51\xd1\x1d\x52\x8b\x4b\xf8\xbc\x8c\xd3\x96\xc1\xe3\x52\xb7\x01\xdc\x5b\x63\xef\xf6\x24\x24\xe3\xc3\x83\x4f\x2f\xd6\x8b\x60\x8d\xd8\x6c\xd4\xc1\xd1\x73\x09\x9f\x6f\xfb\xf6\xf4\x0e\xef\x55\xaf\xbb\xf7\x0f\x42\x8d\x87\xfe\xfc\x92\x1d\xec\x6d\xa5\xdb\xee\x1c\xdd\xeb\xf9\x90\x8a\x4b\x0e\x7b\x84\x3b\x9d\xce\xd8\xd4\xd6\xd4\x73\x25\x92\x9a\xfa\x9b\x4b\xfe\x8c\x46\x5a\x4c\x9d\xa4\xf6\xef\x38\xbc\xe9\x43\x0a\xae\xe6\xb7\xf7\x60\xba\xd7\x5e\x8e\x86\x75\xfe\xd2\x8f\xf1\xeb\x31\x28\xa7\x56\x31\xbf\x88\x74\x5c\x27\x26\x3d\x8f\xf7\x50\xdc\xcc\x94\x38\x2b\x50\xe8\xbd\x34\x51\x89\x2d\x8d\xa9\x91\xfc\x19\xd1\x9c\x3f\x1a\x36\x36\x27\xc7\xd4\xd6\x5e\x1d\xc0\xb2\xdd\xb2\xbf\xad\x05\x42\x63\xd2\x08\xa4\x8b\x78\xe7\x90\x93\x8c\xc1\x99\x20\x43\x85\x54\x80\x35\x36\xda\x25\xba\x9a\x64\x48\xf4\x86\x71\x7d\x53\xfd\x9c\xba\xdf\xe1\x8a\xe9\xe2\xb8\xaf\xfe\xfc\xc0\xeb\x2d\x63\x12\xfb\xbe\x59\xa3\x2e\x1c\xf6\x6b\xd4\x52\x75\x47\x3b\x42\x98\x27\x32\x5c\x16\xab\xf1\x81\xe3\x1f\xde\x7e\x68\x74\xd1\xc9\x07\xa1\x4c\x6b\x3c\x3d\x07\x19\x4e\x95\xc6\xcc\x7e\x43\x59\x99\xdc\x4e\x6b\x25\x77\x0e\x85\x26\x20\x09\x4a\xbd\x63\x12\x31\xc4\x30\x9c\xef\xfb\x50\x5a\xc5\x07\xe8\xa2\x22\xd7\x70\x57\xa2\xb6\xbf\x37\x5c\xdc\xd4\x5c\xa2\x54\x7f\x0f\xae\xb9\x3b\xb5\x88\x7b\xa5\x99\x7b\x54\x0e\x51\xc7\x18\x0f\xbc\x23\xcc\x1e\x02\xb7\x4f\x92\x96\xc6\x6b\x6a\x84\xd5\x9b\x99\xf7\xee\x4e\xb4\x47\x81\xe3\x93\x3d\x52\xc5\xfe\x37\x19\xf6\xc4\x07\x17\xf2\xe5\xf1\x7c\x0e\xbf\xbd\xef\xff\x32\xbc\x83\x46\x6c\xe9\x6f\xc0\x45\xca\x94\x33\xe0\xb4\xde\xf6\x67\x66\x06\xaf\x6e\x74\xd9\x99\x5e\xdb\x3a\x3f\x0f\x30\x8e\xdf\xc4\xf3\x9f\x14\xc4\x9f\x7f\xf6\x84\xf6\x00\xa4\xaf\xb1\xb2\xbd\x94\x72\x6b\x82\x12\xe3\xad\x16\x07\xed\xb5\x37\xc5\x2e\xf2\x17\x03\x92\x1f\xe3\x24\x93\xba\x33\x14\x44\x16\xc8\x4a\x7b\x5d\x56\xa8\xf6\xa0\x28\x98\x63\xa5\xe1\xce\xae\xbb\x06\x90\xd8\x6c\x72\xba\xcd\x18\xf0\x91\x99\xdc\x1f\xe9\x18\x2d\xd7\x7c\x4e\xc3\xe1\xf1\x56\x3d\xd1\xd8\x71\x96\x6d\x3b\x3e\x2e\x08\x86\xe4\xc0\x85\xa9\x21\xdf\xac\x19\x94\x1c\x1f\xd3\x3a\x6b\xfb\x83\xa4\x1b\x0f\x07\xdb\x9e\x17\x20\x69\xb3\xa9\x0f\xa0\x73\x38\x96\x66\x90\x23\xa2\xde\x59\x4f\xe9\x72\xa7\xda\x8e\xfa\xf9\x31\x1b\x5d\xc2\xcf\xb7\xb9\xcc\x7f\xe8\x35\x4b\x4e\x6e\x14\xdb\xaa\x7b\xe2\xae\xb5\xc6\x59\xfd\x73\x25\x59\x61\x5d\x66\x37\x87\x6d\x2f\xaf\xe8\x25\x76\x87\x00\x6a\x47\x04\x50\x88\xb9\xb2\x5f\xd3\x1a\x8f\x33\x80\xde\xc2\x75\x86\x6d\xbd\x4b\x4d\xb0\x00\x0a\x3f\xc1\xcf\x79\x83\x75\x83\x73\x17\xea\x4a\x2a\x0b\xbe\x33\x07\xb7\xc9\x66\x23\xf8\x46\xe8\xf4\xd5\x12\x77\x36\x8a\x81\x6e\xe0\x4f\xd4\x15\xd0\x8b\x14\xb9\x69\x9a\x6f\x37\x7c\xa7\x8b\x12\x17\x5e\x7a\x07\x57\x4d\x43\x3f\x1d\xc9\xf7\xf4\x72\xec\xe9\x62\x73\x80\x62\xd8\xa0\xba\x06\x6d\x32\x85\xcc\xe9\x70\x7f\xd1\x5e\x5b\x4d\x41\xea\x3a\xaa\x9f\x4e\xef\xff\x77\x36\xac\x91\x88\xc8\x6b\xa6\x8c\x18\x32\x6a\x97\x8f\x75\xf3\x2e\x77\xf2\xcc\x6a\xb4\x39\x20\x9e\x2f\x87\x4e\xd0\xb8\xa8\x46\x0e\xf7\x5b\x86\xb3\x30\xb8\xce\x31\x23\x4d\x11\x72\x78\x85\x34\xe4\xf8\x00\xf8\x8d\x4e\x4b\x7b\x73\xc7\xa3\xa5\x9f\xb3\xef\xec\x96\xd3\xe1\x2e\xda\x2b\xca\x34\x4e\x36\x27\x02\x52\xaf\xb8\xa0\x6a\xdd\x68\xae\x56\xda\x03\x78\x83\xb7\x87\xaa\xee\x30\x3d\xb7\x6a\xd2\x0c\x2a\xe1\x7a\xe1\x4f\xa3\x98\xb5\xc3\x7a\x3a\x36\xff\xf2\x11\x2a\x3a\x82\x61\xff\xf3\x4b\x36\x3e\x85\xa0\x64\x6e\x45\xa5\x87\xe4\xbf\xb9\x1a\xeb\x36\x21\xfa\x07\x23\xcd\x2d\x36\x53\x5d\x99\x63\x1e\x51\xc1\x1f\xc3\x18\x40\x68\x44\xe7\x62\xb0\x82\xf2\x25\xd6\x8f\x6b\x6d\x98\x06\x46\x37\x91\x34\x1c\xb0\xd2\x0e\x21\xf6\x2c\xa3\xfa\xbf\xba\xcd\xc7\xa0\x18\x93\xec\x60\xbf\x38\xfe\xe2\xe7\xee\x2e\x99\x90\x18\x77\x53\xc6\x03\x19\x60\xc7\x5f\x8d\x68\xbc\xad\x18\x56\xc8\xb3\x4e\xa0\xab\xb1\x52\x9d\x58\xa7\x7f\x14\xce\x55\x76\xf6\x89\xe1\xfe\xca\xf9\x06\xb6\x4c\xd1\xda\xc3\xde\x70\x73\xfa\x5f\x42\x21\xb8\xec\xfb\x31\xb3\xc9\xb5\x03\xdb\x25\x57\x6f\xd7\xd0\x12\x16\x30\x31\xab\x7e\xb2\xab\xa6\x30\x87\x7f\xe9\xc6\xce\xe3\xfd\xb0\xcf\x0d\x2d\x6f\xb5\xca\x38\x39\x1c\xf9\x93\x06\x0f\x00\xe9\x8d\x5c\x7a\x38\x38\xf0\xd7\x23\x90\x49\x51\xa0\x95\xa1\xd5\xb9\x6c\xaf\x31\x0f\x82\x82\xcb\x44\x4b\x4e\x24\xaa\xab\x23\x79\xe2\x0c\x38\x27\xf8\x86\x76\x87\x99\x83\x13\x5d\x47\xd1\x35\x4c\x12\x9d\x9c\x46\x34\x3e\xcc\x2e\x9d\x15\x7d\x23\x91\x63\x08\x74\xea\xee\x36\x1c\x10\xf5\xd7\x63\x8d\x5c\xb5\x36\x57\x9a\xf4\xce\xfd\x72\xc9\xbb\x25\x67\x83\xe6\x0f\xd2\x1c\xb9\xdd\x75\x31\xe6\x76\xd5\xb4\xf7\xd7\x7f\xde\x32\xaa\x28\xa9\xe9\x7f\x63\xfb\x77\x8e\xcc\x91\x8b\x65\xdd\x8f\x12\xa3\x2e\x1f\xc2\x02\xe6\xee\x76\xe3\xfc\x81\x4b\x8d\x90\x6b\xff\xc0\x02\xbe\x7c\xcd\x3e\xee\x0d\x38\x8f\x4d\x4d\x1f\x1a\xbe\xe4\x5f\x4f\x66\x7d\xc7\x14\x04\x16\x71\x8f\xee\x58\x3a\x63\x57\x76\x98\xfe\x41\xc7\xba\x61\xee\xe8\xd4\xc3\xf1\xb0\x87\x4b\x51\xf0\x2d\x53\x33\x49\x76\x38\xb9\xbe\x2c\x4c\x17\xe1\x08\xa0\xc9\xf4\x02\x14\xbf\x3a\x41\x7c\x3e\x87\xff\x7a\x06\xff\x13\x00\x00\xff\xff\xbb\xe4\xa0\x05\x7a\x4b\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\x1b\xb9\x7a\xef\xfe\x15\xdf\xe6\xc1\x2b\x65\x6d\x29\x5b\x14\x45\x61\x58\x59\x24\x3e\xc9\x9e\xa0\x8b\xec\x41\x2e\x7b\x1e\x02\x63\x41\xcd\x7c\x23\xb1\x9e\x21\x55\x92\x92\xac\x66\xf3\xdf\x0b\x5e\x87\x33\xe4\xc8\x23\x27\x29\x5a\xbd\x24\xd2\x70\x3e\x7e\xf7\x2b\xe9\xf9\x7c\x0e\x1f\xd6\x54\x42\xc1\x99\x12\xa4\x50\x40\x25\x6c\x25\x96\xa0\x38\x94\x58\x51\x86\x25\x2c\x6b\x5e\xdc\xc1\x1a\xe9\x6a\xad\x80\xb0\x12\x24\xaf\xd4\x9e\x08\x84\x1d\x0a\x49\x39\x83\x25\xdf\xb2\x92\x08\x8a\xf2\x4c\x43\xac\xb8\x00\xb5\xc6\x76\x9d\xd8\x32\x58\x1e\xe0\xd5\x3d\x16\x5b\xa5\x5f\x78\xcb\x4b\x94\xb3\xb3\xcd\x76\xd9\xee\x1c\x9e\xea\x87\x7f\x58\xc8\x2f\x91\x14\x9c\xc1\xe7\xb3\x33\x00\x00\x0d\xfb\xbd\x12\xdb\x42\x81\xc0\x8d\x40\x89\x4c\x51\xb6\x4a\xf1\x21\x12\xde\x63\x43\x98\xa2\x05\x38\x48\x01\x00\xa9\x39\x5b\xc1\x9e\xaa\x35\xac\xb1\xde\xa0\x80\x6a\xcb\x0a\xbd\xaf\x0c\x6b\x5e\x73\x01\x02\x2b\x14\xc8\x0a\xbc\x00\x89\x08\x6b\xa5\x36\xf2\x6a\x3e\x97\xd8\xec\x50\xcc\xb8\x58\xcd\xcd\x72\x4d\x82\xb4\x38\xbd\x37\x8f\xe0\xb3\xf9\xdd\x83\xba\xe1\xcd\x86\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x2e\xc2\xce\x83\xab\x51\x41\x43\xfe\x93\x8b\x2b\xf8\xf8\x86\xa9\x7f\x4f\x1f\x52\x36\xfc\x70\x43\x54\xb1\x1e\x7c\x28\xf0\x1d\xd6\x48\x24\x5e\x69\x4e\x52\xb6\xfa\xe5\xac\x83\xee\x1f\xa4\xde\x22\x94\xc8\xb8\xe1\x6c\xc1\x9b\x0d\x51\x74\x49\x6b\xaa\x0e\x96\x69\x1b\x81\x3b\xca\xb7\xd2\xa3\x2e\x93\x4d\xa8\x7c\x49\x8a\xbb\x3d\x11\xa5\xbc\x71\xef\xd7\x78\x05\x2f\x39\xaf\xdb\xcd\x28\xa3\x6a\x12\x53\x79\xd1\x21\xeb\xa2\x43\xc7\x45\x0e\xf1\x8b\x63\x1b\x4d\x23\x31\xe8\x8f\xc4\xba\x9a\x99\xed\x60\x61\x99\x9b\x79\xac\xf7\xd7\x8f\xf5\xbf\xe9\x63\x83\x10\x2c\x2c\x62\x99\xc7\x01\x43\xbd\x26\x7c\x49\x17\x66\xb1\x86\x45\x9e\x9a\xf0\xfa\x97\xae\x9c\xde\xa1\xda\x0a\x16\x84\x00\x94\x79\xf5\xab\xb8\x68\x88\x82\x09\xce\x56\x33\xd8\x5d\x1b\x5a\x9f\xcf\xae\x0d\x51\xcf\x67\xd7\x06\xfb\xe7\x97\xd7\x2d\x86\xcf\xa7\x1d\xc8\x44\x02\x71\x2c\xee\x48\xb6\xda\x32\x50\xdc\x3e\x98\x4c\xbd\x14\x7a\x6c\xd6\xe2\xb7\x16\x72\xc3\x05\xba\x25\x8b\x88\xfb\xb3\x16\x44\xe7\x45\xf3\x99\x15\x9c\x15\x44\x4d\x9e\xcc\x9e\x1c\x79\x9a\x3e\xe9\x4a\xf0\xe8\x16\xd3\xaf\xde\xc3\x30\xf0\xf8\x1e\x9d\x9f\x8c\x0f\xd0\x40\xb5\x52\x5c\x0a\xa7\x22\xb4\x02\xaa\x00\xef\xa9\x54\x12\xce\x41\x18\x71\x76\xde\xa3\x55\xa2\x57\x3f\x2c\x80\xd1\xba\xc7\x72\xfd\xb1\xaf\x27\x9c\x0f\xb4\x5e\x3e\x09\x74\xf7\x60\xfe\xd0\x45\x36\xd2\xb2\x23\x70\xb3\x4a\xf9\x14\x6e\xb6\x52\xf1\xc6\x78\x3c\x22\x88\xe2\x42\xc2\xd3\x79\x5e\x6d\x95\xd8\x1a\x1e\x38\x9d\x2d\xb8\x40\x1d\x79\x56\x02\x89\x42\x1d\x3c\x08\xeb\xbc\xb7\x21\x52\x07\xa5\x78\xb9\x0e\x44\x15\xa9\x25\x02\x57\x6b\x14\x7b\x1a\xd9\x9a\xd7\x57\xbd\xf0\x57\x0b\xf3\xc3\x9a\xb0\xc9\x9f\x76\xed\x95\x03\x34\xb5\xbe\xa2\xc7\x50\x5a\xc1\x24\x72\x17\xcf\xed\x3b\xf6\x5b\xdf\xad\x44\x4c\xd2\x24\x75\x79\x09\x58\x5b\x49\xc7\xe0\x16\x8b\x18\x1e\x9c\x9f\xc7\xbe\x27\xec\xa5\xbf\x7d\xe7\xbd\xda\x87\xe6\xab\x7f\x68\xbd\x9c\x47\xc4\x7c\x7b\x04\x22\x83\x2f\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xb5\x25\xb5\x4e\x61\xbe\x8d\xde\xfc\x2e\x5e\x69\x80\x1f\xf8\x38\x05\x0a\x56\x53\x57\xb3\xbe\x06\x9a\xd7\xa7\xf0\xd7\x5f\xed\x63\x0f\xdb\x3e\x7a\x24\x37\x6a\x94\xf2\x9b\x9a\xcd\x6f\x28\xe5\x49\x36\x13\xe9\xdd\x75\x47\xed\x1e\xa3\xc5\x63\x95\xf8\xba\xa3\xc3\xdf\x73\xa7\xa3\xe6\x72\x1d\x9b\xcb\xff\x49\x6b\x09\xfa\xf1\x3d\x4c\xc5\xeb\xca\x57\xda\x49\x50\xb9\x6f\x6d\x24\x54\xf6\xc9\xec\xbc\xf5\x18\x92\x1f\x4d\xe8\xd7\xaa\x5a\x78\xd8\x4d\x43\x47\x33\xe2\x29\xde\x93\x42\xd5\x87\xa7\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\xaf\x12\x7c\x57\xb8\x2d\xc1\x51\x46\x1d\xa8\x4e\x13\x6b\x47\xfa\x97\xb6\x46\x7c\xb5\x43\xa6\x00\x1b\xaa\x14\x96\x40\xd8\x01\x14\x6d\x10\x08\x14\x6b\xc2\x56\xc6\x1e\x1a\x52\xa2\xa6\xdd\xe5\xcf\x1f\x88\xcf\xb5\x35\x59\x68\xde\xcf\xd5\xa3\x66\xdd\x8b\xb2\xa4\xfa\xf7\x89\x2d\x89\x6d\x8d\xf2\x6f\xff\x7a\xe1\x81\x05\xe2\xc7\x02\xfc\x1b\xd6\x38\x1e\xe0\x11\x0a\x75\xd1\xed\x2b\x82\xed\xa6\x24\x0a\x61\xb9\xad\x2a\x14\xb0\x41\x41\x79\x09\x5c\xc0\x8e\x08\x4a\x58\x61\xb8\x60\xd7\x94\x23\xf0\xfc\x68\x56\xbe\x34\xc0\x6e\x0c\x17\xcb\x09\xc3\x7d\xe6\xa9\xc7\x7e\x0c\xf5\xf1\x7b\x7f\x38\xbc\x8e\x43\xf7\xab\xae\xe0\xe3\x6b\x7a\xaf\x77\x09\x3c\xb9\x21\x8c\x33\x5a\x90\x1a\xa4\xe2\x82\xac\x50\x57\x6a\x6b\xd3\x8c\xc8\xed\xfd\x1f\x88\x1b\x14\x01\x49\x5d\xb9\x0c\x2f\x7b\x6f\x21\xfe\x83\xa8\xb5\xae\x7c\xc2\x97\x76\x77\x23\x48\x28\x69\xa1\x88\xa9\x9c\x1b\xca\x68\xb3\x6d\x82\x38\x2e\xe1\xb3\xe9\xa3\xfc\xdd\x89\xd8\x4a\xf4\x4b\xdb\xd7\x58\xf3\x6d\x5d\xc2\x12\x81\x8b\x12\x05\x96\xb0\x3c\x74\x3b\x2f\x13\xca\x4a\xbc\x9f\xc2\x7e\x4d\x8b\x35\xd0\xb6\x5b\x81\xac\xe2\xa2\xb0\x6f\x50\x26\x51\x68\x12\xe6\xa5\x53\x2a\xb3\x8c\x14\x05\x4a\x39\xf1\xbd\x96\xa9\x21\x37\xd6\xfd\x2b\xf8\x6c\xc5\xd6\x62\x16\xe0\xbf\xdd\x36\x4b\x14\xc0\x2b\x8b\x8f\x84\x25\xaa\x3d\x22\xeb\xa2\xb7\x5f\x23\xeb\x37\x84\x0e\x5a\xc9\x7c\x1b\x89\xb0\x32\x80\x8c\x15\x35\xac\x5d\xa2\x66\x9c\x5b\x3e\xb3\x3d\x22\x28\x08\x03\xbc\xdf\x60\xa1\x74\xf8\x52\xce\x84\xa5\xb6\xdd\x08\x48\x6b\xbf\x0e\xfa\x01\xf6\xb4\xae\x61\x4d\x76\x08\x44\x81\xf6\x18\x1a\x80\x8e\x84\x9c\xad\xf4\xdb\x02\xe5\x86\x33\xd3\xe8\x22\x09\x2e\x79\xa6\xed\x88\xf0\x2b\x73\x1a\xdf\xca\x12\x95\xc3\x99\x98\xbe\x12\x08\x5c\x11\x51\x6a\xea\xd6\x7c\x0f\xcd\xb6\x58\xc7\xc8\xc7\xb0\x0c\xbd\x3b\xcb\x0d\xcb\xe4\x4c\x8f\xed\x14\xe4\xfa\x06\x13\x75\xd2\xb8\xd0\xce\xe3\x85\x10\xe4\x60\xba\x70\xc4\x76\xa7\xaa\xad\xda\x0a\xec\x08\x57\x6a\xe9\xea\xe8\x78\x4c\xc0\x01\xf0\x3f\xf1\xc7\xba\x86\x86\x50\x03\xd2\x72\x9d\x48\x40\x22\x0f\xd0\xa0\x16\x20\x95\x8d\xb1\xcb\x12\x15\x8a\xc6\x6e\xbb\x11\xfc\x9e\x36\xa4\x6e\xb7\x30\x08\x8c\x21\x7b\xbb\x29\x78\x43\xd9\xea\xa5\x7e\xe3\x65\x78\xe1\x0a\x3e\x59\xc1\xdc\x3e\x4c\xf4\x9a\x6a\xa7\x61\xbc\x47\x8e\xf0\x54\x08\xb0\xd7\xbf\xc7\xa4\x67\x51\x23\xa2\x58\xd3\x1d\x96\x23\x50\x7b\x51\x36\x94\x01\x65\x0a\x45\x45\x0a\xb4\xea\xde\x10\x46\x8c\xba\xaf\xb1\xd7\x3e\xf5\x38\xf9\x7a\x5c\x83\xf0\x3c\xc7\x12\x3c\xe3\x3d\x3a\xc1\xd1\x09\x94\x7c\x2b\xb4\xff\x0f\x3b\xe5\xfc\x9e\xc5\xe6\x73\x37\xad\xb0\x8a\x65\x90\xe9\xfb\x37\x6d\x8f\xe4\x0e\x01\xab\x4a\xdb\x2a\x51\x66\xd5\x8a\xee\x7a\x7e\x22\xc9\x1f\x48\x59\xfa\x66\xaf\xd3\xa9\x0f\xdc\x98\xf3\x44\x11\xb1\x42\xf5\x32\xf6\x9a\x3e\x30\xb6\xc1\x21\xc4\xc6\x5e\x8e\xb1\x11\xb9\xbc\x3a\x01\x09\xcf\x61\x85\xea\x66\x2b\x04\x32\xfb\xfb\x64\x3a\x73\x1e\xed\xa7\x23\x2d\xe9\x59\xc6\xd4\xb2\x4d\xa3\x2b\x78\xf2\xc1\x6c\xda\xf5\x96\xbc\x28\xb6\x42\x7b\x31\x0e\x92\x5b\xf6\xb9\x80\xfd\xea\xad\xe7\xe9\xec\xc9\xb8\xd4\xdf\xa4\x0f\x4e\x47\x6a\xed\xe7\x90\x29\x6d\x99\xac\xe3\x1d\x5d\xdc\xb0\x1a\x2b\x81\xb0\x60\x36\x79\xef\x17\xc2\xaa\x8f\x4b\x6b\xac\x37\xd5\xb6\xd6\x70\x0b\x9d\x93\x09\x5e\xd7\x4b\x52\xdc\x69\x17\xc0\x10\xcb\x28\x85\xf4\xb2\x35\x31\x08\x3f\xba\x7d\x7a\x62\x9e\x2c\x53\xc9\x4e\xaf\xd2\x2e\xfa\xb0\x34\x1f\x16\x8f\xa1\x7c\x56\x23\x5b\xa9\x35\x3c\x87\x67\x57\xf0\xe4\x2d\x4f\x9d\x58\x43\x36\x1b\xca\x56\xd2\x36\xe4\x7a\x7c\x3f\x65\xa7\x3b\x3c\xc8\x99\x73\x2b\x32\x26\x70\x6a\x77\x0e\x3b\x86\xa0\xe8\xc2\x5a\xb4\xf4\xb4\xed\x07\x7c\xdf\x20\x12\x9e\xfb\xc0\xb8\x0a\x58\x50\x36\xe4\x43\xc7\xea\xa0\xb5\x03\xab\x83\xac\x9f\x2f\x58\x4f\xb6\x95\xca\x67\xa3\x5b\xbf\x7a\x20\x88\x7b\xa8\xba\xfe\xd0\x0b\xac\xe9\x38\xb8\x71\xee\x40\xa5\x33\x69\x95\x6b\x57\xdb\x5c\x21\x93\x45\xea\xe4\x32\xfe\xfe\x86\x19\xb2\x65\x50\xc3\xbe\xfa\x71\xa9\x1e\xa5\x7f\x9d\xd0\xbe\x58\xc0\xe0\xbe\x4f\x3e\x76\xd2\xf5\x3d\x91\x46\x40\x1b\xc1\x37\x28\xea\x83\x23\xa5\xfc\x01\xde\xe1\x0e\x75\x08\x7b\x8c\x60\x42\xea\xbf\x41\x51\x20\x53\x3a\x47\x5e\x1e\x9c\x63\x38\x96\x90\x2c\xd1\x23\x90\x19\x16\x59\xc1\x62\x48\x58\x9e\xcd\x9e\x19\xc1\xfd\x3c\x7b\x36\x5e\x22\x3e\x4d\x99\xfc\xd9\xe7\x51\x92\xf1\x8f\x72\x0d\x03\x40\xe0\xf9\xc2\xe0\x77\x7e\x3e\xb8\xe2\x7a\xa1\x31\xd7\x7e\xdb\x31\x20\x70\xcd\x13\xba\x33\x64\x07\x72\x1d\xb1\x43\xf2\xf8\x66\xfa\x13\x30\x4c\xf5\xa8\xe5\x51\x4f\x8f\x02\xee\x5f\xa5\x50\xd0\x2d\xaf\x6d\x6a\x10\xf2\x88\xef\x9d\xa7\x0c\x57\x65\x57\x47\x33\x97\xbe\xee\x7d\xa7\x44\x63\x3e\x87\x37\xa6\xe8\xf2\x51\x44\x27\x56\x21\xc6\xa8\x8e\x4f\x1b\x27\x74\x1b\x4a\x6c\x25\x97\x4e\xa2\xee\xf0\x70\x95\xe6\x31\x17\x39\x0b\xf8\xa3\x37\x5c\x86\xdc\x70\xca\x21\x9f\xab\xc8\x7e\xf4\xde\xb5\x9b\xbb\x18\xfa\xd4\x1a\xfb\x90\x88\x49\xaa\xbd\x6c\xcd\xa0\xbb\xae\xdb\x2c\xa3\x03\xa3\x97\xd6\x8f\x60\x8e\xe5\xc7\xc7\x4c\x98\x3a\xa4\x02\x9c\x76\xe7\x58\xd8\xd0\x53\xfa\x39\x29\x77\xdb\x4e\x4c\xcb\xd6\x6c\x17\xf2\x9b\x67\x3e\xf3\x39\xbc\x62\x72\x6b\x6a\x0d\x5b\xd0\xfb\xdc\xd1\x4c\xe3\x91\xf1\xed\x6a\x6d\xbb\x3f\xba\xa2\x62\xa6\x68\x6e\xcb\xdb\x0e\x2c\x22\xf3\x2a\xb5\xfc\x3e\xf9\x70\xaa\x93\x0d\x4a\x49\x56\xda\x4d\xdd\x10\x66\x13\x10\xcd\xa6\x34\x21\xd3\xb4\xd1\xe1\x1e\x56\x54\xad\xf9\xd4\xad\xe7\xbe\x7a\x0a\x60\x5a\xa2\x0d\xdf\x75\x5b\x64\xde\x60\xb5\x03\x1f\xc8\x7f\xf4\x7a\x66\xf5\xc7\xb4\xb1\x3a\x50\x6b\x54\x20\x0c\xd8\x32\x48\x6f\x31\xda\xc0\xed\x9b\x03\x06\x1e\x89\xa4\x4b\xd7\x0f\x63\xed\x65\x28\xa1\x1b\xda\x96\xa8\xbc\x3b\x7d\x00\x5c\x45\x85\x54\x6f\x58\x89\xf7\x13\x5e\x75\xf0\xee\xa1\x7a\x92\x49\x26\x1d\xd1\x65\xd6\x18\x1d\xf3\x53\x61\xdf\xd4\x68\x0a\x9c\xd6\xfb\x9c\x87\x52\x3c\x69\x2c\xc0\x12\x2b\x2e\x12\x77\x66\xbb\xd4\xfa\x5d\xb7\x4d\xd0\x1b\x6d\x68\x3b\x14\xb4\xa2\x05\x51\x7d\x07\x7b\x84\x87\x0e\x83\xdf\xeb\x7e\x3b\xa0\x77\x8a\xc0\xf5\xc7\xdd\xb6\xc7\xdc\xcc\x37\xcb\x70\xe7\x73\x78\x8b\x7b\x6f\x69\x32\x34\x23\x9d\x21\x0a\xd3\x37\xe7\x95\x6b\x6b\x69\x26\x76\x12\x0c\x32\xca\xcf\xd8\x04\x6e\x08\xb5\xa9\x4e\xce\xdc\x92\xd3\x1c\xcd\x14\x9e\xc2\x44\x27\x6d\x97\x8f\x4c\xa9\xa6\x70\x7e\x7e\x32\xb6\xd7\x5f\x8b\xed\xa9\xfe\x34\x60\xfb\x80\x63\x05\xce\x42\x82\x97\x4d\xe9\x97\x07\x1d\x99\xf9\x5e\xab\xb4\x4f\x10\x2b\xc1\x1b\x5b\xfe\x9a\x58\x6d\x16\x3e\xe8\x53\x7f\x45\x05\x85\x8d\x15\xdd\xf0\x7e\x0e\x45\x62\x81\xd9\x7e\x9e\xff\xd4\x2d\xa4\xb8\x3b\xb3\x18\x8c\x46\xdf\xc2\xe6\x12\x0b\xe0\xb1\x57\x08\xc7\x1f\xf1\xc0\x59\xd9\xa5\xf3\x02\x24\xa9\xcc\x00\xa9\x21\x77\xbe\x38\xea\x52\x44\xab\xc7\xb8\x53\xd7\xaa\x58\x2c\xe0\xd9\x37\x28\x38\x87\xea\xcd\x71\x43\x68\x27\x60\x1d\x31\x43\x73\xb6\x95\x66\xbf\x57\x14\x4b\x92\xe1\xbd\xea\x64\x68\xc7\xc3\xe2\x00\x33\x3e\x3d\xbb\x3d\xcb\x21\xe5\xf2\x21\x53\x77\x68\xe4\xf6\xf8\xa3\x40\x53\xdd\x38\x19\xd5\x21\x81\xd0\x8f\x79\x6d\x72\x06\xd6\xba\x37\x9b\x48\xe4\x40\xf3\xca\x76\x30\xf0\x5e\x65\xf3\xd5\x94\xdc\x21\x5f\xa7\x3f\x19\x85\x3e\xd5\xe6\xe1\x3a\xc3\xcc\x8c\xb3\x1a\xdc\x6e\x40\x03\x72\x70\x53\xb7\x02\x1d\xd7\x62\xe0\xb4\xde\x01\x18\xdf\xc3\x52\x20\xb9\x93\x69\x02\xe7\x32\xb7\x78\x0a\x32\x83\x0f\xfe\x41\x04\x84\x54\x4a\x83\xd2\x0c\xef\x03\xc9\x34\xc2\xa6\x59\x85\xf8\x27\x9a\x2e\x85\xc6\x47\x9b\x65\xeb\xfc\x06\x7a\x1a\xff\x4b\x76\x35\x32\xe1\x39\x65\xb4\x3a\x14\x8c\x1e\x95\x23\x3c\xbe\xe7\xf2\xd8\xc6\xc5\xd0\x3e\xa7\x33\xea\xd4\x69\xf1\xc0\xc6\x91\x3e\x25\x6d\x8e\x70\x86\x62\x8d\xc1\xf9\x6f\x63\x35\x70\xf5\x88\x73\x35\xb6\x8b\xd6\x3b\xe2\x1e\x80\xb9\x2e\x1a\x91\xda\x75\x95\x9d\x2a\xc4\x0c\x2a\x8d\xf7\x32\xb4\x9c\xc5\xb2\x5b\xa1\xca\x25\x77\x53\x9f\xc6\x45\x72\x89\x0f\x55\x0c\xe9\xfc\xff\x0b\xea\x82\x5a\x4e\xbd\xfa\x8d\xa7\xb2\xa3\x50\x19\x6a\x09\x14\x7c\x73\xf0\x6e\xbe\xda\xd6\x75\x5c\x4b\x66\x0f\x83\x74\x11\xb5\x0d\xa3\x69\x3a\x2e\x3f\x8e\x63\x0b\x32\x42\xea\xb5\xbb\x77\x60\x23\x99\x08\x02\x21\xad\x2b\x34\x5f\xf6\x44\x76\xe7\x05\x08\x0d\x97\x2a\xc0\x11\x58\x24\x09\x58\x27\x5e\x45\x64\xb8\x5c\x2a\x67\x5e\x93\xd0\x82\xf8\x25\xee\x9e\x25\xed\xd5\x84\xae\x64\xbe\xe2\xf5\xa9\x3f\x23\xf4\xa3\xfd\x27\xf9\x66\xb5\x1f\x2f\x2e\xb9\x5a\x0f\xd6\xe3\xe7\x43\x23\x55\xdb\x7e\x6a\x5d\xb0\x41\x73\x54\xf6\x17\xf4\xc3\x9c\xae\xa6\x15\x30\xde\x99\x07\xb7\x5b\x98\xe3\x04\x4b\x44\xd6\x19\xfc\x42\x74\x00\x72\x00\xb9\x23\x79\x9d\x08\x5b\x0f\x70\xc5\xe1\xd6\x6f\x5c\xd8\x3b\x3a\x61\xe6\x37\x30\xc0\x4e\x13\x97\x21\xed\x74\x03\xe9\xc9\x18\x32\x2e\xe1\xe7\xe9\xed\xa0\x8d\x31\xd7\x09\x8c\xc6\xeb\xc9\x10\x47\xab\xb5\x1d\x3b\x84\xc1\x67\x7c\x3e\x84\x48\xc9\x0b\x4a\x54\x54\x74\x87\xd4\xe2\x12\x3e\x2d\xe3\xb4\x65\xf0\xb8\xd4\x6d\x00\xf7\xc6\xd8\xbb\x3d\x09\xc9\xf8\xf0\xe0\xd3\x8b\xf5\x22\x58\x23\x36\x1b\x75\x70\xf4\x5c\xc2\xa7\xdb\xbe\x3d\xbd\xc5\x7b\xd5\xeb\xee\xfd\x83\x50\xe3\xa1\x3f\xbd\x60\x07\x7b\x5b\xe9\xb6\x3b\x47\xf7\x7a\x3e\xa4\xe2\x92\xc3\x1e\xe1\x4e\xa7\x33\x36\xb5\x35\xf5\x5c\x89\xa4\xa6\xfe\xe6\x92\x3f\xa3\x91\x16\x53\x27\xa9\xfd\x5b\x0e\xaf\xfb\x90\x82\xab\xf9\xfd\x1d\x98\xee\xb5\x97\xa3\x61\x9d\xbf\xf4\x63\xfc\x7a\x0c\xca\xa9\x55\xcc\x2f\x22\x1d\xd7\x89\x49\xcf\xe3\x3d\x14\x37\x33\x25\xce\x0a\x14\x7a\x2f\x4d\x54\x62\x4b\x63\x6a\x24\x7f\x46\x34\xe7\x8f\x86\x8d\xcd\xc9\x31\xb5\xb5\x97\x07\xb0\x6c\xb7\xec\x6f\x6b\x81\xd0\x98\x34\x02\xe9\x22\xde\x39\xe4\x24\x63\x70\x26\xc8\x50\x21\x15\x60\x8d\x8d\x76\x89\xae\x26\x19\x12\xbd\x61\x5c\xdf\x54\x3f\xa5\xee\x77\xb8\x62\xba\x38\xee\xab\x3f\x3d\xf0\x7a\xcb\x98\xc4\xbe\x6f\xd6\xa8\x0b\x87\xfd\x1a\xb5\x54\xdd\xd1\x8e\x10\xe6\x89\x0c\x97\xc5\x6a\x7c\xe0\xf8\x87\xb7\x1f\x1a\x5d\x74\xf2\x41\x28\xd3\x1a\x4f\xcf\x41\x26\xa7\x4a\xd3\x28\xd5\xe9\x69\x0f\xb7\x11\xae\xe0\xc9\xaf\x09\x92\x5a\xa0\x4e\x50\xd6\xd0\x06\x23\xd6\x6b\xca\xca\xe4\x46\x5c\xab\x2d\xe7\x50\x68\xa6\x25\x81\xb0\x77\x34\x23\x86\x18\x0e\x04\xf4\xfd\x36\xad\xe2\x43\x7b\x51\x61\x6d\x24\x2a\x51\xdb\xfc\x6b\x2e\x6e\x6a\x2e\x51\xaa\xbf\x87\x70\xd0\x9d\x94\xc4\xfd\xd9\xcc\xdd\x2d\x87\xa8\x13\x86\x07\xde\x51\xa0\x1e\x02\xb7\x3f\x24\x6d\x94\x57\xd4\x28\x48\x6f\x4e\xdf\xbb\xaf\xd1\x1e\x3f\x8e\x4f\x13\x49\x15\xfb\xfc\x64\xc0\x14\x1f\x96\xc8\x97\xe4\xf3\x39\xfc\xfe\xae\xff\xcb\xf0\x0e\x1a\xb1\xa5\xbf\x75\x17\x29\x70\xce\x69\xa4\x35\xbe\x3f\xa7\x33\x78\x5d\xa4\xcb\xce\xf4\xaa\xd8\xf9\x79\x80\x71\xfc\xf6\x9f\xff\xa4\x20\xfe\xfa\xab\x27\xb4\x07\x20\x7d\x89\x95\xed\x85\x94\x5b\x13\x08\x19\x6f\xb5\x38\x68\xaf\xbd\x9d\x76\x91\xbf\x8c\x90\xfc\x18\x27\xb6\xd4\x9d\xdb\x20\xb2\x40\x56\xda\x2b\xba\x42\xb5\x87\x53\xc1\x1c\x65\x0d\xf7\x84\xdd\xd5\x83\xc4\x4f\x24\x27\xea\x8c\xd3\x38\x32\x07\xfc\x33\x1d\xdd\xe5\x1a\xde\x69\x08\x3e\x3e\x1e\x20\x1a\x3b\xce\xb2\xad\xce\xc7\x05\xde\x90\x90\xb8\xd0\x38\x14\x0f\x34\x83\x92\x23\x6b\x5a\x67\x6d\x4f\x92\x74\x63\xf0\x60\xab\xf5\x02\x24\x6d\x36\xf5\x01\x74\xde\xc8\xd2\xac\x75\x44\xa4\x3d\xeb\x29\x5d\xee\x24\xdd\xd1\xd8\x32\x66\xa3\x4b\xf8\xf9\x36\x57\x6d\x0c\xbd\x66\xc9\xc9\x8d\x7f\x5b\x75\x4f\xdc\xb5\xd6\x38\xab\x7f\xae\x0c\x2c\xac\xcb\xec\x86\x80\xf6\xc2\x8c\x5e\x62\x77\x08\xa0\x76\x44\x00\x85\x98\x2b\xfb\x35\xad\xf1\x38\x03\xe8\x2d\x5c\x67\xd8\xd6\xbb\x48\x05\x0b\xa0\xf0\x13\xfc\x9c\x37\x58\x37\xac\x77\xe1\xb5\xa4\xb2\xe0\x3b\x73\x58\x9c\x6c\x36\x82\x6f\x84\x4e\x99\x2d\x71\x67\xa3\x18\xe8\x0e\x19\x10\x75\x05\xf4\x22\x45\x6e\x9a\xe6\xf8\x0d\xdf\xe9\x42\xc8\x85\x97\xde\x61\x59\x33\x44\x48\x8f\x01\xf4\xf4\x72\xec\x89\x66\x73\x68\x63\xd8\xa0\xba\x06\x6d\xb2\x93\xcc\x89\x74\x7f\xb9\x5f\x5b\x4d\x41\xea\x3a\xaa\xd9\x4e\x9f\x39\x74\x36\xac\x91\x88\xc8\x6b\xa6\x8c\x18\x32\x6a\x97\x5a\x74\x73\x3d\x77\xda\xcd\x6a\xb4\x39\x94\x9e\x2f\xc1\x4e\xd0\xb8\xa8\x2e\x0f\x77\x6a\x86\x33\x3f\xb8\xce\x31\x23\x4d\x11\x72\x78\x85\x34\xe4\xf8\xd0\xf9\xb5\x4e\x85\x7b\xb3\xce\xa3\xe5\xa6\xb3\xef\xec\x96\xd3\xe1\xce\xdd\x4b\xca\x34\x4e\x36\x27\x02\x52\xaf\xb8\xa0\x6a\xdd\x68\xae\x56\xda\x03\x78\x83\xb7\x07\xb9\xee\x30\x3d\x2b\x6b\xd2\x0c\x2a\xe1\x7a\xe1\x4f\xc0\x98\xb5\xc3\x7a\x3a\x36\xff\xf2\x11\x2a\x3a\xf6\x61\xff\xf3\x4b\x36\x3e\x85\xa0\x64\x6e\x62\xa5\x07\xf3\xbf\xba\x02\xec\x36\x3e\xfa\x87\x31\xcd\xcd\x39\x53\xd1\x99\xa3\x25\x51\x93\x21\x86\x31\x80\xd0\x88\x6e\xc9\x60\xd5\xe6\xcb\xba\xef\xd7\x4e\x31\x4d\x93\x6e\x22\x69\x38\x60\xa5\x1d\x42\xec\x59\x46\xf5\x7f\x73\x9b\x8f\x41\x31\x26\xd9\xc1\x7e\x7e\xfc\xc5\x4f\xdd\x5d\x32\x21\x31\xee\xe0\x8c\x07\x32\xc0\x8e\xbf\x19\xd1\x78\x5b\x31\xac\x90\x67\x9d\x40\x57\x63\xa5\x3a\xb1\x4e\xff\x28\x9c\xab\xec\xec\x13\xc3\xfd\x8d\xf3\x0d\x6c\x99\xa2\xb5\x87\xbd\xe1\xe6\xc6\x81\x84\x42\x70\xd9\xf7\x63\x66\x93\x6b\x07\xb6\x4b\xae\xde\xae\xa1\x25\x2c\x60\x62\x56\xfd\x64\x57\x4d\x61\x0e\xff\xd2\x8d\x9d\xc7\x7b\x70\x9f\x1a\x5a\xde\x6a\x95\x71\x72\x38\xf2\x67\x14\x1e\x00\xd2\x1b\xf3\xf4\x70\x70\xe0\xaf\x47\x20\x93\xa2\x40\x2b\x43\xab\x73\xd9\x5e\x63\x1e\x04\x05\x97\x89\x96\x9c\x48\x54\x57\x47\xf2\xc4\x19\x70\x4e\xf0\x0d\xed\x0e\x50\x07\xa7\xc8\x8e\xa2\x6b\x98\x24\x3a\x39\x8d\x68\x7c\x98\x5d\x3a\x2b\xfa\x4a\x22\xc7\x10\xe8\xd4\xdd\x6d\x38\x20\xea\x2f\xc7\x9a\xc7\x6a\x6d\xae\x51\xe9\x9d\xfb\xe5\x92\x77\x4b\xce\x06\xcd\x1f\xc1\x39\x72\xa3\xec\x62\xcc\x8d\xae\x69\xef\x2f\x0e\xbd\x61\x54\x51\x52\xd3\xff\xc6\xf6\x6f\x2b\x99\x63\x1e\xcb\xba\x1f\x25\x46\x5d\x78\x84\x05\xcc\xdd\x8d\xca\xf9\x03\x17\x29\x21\xd7\x72\x82\x05\x7c\xfe\x92\x7d\xdc\x1b\xaa\x1e\x9b\xd4\x3e\x34\xf0\xc9\xbf\x9e\xcc\x17\x8f\x29\x08\x2c\xe2\xbe\xe0\xb1\x74\xc6\xae\xec\x30\xfd\xbd\x8e\x75\xc3\xdc\xd1\xa9\x87\xe3\x61\x0f\x97\xa2\xe0\x5b\xa6\x66\x92\xec\x70\x72\x7d\x59\x98\x2e\xc2\x11\x40\x93\xe9\x05\x28\x7e\x75\x82\xf8\x7c\x0e\xff\xe5\x0c\xfe\x27\x00\x00\xff\xff\xce\x66\xc4\x2b\xee\x4b\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x0, 0x56, 0x10, 0x3, 0x29, 0x57, 0xb9, 0x90, 0x6a, 0x9c, 0xae, 0x94, 0x8e, 0x2e, 0xc4, 0x0, 0xb6, 0x35, 0xfa, 0x26, 0xf3, 0x80, 0xa9, 0xe7, 0x40, 0xb5, 0xba, 0x96, 0xb2, 0xba, 0xd3}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0xc8, 0xbf, 0x12, 0xd9, 0x94, 0x92, 0x9e, 0x2a, 0x59, 0x2a, 0x43, 0x1, 0x9d, 0x66, 0x1e, 0x54, 0xa7, 0x13, 0x75, 0x68, 0x5, 0x57, 0xe0, 0xf0, 0x9b, 0x41, 0xbe, 0xf8, 0xc6, 0xcb, 0x34}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index 1e479647c..cc28dc1fc 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -74,14 +74,13 @@ // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (1.074kB) // ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.07kB) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc (62B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (241B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc (241B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (174B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (195B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (165B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc (173B) -// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (273B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (242B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc (242B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (413B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (342B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (332B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc (289B) +// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (359B) // ../../../transactions/flowToken/burn_tokens.cdc (1.085kB) // ../../../transactions/flowToken/create_forwarder.cdc (1.815kB) // ../../../transactions/flowToken/mint_tokens.cdc (893B) @@ -1830,27 +1829,7 @@ func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc() (*asse return a, nil } -var _executionnodeversionbeaconScriptsGet_current_block_heightCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2a\x28\x4d\x52\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\xd0\xb4\x52\x08\xf5\xcc\x2b\x31\x33\x51\xa8\xe6\x52\x50\x50\x50\x28\x4a\x2d\x29\x2d\xca\x53\x48\x4f\x2d\x71\x2e\x2d\x2a\x4a\xcd\x2b\x71\xca\xc9\x4f\xce\xd6\xd0\xd4\xcb\x48\xcd\x4c\xcf\x28\xe1\xaa\x05\x04\x00\x00\xff\xff\x80\x96\x87\x62\x3e\x00\x00\x00" - -func executionnodeversionbeaconScriptsGet_current_block_heightCdcBytes() ([]byte, error) { - return bindataRead( - _executionnodeversionbeaconScriptsGet_current_block_heightCdc, - "executionNodeVersionBeacon/scripts/get_current_block_height.cdc", - ) -} - -func executionnodeversionbeaconScriptsGet_current_block_heightCdc() (*asset, error) { - bytes, err := executionnodeversionbeaconScriptsGet_current_block_heightCdcBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_block_height.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0xb5, 0x1, 0x79, 0x9, 0xa1, 0x47, 0x40, 0x1c, 0x4f, 0x9, 0xc0, 0x5e, 0x7d, 0x91, 0x5, 0xf3, 0x69, 0xb, 0xf3, 0x4b, 0xa9, 0x26, 0x3d, 0x29, 0x5, 0xea, 0x49, 0xee, 0x81, 0xc7, 0xf1}} - return a, nil -} - -var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xbd\x8a\xc2\x50\x10\xc5\xf1\xfe\x3e\xc5\x29\x93\x66\x13\xb6\xdc\x72\x97\xc5\x4a\x1b\xc5\x3e\x1f\x27\x3a\xe0\x9d\x1b\x26\x73\x43\x40\x7c\x77\xc1\x58\x4a\xda\xe1\x37\x9c\xbf\xc4\x31\x99\xe3\x7f\x61\x97\x5d\x92\x1e\x52\xcf\x33\x6d\x92\xa4\xbf\x6c\xba\xa4\x18\x2c\x45\xd4\x4b\xfd\x1d\x42\x55\x55\xd8\xd1\x27\xf8\x95\xe8\xb2\x19\xd5\x11\x45\x25\xe6\x88\x79\xfd\x42\xcf\x41\x94\x3d\x44\x5f\xec\x7d\x3e\x35\xed\x8d\x61\xcc\x2d\x86\xac\x88\x8d\x68\x51\xfe\x6c\xcc\x7e\x1d\x19\x67\x1a\xee\x01\x00\x8c\x9e\x4d\xb7\xf8\x85\xfe\xb7\x06\xed\xd7\x9e\x4f\xb6\x28\xc3\xe3\x19\x00\x00\xff\xff\xd3\x59\xe0\x53\xf1\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xbd\x8a\xc2\x50\x10\xc5\xf1\xfe\x3e\xc5\x29\x93\x66\x13\xb6\xdc\x72\x97\xc5\x4a\x1b\xc5\x3e\x1f\x27\x3a\xe0\x9d\x1b\x26\x73\x43\x40\x7c\x77\xc1\x58\x4a\xda\xe1\x37\x9c\xbf\xc4\x31\x99\xe3\x7f\x61\x97\x5d\x92\x1e\x52\xcf\x33\x6d\x92\xa4\xbf\x6c\xba\xa4\x18\x2c\x45\xd4\x4b\xfd\x1d\x42\x55\x55\xd8\xd1\x27\xf8\x95\xe8\xb2\x19\xd5\x11\x45\x25\xe6\x88\x79\xfd\x42\xcf\x41\x94\x3d\x44\x5f\xec\x7d\x3e\x35\xed\x8d\x61\xcc\x2d\x86\xac\x88\x8d\x68\x51\xfe\x6c\xcc\x7e\x1d\x19\x67\x1a\xee\x01\x00\x8c\x9e\x4d\xb7\xf8\x85\xfe\xb7\x06\xed\xd7\x9e\x4f\xb6\x28\xc3\x23\x3c\x03\x00\x00\xff\xff\xa4\x65\x5e\x2d\xf2\x00\x00\x00" func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1866,11 +1845,11 @@ func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5e, 0x47, 0x3, 0x41, 0x97, 0x11, 0xe4, 0x79, 0xc8, 0x85, 0xab, 0x91, 0x11, 0xc4, 0xba, 0x14, 0x8c, 0x7b, 0x27, 0x12, 0xe6, 0x55, 0x53, 0xa4, 0xf2, 0x24, 0xc2, 0xa, 0xa9, 0x91, 0xf7}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xf8, 0x2e, 0x93, 0x80, 0x9b, 0xd8, 0xef, 0x51, 0xc5, 0x83, 0xbc, 0x12, 0x84, 0xf0, 0xf4, 0x69, 0x3e, 0xf2, 0x16, 0x5c, 0xab, 0x4c, 0x19, 0xfb, 0x1c, 0xf7, 0x9b, 0x52, 0x9a, 0xbc, 0x1e}} return a, nil } -var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\xaa\xc2\x40\x10\x45\xfb\xfd\x8a\x5b\x26\x4d\x12\x5e\xf9\x4a\x45\xac\xb4\x51\xec\x37\xc9\x24\x0e\xb8\xb3\x61\x32\x2b\x01\xf1\xdf\x85\x6c\x4a\xb1\xbd\x9c\x7b\x38\x1c\xa6\xa8\x86\xc3\x42\x5d\x32\x8e\x72\x8e\x3d\xdd\x48\x67\x8e\xb2\x23\xdf\x45\xc1\xa0\x31\xa0\x59\x9a\x3f\xe7\xea\xba\xc6\x91\x6c\x86\xdd\x09\x5d\x52\x25\x31\x04\x16\x0e\x29\xe0\x99\x5f\xe8\x69\x60\xa1\x1e\x2c\x2b\xb6\xcd\x57\xdf\x3e\x68\x15\xf8\x19\x1e\x17\x53\x96\xd1\x4d\xa9\xc5\x90\x04\xc1\xb3\x14\xe5\xff\x36\xe3\xe5\x00\x40\xc9\x92\xca\x8f\xb4\x6a\x24\xdb\xe7\x8a\x53\x8e\xf8\xc6\x16\x65\x65\x31\x8b\x8b\xd2\xbd\x3f\x01\x00\x00\xff\xff\x52\x35\xbb\x5a\xf1\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\xaa\xc2\x40\x10\x45\xfb\xfd\x8a\x5b\x26\x4d\x12\x5e\xf9\x4a\x45\xac\xb4\x51\xec\x37\xc9\x24\x0e\xb8\xb3\x61\x32\x2b\x01\xf1\xdf\x85\x6c\x4a\xb1\xbd\x9c\x7b\x38\x1c\xa6\xa8\x86\xc3\x42\x5d\x32\x8e\x72\x8e\x3d\xdd\x48\x67\x8e\xb2\x23\xdf\x45\xc1\xa0\x31\xa0\x59\x9a\x3f\xe7\xea\xba\xc6\x91\x6c\x86\xdd\x09\x5d\x52\x25\x31\x04\x16\x0e\x29\xe0\x99\x5f\xe8\x69\x60\xa1\x1e\x2c\x2b\xb6\xcd\x57\xdf\x3e\x68\x15\xf8\x19\x1e\x17\x53\x96\xd1\x4d\xa9\xc5\x90\x04\xc1\xb3\x14\xe5\xff\x36\xe3\xe5\x00\x40\xc9\x92\xca\x8f\xb4\x6a\x24\xdb\xe7\x8a\x53\x8e\xf8\xc6\x16\x65\x65\x31\x8b\x8b\xd2\xbd\xdd\x27\x00\x00\xff\xff\x7e\x8d\xe8\xb7\xf2\x00\x00\x00" func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdcBytes() ([]byte, error) { return bindataRead( @@ -1886,11 +1865,11 @@ func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x50, 0x37, 0x69, 0x59, 0xe8, 0x54, 0xf3, 0xa3, 0x2a, 0xad, 0xe2, 0xd6, 0xfd, 0x13, 0xae, 0x9b, 0xc7, 0x55, 0xef, 0x37, 0xa8, 0xec, 0x7e, 0x64, 0x1b, 0xec, 0x3e, 0x74, 0x60, 0x56, 0x2a}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x40, 0xad, 0x8c, 0xc5, 0x41, 0xcc, 0x52, 0x93, 0x69, 0xbc, 0x9f, 0x29, 0x96, 0x4d, 0x82, 0x1d, 0x7a, 0x4d, 0xaf, 0x6f, 0xcd, 0x82, 0x86, 0xce, 0x5a, 0xf8, 0xdc, 0xd2, 0x2a, 0x35, 0x3b}} return a, nil } -var _executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\x2d\xcf\xc2\x30\x10\x00\x60\xdf\x5f\x71\x72\x33\x6f\x5e\x8d\xdb\x47\xc5\x4c\x4b\x56\x58\x48\x08\xa2\x6c\x37\x52\xb1\xbb\xe5\xb8\x26\x5b\x08\xff\x1d\x85\xc5\x3e\xe6\x49\xcb\xca\xa2\x60\x37\x1c\xb3\x26\x26\xc7\x13\x0e\x28\xcf\xc4\x54\x63\x1c\x99\x60\x16\x5e\xe0\x7f\xb3\x17\xdb\x9c\x4f\x9d\x77\xce\xb7\x76\xb0\x7d\xe8\xbc\xab\x6d\xd5\x78\x57\xb5\x6d\x6f\x43\x30\x66\xcd\x77\x98\x33\xc1\x12\x13\x15\xe5\x01\xae\x15\xed\x41\x25\x8f\x7a\x83\x97\x01\x00\x10\xd4\x2c\xf4\x63\xfb\x7b\xa0\x3a\xdc\xf4\x8b\x9c\x69\x8a\xb2\x1f\x63\x92\xa2\x34\xef\x4f\x00\x00\x00\xff\xff\x68\x36\xcc\x14\xae\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcf\x41\x6b\xfa\x40\x10\x05\xf0\x7b\x3e\xc5\x3b\xea\xe1\xff\xd7\x96\xd2\x83\xe0\x21\xea\x1e\xbc\x24\xc5\x54\x29\x88\x87\x35\x99\x24\x4b\xcd\x6c\x98\xcc\x4a\x42\xe9\x77\x2f\xb6\x7a\x12\xbc\xce\x0c\x6f\x7e\xcf\x35\xad\x17\x85\xe9\x29\x0f\xea\x3c\x27\xbe\xa0\x1d\x49\xe7\x3c\x2f\xc8\xe6\x9e\x51\x8a\x6f\x30\xed\xcd\x87\x59\x6e\xdf\xd7\x69\x92\xa4\x2b\xb3\x33\x9b\x6c\x9d\x26\x0b\x13\x2f\xd3\x24\x5e\xad\x36\x26\xcb\xa2\x68\x32\x99\x60\x43\x2a\x8e\xce\xd4\x41\x6b\x02\x53\xaf\x38\xff\xc5\xe1\xe8\x03\x17\x56\x06\xb4\xd6\x09\x1c\xc3\x8a\xd8\x01\xbe\xc4\x89\xb8\xd2\x1a\xf3\x39\x9e\x7f\x43\x84\x34\x08\xc7\x97\xf5\x7e\x7a\x98\x61\xbb\x66\x7d\x7d\xc1\x3f\x1c\x4f\x3e\xff\x44\x4d\xae\xaa\xf5\xee\xf2\xe9\x30\x7b\xd0\xe3\x7f\x46\xcd\x99\xe4\x86\x0c\xc2\x1d\xa8\x69\x75\xb8\x32\x5c\x79\x11\x0b\xc1\x75\x60\x8f\xd0\xe6\xbe\x71\x5c\xdd\xeb\x0b\x2a\x1d\x53\x11\xb5\xe1\x88\x32\x30\x1a\xeb\x78\x34\x9e\x61\x1f\xf3\x90\xa9\x84\x5c\x0f\xf8\x8a\x00\x5c\x71\x8f\x4c\x15\x69\x42\xbd\xde\x86\xd7\x17\x6f\xd6\xc9\x68\x1c\x7d\x47\x3f\x01\x00\x00\xff\xff\x97\x4b\x95\x23\x9d\x01\x00\x00" func executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdcBytes() ([]byte, error) { return bindataRead( @@ -1906,11 +1885,11 @@ func executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc() (*asse } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xc6, 0xf1, 0x36, 0x79, 0xc3, 0xcd, 0xe3, 0x40, 0xb1, 0x77, 0x4, 0xc4, 0x2f, 0x71, 0x50, 0x7e, 0x16, 0x6f, 0x83, 0x9d, 0xd0, 0x9e, 0x38, 0x6f, 0x1c, 0x78, 0x73, 0x3e, 0x82, 0xf4, 0xd7}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4, 0xd9, 0xf9, 0x91, 0x2, 0xd1, 0x3b, 0xb, 0xc, 0x46, 0x8a, 0xcf, 0xb9, 0x89, 0xe, 0x24, 0x72, 0x21, 0xd5, 0x83, 0x9, 0xa6, 0x5f, 0x99, 0x67, 0x46, 0xb4, 0x20, 0xb6, 0x85, 0x9a, 0x13}} return a, nil } -var _executionnodeversionbeaconScriptsGet_version_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcc\xbf\x0a\x83\x30\x10\x80\xf1\x3d\x4f\x71\xa3\x2e\xa5\x43\xe9\xe0\xe6\x9f\x1b\x5c\x12\x30\x2a\x5d\xa3\x3d\x4b\xa0\xb9\x48\x9a\x14\x41\x7c\xf7\x2e\x9d\x5d\x3f\x3e\x7e\xd6\xad\x3e\x44\xc0\x8d\xe6\x14\xad\x67\xe9\x9f\x34\x52\xf8\x58\xcf\x15\x99\xd9\x33\x2c\xc1\x3b\xb8\x6e\xf8\xc0\x7a\xe8\x5b\x25\xa5\x6a\x70\xc4\x4e\xb7\x4a\x56\x58\xd6\x4a\x96\x4d\xd3\xa1\xd6\x42\xac\x69\x82\x25\x31\x38\x63\x39\xcb\x0b\xd8\x87\x96\xe3\xfd\x56\x9c\xe8\x17\x4d\xee\x4b\xe1\x80\x5d\x00\x00\x04\x8a\x29\xf0\xd9\xff\xa2\xf8\x0f\xbd\x99\xde\x94\xe5\xe2\xf8\x05\x00\x00\xff\xff\xea\xcd\x5e\xdc\xc3\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_version_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8f\xbd\x6e\xab\x30\x14\xc7\x77\x9e\xe2\x3f\x26\x4b\x72\x87\xab\x0e\xd9\x92\xe0\x81\x05\x24\x48\x50\x57\x63\x0e\xf1\x51\xe1\x38\x32\xc7\x34\x52\x94\x77\xaf\xd4\x4a\x55\x27\x5e\xe0\xf7\xc1\xd3\x3d\x44\x85\x79\x90\x4b\xca\x41\xca\xd0\x53\x4b\x71\xe6\x20\x27\xb2\x2e\x08\x86\x18\x26\xfc\x7b\x98\x77\x73\xbe\x5e\x8a\xaa\x2c\xab\xdc\xb4\xa6\x6e\x8a\xaa\x3c\x99\xe3\xb9\x2a\x8f\x79\x5e\x9b\xa6\xc9\xb2\xfd\x7e\x8f\x9a\x34\x32\x2d\x34\x43\x3d\x61\xf9\x21\x5d\x6c\x37\x12\x7a\x1a\x58\xa8\x07\xcb\x9a\xee\xd3\xb3\xf3\xdf\x28\x17\x44\x2d\xcb\x8c\x2e\xa8\x87\xe7\x59\x43\x64\x67\x47\x58\xe9\x31\x24\x4d\xf1\x57\x80\x6e\x0c\xee\x03\x9e\xf8\xe6\x15\x5d\x48\xd2\xdb\xc8\x34\x67\xf7\xd4\x61\x48\x82\xc9\xb2\x6c\xb6\x07\x3c\xaf\x85\xe8\xdb\xff\xc3\x4a\xc1\xae\xa1\x69\xa1\xf8\xc2\x33\x03\x80\x48\x9a\xe2\x5a\xf1\xee\x46\xda\xfe\xf9\xdc\x6c\xb3\xd7\x57\x00\x00\x00\xff\xff\x01\x0c\xba\xe4\x56\x01\x00\x00" func executionnodeversionbeaconScriptsGet_version_tableCdcBytes() ([]byte, error) { return bindataRead( @@ -1926,11 +1905,11 @@ func executionnodeversionbeaconScriptsGet_version_tableCdc() (*asset, error) { } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_table.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xa7, 0xab, 0x8f, 0x7d, 0x26, 0xeb, 0x35, 0xab, 0xc3, 0xb0, 0x8a, 0x61, 0xb3, 0xcd, 0x34, 0x10, 0xd9, 0x39, 0x43, 0xec, 0x44, 0xee, 0xe, 0x39, 0x1d, 0xaa, 0x15, 0xf0, 0x6e, 0xe6, 0x78}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0xb8, 0x42, 0x95, 0x5d, 0x20, 0x99, 0x64, 0x16, 0x78, 0x17, 0x3c, 0xbb, 0x87, 0xba, 0xf5, 0x6e, 0xe, 0xbf, 0x84, 0xf3, 0x2c, 0xda, 0xe1, 0xdf, 0xcd, 0x7, 0x17, 0x1c, 0x64, 0x2, 0xf}} return a, nil } -var _executionnodeversionbeaconScriptsGet_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\x2d\xcf\x83\x40\x0c\x00\x60\x7f\xbf\xa2\x12\xcc\x9b\x57\x2c\x13\x73\x7c\x54\x60\xee\x12\x18\x64\x96\x41\x6f\x39\x41\x4b\xba\x5e\x42\xb2\xec\xbf\xcf\x4c\xcf\x3e\xe6\x49\xdb\x2e\x6a\x80\x07\x2d\xd9\x92\xb0\x97\x95\x26\xd2\x67\x12\xae\x69\x5e\x84\x21\xaa\x6c\xf0\x7f\xe0\x0d\x9b\xf1\xda\x05\xef\x43\x8b\x13\xf6\x43\x17\x7c\x8d\x55\x13\x7c\xd5\xb6\x3d\x0e\x83\x73\x7b\xbe\x43\xcc\x0c\xdb\x9c\xb8\x28\x2f\x30\x76\x6c\xe7\x13\xbc\x1c\x00\x80\x92\x65\xe5\x1f\xd1\xdf\x83\xec\x0b\xe3\xbe\xce\x46\x75\x8e\x91\xb4\x28\xdd\xfb\x13\x00\x00\xff\xff\x5f\x4a\x4e\x97\xa5\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xd0\xbf\x4e\xf4\x30\x10\x04\xf0\x3e\x4f\x31\xe5\x5d\xf3\xdd\x57\x20\x0a\xba\xfb\xe3\xe2\x9a\x44\xba\x90\x88\xd6\x89\xd7\xb1\x05\x5e\x47\xf6\x9a\x3b\x84\x78\x77\x44\x02\x15\x12\xfd\xea\xb7\x33\xe3\xc3\x1c\x93\x40\xdd\x68\x2c\xe2\x23\xd7\xd1\x50\x4f\x29\xfb\xc8\x07\xd2\x63\x64\xd8\x14\x03\xfe\xdf\xd4\x93\x3a\x76\x8f\xe7\xa6\xae\x9b\x93\xea\xd5\xa5\x3d\x37\xf5\x41\xed\x8f\x4d\xbd\x3f\x9d\x2e\xaa\x6d\xab\x6a\xb7\xdb\xe1\x42\x52\x12\x67\x88\x23\xbc\xae\x4e\x37\x1b\x2d\x74\x28\xd6\x52\xc2\xd5\xf9\xd1\xc1\x90\xf5\x4c\xeb\x55\xf0\xec\x43\x09\xe0\x12\x06\x4a\x88\x16\xc3\x4b\x1c\x9f\xf3\xc2\x89\xd3\x82\x50\xb2\x60\xd6\x39\x63\x20\xb9\x12\x31\xca\x17\xe9\x79\x82\xfe\x79\x02\xcd\x06\x5e\xf2\x37\x6d\x56\x04\x8e\xfc\xe4\x64\xa1\x86\x58\xd8\xe8\xf4\x56\xcd\x65\x80\x2d\x8c\xa0\x3d\x6f\xb6\x0f\xe8\xce\x2c\xf7\x77\x78\xaf\x00\x20\x2d\xf9\xff\xd8\xe3\xdf\x44\xd2\xff\x2e\xb6\xd9\x56\x1f\x9f\x01\x00\x00\xff\xff\xfc\x5b\x3c\xc8\x4c\x01\x00\x00" func executionnodeversionbeaconScriptsGet_version_update_bufferCdcBytes() ([]byte, error) { return bindataRead( @@ -1946,11 +1925,11 @@ func executionnodeversionbeaconScriptsGet_version_update_bufferCdc() (*asset, er } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0xdd, 0xfe, 0x98, 0xfa, 0x8, 0x14, 0x88, 0x2, 0x36, 0x15, 0xc0, 0xce, 0x38, 0x54, 0x66, 0x88, 0xca, 0x15, 0xee, 0x74, 0x7e, 0xbd, 0x98, 0xcd, 0x21, 0xc1, 0xb2, 0x8e, 0x42, 0xb2, 0x9b}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x7c, 0xa1, 0x4c, 0xa7, 0x2a, 0xd3, 0x6c, 0xa, 0x30, 0xba, 0xee, 0xc8, 0x3b, 0x85, 0xbb, 0xb3, 0x33, 0x90, 0xd6, 0x29, 0x68, 0x5e, 0x51, 0x46, 0xbe, 0xcd, 0xc9, 0x3, 0x1e, 0x28, 0x6b}} return a, nil } -var _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcd\xbd\x0a\xc2\x30\x10\x00\xe0\x3d\x4f\x71\x63\xbb\x88\x83\x38\xb8\xf5\xe7\x84\x2e\x09\xb4\xb6\xb8\xc6\xf6\x22\x19\x7a\x57\xce\x04\x0a\xe2\xbb\xbb\x38\xbb\x7e\xcb\x17\xd7\x4d\x34\x01\xee\x34\xe7\x14\x85\xad\x2c\x34\x91\xbe\xa2\x70\x4d\x7e\x16\x86\xa0\xb2\xc2\x71\xc7\x3b\x36\xe3\xad\x73\xd6\xba\x16\x27\xec\x87\xce\xd9\x1a\xab\xc6\xd9\xaa\x6d\x7b\x1c\x06\x63\xb6\xfc\x80\x90\x19\x56\x1f\xb9\x28\x2f\x30\x5e\xe3\x7e\x3e\xc1\xdb\x00\x00\x28\xa5\xac\xfc\x27\x3a\x3c\x29\xfd\x60\xdc\x16\x9f\xa8\xce\x21\x90\x4e\x5e\xa3\xe7\x99\x8a\xd2\x7c\xbe\x01\x00\x00\xff\xff\x97\x43\xb5\x29\xad\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcf\xb1\x6a\xf3\x40\x10\x04\xe0\xfe\x9e\x62\x4a\xbb\xf9\xe5\x1f\x42\x8a\x74\x96\x75\x01\x37\x12\x48\x91\x48\xbb\x3a\xad\xac\x83\x68\x4f\x9c\xf7\x6c\x99\x90\x77\x0f\xd8\xe9\x02\xa9\x07\x66\xbe\xf1\xf3\x12\xa2\xc2\xae\xec\x92\xfa\x20\x65\x18\xb8\xe3\x78\xf6\x41\x72\x26\x17\x04\x63\x0c\x33\x76\xab\x7d\xb7\x87\xf6\xed\x58\x95\x65\x55\xd8\xce\xd6\xcd\xb1\x2a\x73\xbb\x3f\x54\xe5\xbe\x28\x6a\xdb\x34\xc6\x64\x59\x86\x9a\x35\x45\x39\x43\x27\xc6\x85\xa2\x27\x71\x8c\x91\x9c\x86\x88\xfe\x86\xeb\xe4\xdd\xf4\x08\x1f\x23\xed\x32\x90\x72\x9e\xc6\x91\x23\x66\xba\xc1\x4d\x24\x27\xbe\x77\xd9\x75\x61\xa7\xb8\xd0\x47\x62\x68\x40\xcf\xe8\x59\xaf\xcc\x82\x1d\x48\x06\xfc\x37\x4b\xea\x31\x26\xc1\x4c\x5e\x36\xdb\x17\xb4\xaf\x7e\x7d\x7e\xc2\xa7\x01\x80\x78\xb7\xfc\xf1\xed\xdf\x89\xb5\xfb\xed\xe8\x7e\xdc\x9b\xad\xf9\x32\xdf\x01\x00\x00\xff\xff\x39\x1d\xd4\x6e\x21\x01\x00\x00" func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdcBytes() ([]byte, error) { return bindataRead( @@ -1966,11 +1945,11 @@ func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc() (* } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0x28, 0xf, 0xb9, 0x40, 0x34, 0x17, 0xb9, 0x72, 0x37, 0xaa, 0xf0, 0x2, 0xf6, 0x80, 0xb7, 0x2d, 0x7e, 0xae, 0x62, 0x41, 0x66, 0x79, 0x1e, 0x5, 0xd3, 0x5a, 0x98, 0x79, 0xcc, 0x86, 0x48}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x75, 0xf1, 0xfe, 0xb, 0xc8, 0xc2, 0x94, 0xfb, 0x72, 0x76, 0xb6, 0xe9, 0x3b, 0x9e, 0x81, 0x5, 0x75, 0xfb, 0xdf, 0x84, 0xa7, 0xdb, 0x79, 0xdf, 0x50, 0x97, 0xcb, 0xdc, 0x1e, 0x79, 0x2b}} return a, nil } -var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xb1\x6a\x86\x30\x14\x05\xe0\x3d\x4f\x71\x47\x05\x29\x1d\x4a\x07\x37\xa3\x81\xba\x24\x60\xaa\x74\x55\x7b\x6d\x43\x4d\xae\xc4\x44\x94\xd2\x77\xef\x52\xcb\xff\x2f\xce\x87\x73\xce\x67\xec\x42\x3e\x80\xd8\x71\x8c\xc1\x90\x93\xf4\x8e\x1d\xfa\xd5\x90\xe3\xd8\x8f\xe4\x60\xf2\x64\xe1\x71\x17\x6f\xa2\x6c\x5f\x6b\x25\xa5\xaa\x44\x27\x1a\x5d\x2b\xc9\x45\x51\x2a\x59\x54\x55\x23\xb4\x66\x6c\x89\x03\x4c\xd1\x81\xed\x8d\x4b\xec\xc1\x67\x1a\xbf\x5e\xd0\x7c\x7c\x86\x1c\xda\xda\x85\xe7\xa7\x0c\xec\xf1\xb7\x9e\x5f\x7c\x3e\x68\xb4\x1b\xfa\x34\x07\x4e\x34\xc3\x37\x03\x00\xf0\x18\xa2\x77\x57\x2d\xb3\x96\x64\x97\x3e\x98\x61\x3e\x93\x64\xb8\x45\xdc\x99\x32\xd8\x4e\xc9\x3f\x2a\x65\x3f\xbf\x01\x00\x00\xff\xff\x68\xff\xc8\x01\x11\x01\x00\x00" +var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcf\x41\x6b\xb3\x40\x10\xc6\xf1\xbb\x9f\xe2\x39\x26\x10\x5e\xdf\x43\xe9\xc1\x5b\xd4\x85\x7a\x51\xd0\x26\xf4\xba\x9a\x55\x87\xba\x33\xb2\xae\x12\x29\xfd\xee\xa5\x49\x43\xd3\x4b\xce\x7f\x86\xf9\x3d\x64\x47\x71\x1e\xea\x6c\x9a\xd9\x93\x70\x2e\x27\x73\x34\x6e\x22\xe1\xd8\xe8\x46\x18\xad\x13\x8b\xff\x67\xf5\xa6\x92\xc3\x6b\x56\xe4\x79\x91\xaa\xa3\x2a\xab\xac\xc8\x63\xb5\x4f\x8a\x7c\x9f\xa6\xa5\xaa\xaa\x20\x08\xc3\x10\xa5\xf1\xb3\xe3\x09\x1a\xb1\xc8\x80\x89\x3a\xa6\x76\x25\xee\x40\x2d\x7c\x6f\xd0\xd1\x62\x18\xcb\xf5\x05\x68\xc2\xa2\x07\x3a\x41\xfb\xbb\x5a\x0f\xd2\xbc\xa3\x37\xd4\xf5\x3e\x18\xe7\x1a\xed\xcc\xb0\x9a\x78\x63\xd7\xf8\xbb\xbd\x5c\x52\x84\x43\xc6\xfe\xf9\x69\x07\xbb\xfe\x98\xa3\x07\x4b\xfe\x55\xc6\x2e\xc6\x6d\xa3\x2b\xed\x23\x00\x00\x77\xf1\x3e\xba\xa2\x29\x11\x3b\x6a\x4f\xf5\x70\x2b\x9b\xfa\x1e\xf1\xc7\xb4\xbb\x4d\x8b\x7e\x51\xdb\xe0\xf3\x2b\x00\x00\xff\xff\xeb\xc5\x18\xc6\x67\x01\x00\x00" func executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1986,7 +1965,7 @@ func executionnodeversionbeaconScriptsIs_compatible_versionCdc() (*asset, error) } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/is_compatible_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc2, 0xb5, 0xc4, 0xc9, 0xe8, 0xc8, 0x8c, 0x27, 0x5e, 0xb9, 0x3e, 0x38, 0xc3, 0x57, 0x9d, 0x67, 0xe4, 0xaf, 0x8a, 0x7c, 0x56, 0x83, 0x69, 0xdd, 0xef, 0x8a, 0x55, 0xf, 0x38, 0xa3, 0xac, 0x59}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0x7c, 0x37, 0xa6, 0xc0, 0x90, 0x42, 0x7, 0xdf, 0x21, 0x5e, 0x28, 0xda, 0xb, 0xc, 0x1e, 0x96, 0x18, 0x9c, 0xea, 0x66, 0xac, 0x58, 0x16, 0x36, 0xdb, 0xfe, 0xc5, 0xde, 0x53, 0x47, 0x72}} return a, nil } @@ -6135,7 +6114,6 @@ var _bindata = map[string]func() (*asset, error){ "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc": executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, - "executionNodeVersionBeacon/scripts/get_current_block_height.cdc": executionnodeversionbeaconScriptsGet_current_block_heightCdc, "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, @@ -6494,7 +6472,6 @@ var _bintree = &bintree{nil, map[string]*bintree{ "delete_upcoming_version_boundary.cdc": {executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, map[string]*bintree{}}, }}, "scripts": {nil, map[string]*bintree{ - "get_current_block_height.cdc": {executionnodeversionbeaconScriptsGet_current_block_heightCdc, map[string]*bintree{}}, "get_current_minimum_execution_node_version.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, map[string]*bintree{}}, "get_current_minimum_execution_node_version_as_string.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, map[string]*bintree{}}, "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js index 3102f369a..6b8d9ec61 100644 --- a/lib/js/test/templates/script_templates.js +++ b/lib/js/test/templates/script_templates.js @@ -11,7 +11,6 @@ export const SCRIPT_FILENAMES = { getVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", getVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", isCompatibleVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc", - getCurrentBlockHeightFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc" } // Executes get_current_minimum_execution_node_version script diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc deleted file mode 100644 index b3e79db45..000000000 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_block_height.cdc +++ /dev/null @@ -1,3 +0,0 @@ -pub fun main(): UInt64 { - return getCurrentBlock().height -} \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc index 2362988c6..f7cc38ba2 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc @@ -3,4 +3,4 @@ import ExecutionNodeVersionBeacon from 0x02 /// Gets the current minimum version defined in the versionTable pub fun main(): ExecutionNodeVersionBeacon.Semver { return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion() -} \ No newline at end of file +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc index 9f9245a02..42163a9e4 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc @@ -4,4 +4,4 @@ import ExecutionNodeVersionBeacon from 0x02 /// as a String pub fun main(): String { return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion().toString() -} \ No newline at end of file +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc b/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc index 3c9f66c8f..2230b1fac 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc @@ -1,5 +1,9 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +/// Retrieves the next version boundary pair in array of length == 2 +/// returnArray[0]: UInt64 - block height +/// returnArray[1]: ExecutionNodeVersionBeacon.Semver +/// Returns empty array if there is no upcoming version boundary defined pub fun main(): [AnyStruct] { return ExecutionNodeVersionBeacon.getNextVersionBoundaryPair() -} \ No newline at end of file +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc index 656cd08c5..00618b5db 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc @@ -1,5 +1,7 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +/// Retrieves the versionTable defined in ExecutionNodeVersionBeacon which +/// contains both historical and future version block height boundaries pub fun main(): {UInt64: ExecutionNodeVersionBeacon.Semver} { return ExecutionNodeVersionBeacon.getVersionTable() } \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc index 0a16b4609..725ed935f 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc @@ -1,5 +1,8 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +/// Returns the versionUpdateBuffer which defines the minimum number of blocks +/// that must pass between updating a version and its defined block height +/// boundary pub fun main(): UInt64 { return ExecutionNodeVersionBeacon.getVersionUpdateBuffer() } \ No newline at end of file diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc index 0afce74dd..ba5eea197 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc @@ -1,5 +1,7 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +/// Returns the variance factor by which the versionUpdateBuffer may change +/// Expect value to be between 0 and 1 pub fun main(): UFix64 { return ExecutionNodeVersionBeacon.getVersionUpdateBufferVariance() -} \ No newline at end of file +} diff --git a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc index 62bbb3969..bad25d255 100644 --- a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc @@ -1,5 +1,6 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS +/// Returns a Bool signifying if the given version is valid at the given block height pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool { return ExecutionNodeVersionBeacon.isCompatibleVersion(blockHeight: myBlockHeight, version: myVersion) } \ No newline at end of file From ed7297e1ba07ea179791b41e80c2a8cee04eacd5 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 16 Sep 2022 14:52:18 -0500 Subject: [PATCH 13/21] Added JS test cases for ExecutionNodeVersionBeacon contract --- lib/go/templates/internal/assets/assets.go | 600 +++++++++--------- lib/js/test/templates/script_templates.js | 4 +- ...xecution_node_version_beacon_tests.test.js | 253 +++++++- .../get_current_execution_node_version.cdc | 6 + ...rrent_execution_node_version_as_string.cdc | 11 + ...current_minimum_execution_node_version.cdc | 6 - ...nimum_execution_node_version_as_string.cdc | 7 - 7 files changed, 548 insertions(+), 339 deletions(-) create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc create mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc delete mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc delete mode 100644 transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index cc28dc1fc..6133ef6a0 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -74,8 +74,8 @@ // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (1.074kB) // ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.07kB) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc (242B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc (242B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc (239B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc (301B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (413B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (342B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (332B) @@ -1829,43 +1829,43 @@ func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc() (*asse return a, nil } -var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\xbd\x8a\xc2\x50\x10\xc5\xf1\xfe\x3e\xc5\x29\x93\x66\x13\xb6\xdc\x72\x97\xc5\x4a\x1b\xc5\x3e\x1f\x27\x3a\xe0\x9d\x1b\x26\x73\x43\x40\x7c\x77\xc1\x58\x4a\xda\xe1\x37\x9c\xbf\xc4\x31\x99\xe3\x7f\x61\x97\x5d\x92\x1e\x52\xcf\x33\x6d\x92\xa4\xbf\x6c\xba\xa4\x18\x2c\x45\xd4\x4b\xfd\x1d\x42\x55\x55\xd8\xd1\x27\xf8\x95\xe8\xb2\x19\xd5\x11\x45\x25\xe6\x88\x79\xfd\x42\xcf\x41\x94\x3d\x44\x5f\xec\x7d\x3e\x35\xed\x8d\x61\xcc\x2d\x86\xac\x88\x8d\x68\x51\xfe\x6c\xcc\x7e\x1d\x19\x67\x1a\xee\x01\x00\x8c\x9e\x4d\xb7\xf8\x85\xfe\xb7\x06\xed\xd7\x9e\x4f\xb6\x28\xc3\x23\x3c\x03\x00\x00\xff\xff\xa4\x65\x5e\x2d\xf2\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\x31\x8b\xc2\x40\x14\xc4\xf1\x7e\x3f\xc5\x74\x97\x34\x97\x70\xe5\x35\x07\x27\x62\x67\xa3\xd8\x6f\x36\x13\x5d\x70\xdf\x86\x97\xb7\x21\x20\x7e\x77\x8b\x60\x27\xa9\xe7\x07\xf3\x8f\x69\xcc\x6a\xd8\x2f\x0c\xc5\x62\x96\x63\xee\x79\xa1\x4e\x31\xcb\x3f\x7d\xc8\x82\x41\x73\x42\xbb\xb4\x3f\xce\x35\x4d\x83\x03\x6d\x82\xdd\x88\x50\x54\x29\x86\x79\xd5\xe8\x39\x44\x61\x8f\x28\xeb\x9c\xc5\xd4\x07\xfb\x9a\xde\xe2\xec\xbb\x3b\xdd\x58\x3a\x0c\x45\x90\x7c\x94\xaa\xfe\xdd\x78\xfe\x3e\x31\xcd\xd4\x3f\x3c\x1c\x00\x28\xad\xa8\x6c\xf9\x2b\x6d\xb7\x46\x7d\x42\x55\xed\x9e\xee\x15\x00\x00\xff\xff\xbd\xa4\x94\xdd\xef\x00\x00\x00" -func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() ([]byte, error) { +func executionnodeversionbeaconScriptsGet_current_execution_node_versionCdcBytes() ([]byte, error) { return bindataRead( - _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, - "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", + _executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc, + "executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", ) } -func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc() (*asset, error) { - bytes, err := executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdcBytes() +func executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_current_execution_node_versionCdcBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xf8, 0x2e, 0x93, 0x80, 0x9b, 0xd8, 0xef, 0x51, 0xc5, 0x83, 0xbc, 0x12, 0x84, 0xf0, 0xf4, 0x69, 0x3e, 0xf2, 0x16, 0x5c, 0xab, 0x4c, 0x19, 0xfb, 0x1c, 0xf7, 0x9b, 0x52, 0x9a, 0xbc, 0x1e}} + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x17, 0xb0, 0x1a, 0x1c, 0xe4, 0x85, 0xbb, 0x70, 0x7, 0x3f, 0x8, 0x3, 0x55, 0xed, 0xc6, 0x12, 0x75, 0xcb, 0x18, 0x17, 0x72, 0x81, 0x5f, 0x8e, 0x3f, 0xb9, 0x4b, 0xc3, 0x8a, 0xde, 0xe0, 0xcf}} return a, nil } -var _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\xaa\xc2\x40\x10\x45\xfb\xfd\x8a\x5b\x26\x4d\x12\x5e\xf9\x4a\x45\xac\xb4\x51\xec\x37\xc9\x24\x0e\xb8\xb3\x61\x32\x2b\x01\xf1\xdf\x85\x6c\x4a\xb1\xbd\x9c\x7b\x38\x1c\xa6\xa8\x86\xc3\x42\x5d\x32\x8e\x72\x8e\x3d\xdd\x48\x67\x8e\xb2\x23\xdf\x45\xc1\xa0\x31\xa0\x59\x9a\x3f\xe7\xea\xba\xc6\x91\x6c\x86\xdd\x09\x5d\x52\x25\x31\x04\x16\x0e\x29\xe0\x99\x5f\xe8\x69\x60\xa1\x1e\x2c\x2b\xb6\xcd\x57\xdf\x3e\x68\x15\xf8\x19\x1e\x17\x53\x96\xd1\x4d\xa9\xc5\x90\x04\xc1\xb3\x14\xe5\xff\x36\xe3\xe5\x00\x40\xc9\x92\xca\x8f\xb4\x6a\x24\xdb\xe7\x8a\x53\x8e\xf8\xc6\x16\x65\x65\x31\x8b\x8b\xd2\xbd\xdd\x27\x00\x00\xff\xff\x7e\x8d\xe8\xb7\xf2\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\x4e\xc5\x30\x0c\x45\xf7\x7c\xc5\x1d\xdb\xe5\xb5\x62\x44\x62\x01\x21\x36\x16\x10\x7b\xda\x3a\xc5\x52\xea\x54\x8e\x83\x2a\xa1\xfe\x3b\xa2\x29\x62\x00\x3d\x8f\xd7\xc7\xc7\x97\x97\x35\xa9\xe1\x71\xa3\xb1\x18\x27\x79\x4e\x13\xbd\x91\x66\x4e\x72\x4f\x7e\x4c\x82\xa0\x69\x41\xbf\xf5\x37\xce\x75\x5d\x87\x27\xb2\x0c\x7b\x27\x8c\x45\x95\xc4\xf0\x51\x69\x4c\x14\x58\x68\x02\xcb\xb1\x3e\xe3\x57\x3f\x44\x3a\x0e\x7d\x86\xc7\x8b\x29\xcb\xec\xd6\x32\x20\x14\xc1\xe2\x59\x9a\xf6\xf6\x8c\xf1\xe9\x00\x80\x03\x22\xfd\x7a\xef\xae\x94\xbb\xcc\x64\x0f\xb5\xc7\x7f\x50\xd3\x9e\xca\xef\x51\xb2\xa2\xf2\xa3\xbd\x58\xaa\x4f\x9b\xf6\x20\x76\x50\xcc\xf4\x17\x97\x12\x63\x05\xdc\xee\xbe\x02\x00\x00\xff\xff\x34\x60\x6f\x68\x2d\x01\x00\x00" -func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdcBytes() ([]byte, error) { +func executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdcBytes() ([]byte, error) { return bindataRead( - _executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, - "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", + _executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc, + "executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc", ) } -func executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc() (*asset, error) { - bytes, err := executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdcBytes() +func executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc() (*asset, error) { + bytes, err := executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdcBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x40, 0xad, 0x8c, 0xc5, 0x41, 0xcc, 0x52, 0x93, 0x69, 0xbc, 0x9f, 0x29, 0x96, 0x4d, 0x82, 0x1d, 0x7a, 0x4d, 0xaf, 0x6f, 0xcd, 0x82, 0x86, 0xce, 0x5a, 0xf8, 0xdc, 0xd2, 0x2a, 0x35, 0x3b}} + info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x4d, 0x6, 0x6e, 0xf7, 0xcd, 0xdd, 0xb8, 0x3d, 0x13, 0x81, 0x76, 0x17, 0xee, 0xb6, 0x92, 0x98, 0xc6, 0xe4, 0xf7, 0x6f, 0x9e, 0xee, 0x81, 0x96, 0xb, 0xf1, 0x8b, 0xfa, 0xbc, 0x4d, 0xde}} return a, nil } @@ -6040,286 +6040,286 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, - "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, - "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, - "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, - "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, - "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, - "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, - "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, - "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, - "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, - "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, - "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, - "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, - "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, - "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, - "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, - "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, - "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, - "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, - "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, - "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, - "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, - "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, - "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, - "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, - "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, - "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, - "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, - "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, - "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, - "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, - "dkg/create_participant.cdc": dkgCreate_participantCdc, - "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, - "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, - "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, - "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, - "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, - "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, - "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, - "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, - "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, - "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, - "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, - "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, - "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, - "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, - "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, - "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, - "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, - "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, - "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, - "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, - "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, - "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, - "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, - "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, - "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, - "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, - "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, - "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, - "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, - "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, - "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, - "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, - "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, - "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, - "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, - "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, - "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, - "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, - "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, - "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, - "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, - "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc": executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, - "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, - "executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc": executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, - "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, - "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, - "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, - "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, - "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, - "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, - "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, - "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, - "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, - "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, - "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, - "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, - "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, - "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, - "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, - "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, - "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, - "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, - "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, - "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, - "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, - "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, - "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, - "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, - "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, - "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, - "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, - "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, - "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, - "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, - "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, - "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, - "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, - "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, - "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, - "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, - "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, - "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, - "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, - "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, - "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, - "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, - "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, - "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, - "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, - "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, - "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, - "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, - "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, - "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, - "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, - "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, - "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, - "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, - "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, - "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, - "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, - "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, - "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, - "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, - "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, - "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, - "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, - "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, - "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, - "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, - "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, - "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, - "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, - "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, - "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, - "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, - "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, - "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, - "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, - "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, - "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, - "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, - "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, - "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, - "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, - "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, - "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, - "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, - "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, - "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, - "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, - "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, - "inspect_field.cdc": inspect_fieldCdc, - "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, - "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, - "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, - "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, - "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, - "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, - "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, - "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, - "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, - "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, - "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, - "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, - "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, - "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, - "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, - "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, - "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, - "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, - "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, - "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, - "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, - "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, - "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, - "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, - "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, - "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, - "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, - "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, - "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, - "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, - "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, - "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, - "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, - "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, - "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, - "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, - "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, - "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, - "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, - "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, - "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, - "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, - "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, - "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, - "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, - "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, - "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, - "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, - "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, - "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, - "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, - "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, - "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, - "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, - "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, - "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, - "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, - "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, - "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, - "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, - "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, - "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, - "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, - "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, - "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, - "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, - "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, - "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, - "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, - "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, - "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, - "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, - "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, - "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, - "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, - "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, - "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, - "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, - "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, - "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, - "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, - "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, - "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, - "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, - "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, - "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, - "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, - "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, - "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, - "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, - "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, - "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, - "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, - "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, - "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, - "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, - "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, - "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, - "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, - "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, - "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, - "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, - "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, - "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, - "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, - "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, - "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, - "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, - "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, - "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, - "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, + "FlowServiceAccount/add_account_creator.cdc": flowserviceaccountAdd_account_creatorCdc, + "FlowServiceAccount/deposit_fees.cdc": flowserviceaccountDeposit_feesCdc, + "FlowServiceAccount/remove_account_creator.cdc": flowserviceaccountRemove_account_creatorCdc, + "FlowServiceAccount/scripts/get_account_creators.cdc": flowserviceaccountScriptsGet_account_creatorsCdc, + "FlowServiceAccount/scripts/get_account_fee.cdc": flowserviceaccountScriptsGet_account_feeCdc, + "FlowServiceAccount/scripts/get_execution_effort_weights.cdc": flowserviceaccountScriptsGet_execution_effort_weightsCdc, + "FlowServiceAccount/scripts/get_execution_memory_limit.cdc": flowserviceaccountScriptsGet_execution_memory_limitCdc, + "FlowServiceAccount/scripts/get_execution_memory_weights.cdc": flowserviceaccountScriptsGet_execution_memory_weightsCdc, + "FlowServiceAccount/scripts/get_fees_balance.cdc": flowserviceaccountScriptsGet_fees_balanceCdc, + "FlowServiceAccount/scripts/get_is_account_creation_restricted.cdc": flowserviceaccountScriptsGet_is_account_creation_restrictedCdc, + "FlowServiceAccount/scripts/get_is_account_creator.cdc": flowserviceaccountScriptsGet_is_account_creatorCdc, + "FlowServiceAccount/scripts/get_tx_fee_parameters.cdc": flowserviceaccountScriptsGet_tx_fee_parametersCdc, + "FlowServiceAccount/set_execution_effort_weights.cdc": flowserviceaccountSet_execution_effort_weightsCdc, + "FlowServiceAccount/set_execution_memory_limit.cdc": flowserviceaccountSet_execution_memory_limitCdc, + "FlowServiceAccount/set_execution_memory_weights.cdc": flowserviceaccountSet_execution_memory_weightsCdc, + "FlowServiceAccount/set_is_account_creation_restricted.cdc": flowserviceaccountSet_is_account_creation_restrictedCdc, + "FlowServiceAccount/set_tx_fee_parameters.cdc": flowserviceaccountSet_tx_fee_parametersCdc, + "FlowServiceAccount/set_tx_fee_surge_factor.cdc": flowserviceaccountSet_tx_fee_surge_factorCdc, + "contractAudits/admin/authorize_auditor.cdc": contractauditsAdminAuthorize_auditorCdc, + "contractAudits/admin/cleanup_expired.cdc": contractauditsAdminCleanup_expiredCdc, + "contractAudits/auditor/init.cdc": contractauditsAuditorInitCdc, + "contractAudits/auditor/new_audit.cdc": contractauditsAuditorNew_auditCdc, + "contractAudits/auditor/new_audit_hashed.cdc": contractauditsAuditorNew_audit_hashedCdc, + "contractAudits/auditor/remove_audit.cdc": contractauditsAuditorRemove_auditCdc, + "contractAudits/fvm/deploy_contract.cdc": contractauditsFvmDeploy_contractCdc, + "contractAudits/scripts/get_vouchers.cdc": contractauditsScriptsGet_vouchersCdc, + "dkg/admin/force_stop_dkg.cdc": dkgAdminForce_stop_dkgCdc, + "dkg/admin/publish_participant.cdc": dkgAdminPublish_participantCdc, + "dkg/admin/set_safe_threshold.cdc": dkgAdminSet_safe_thresholdCdc, + "dkg/admin/start_dkg.cdc": dkgAdminStart_dkgCdc, + "dkg/admin/stop_dkg.cdc": dkgAdminStop_dkgCdc, + "dkg/create_participant.cdc": dkgCreate_participantCdc, + "dkg/scripts/get_consensus_nodes.cdc": dkgScriptsGet_consensus_nodesCdc, + "dkg/scripts/get_dkg_canonical_final_submission.cdc": dkgScriptsGet_dkg_canonical_final_submissionCdc, + "dkg/scripts/get_dkg_completed.cdc": dkgScriptsGet_dkg_completedCdc, + "dkg/scripts/get_dkg_enabled.cdc": dkgScriptsGet_dkg_enabledCdc, + "dkg/scripts/get_final_submissions.cdc": dkgScriptsGet_final_submissionsCdc, + "dkg/scripts/get_latest_whiteboard_messages.cdc": dkgScriptsGet_latest_whiteboard_messagesCdc, + "dkg/scripts/get_node_final_submission.cdc": dkgScriptsGet_node_final_submissionCdc, + "dkg/scripts/get_node_has_submitted.cdc": dkgScriptsGet_node_has_submittedCdc, + "dkg/scripts/get_node_is_claimed.cdc": dkgScriptsGet_node_is_claimedCdc, + "dkg/scripts/get_node_is_registered.cdc": dkgScriptsGet_node_is_registeredCdc, + "dkg/scripts/get_thresholds.cdc": dkgScriptsGet_thresholdsCdc, + "dkg/scripts/get_whiteboard_messages.cdc": dkgScriptsGet_whiteboard_messagesCdc, + "dkg/send_final_submission.cdc": dkgSend_final_submissionCdc, + "dkg/send_whiteboard_message.cdc": dkgSend_whiteboard_messageCdc, + "epoch/admin/advance_view.cdc": epochAdminAdvance_viewCdc, + "epoch/admin/calculate_rewards.cdc": epochAdminCalculate_rewardsCdc, + "epoch/admin/deploy_epoch.cdc": epochAdminDeploy_epochCdc, + "epoch/admin/deploy_qc_dkg.cdc": epochAdminDeploy_qc_dkgCdc, + "epoch/admin/pay_rewards.cdc": epochAdminPay_rewardsCdc, + "epoch/admin/reset_epoch.cdc": epochAdminReset_epochCdc, + "epoch/admin/set_automatic_rewards.cdc": epochAdminSet_automatic_rewardsCdc, + "epoch/admin/update_clusters.cdc": epochAdminUpdate_clustersCdc, + "epoch/admin/update_dkg_phase_views.cdc": epochAdminUpdate_dkg_phase_viewsCdc, + "epoch/admin/update_epoch_config.cdc": epochAdminUpdate_epoch_configCdc, + "epoch/admin/update_epoch_views.cdc": epochAdminUpdate_epoch_viewsCdc, + "epoch/admin/update_reward.cdc": epochAdminUpdate_rewardCdc, + "epoch/admin/update_staking_views.cdc": epochAdminUpdate_staking_viewsCdc, + "epoch/node/register_dkg_participant.cdc": epochNodeRegister_dkg_participantCdc, + "epoch/node/register_node.cdc": epochNodeRegister_nodeCdc, + "epoch/node/register_qc_voter.cdc": epochNodeRegister_qc_voterCdc, + "epoch/scripts/get_config_metadata.cdc": epochScriptsGet_config_metadataCdc, + "epoch/scripts/get_create_clusters.cdc": epochScriptsGet_create_clustersCdc, + "epoch/scripts/get_current_view.cdc": epochScriptsGet_current_viewCdc, + "epoch/scripts/get_epoch_counter.cdc": epochScriptsGet_epoch_counterCdc, + "epoch/scripts/get_epoch_metadata.cdc": epochScriptsGet_epoch_metadataCdc, + "epoch/scripts/get_epoch_phase.cdc": epochScriptsGet_epoch_phaseCdc, + "epoch/scripts/get_proposed_counter.cdc": epochScriptsGet_proposed_counterCdc, + "epoch/scripts/get_randomize.cdc": epochScriptsGet_randomizeCdc, + "executionNodeVersionBeacon/admin/add_version_to_table.cdc": executionnodeversionbeaconAdminAdd_version_to_tableCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc": executionnodeversionbeaconAdminChange_version_update_bufferCdc, + "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc": executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc": executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, + "executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc": executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc, + "executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc": executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc, + "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, + "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, + "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, + "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, + "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, + "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, + "flowToken/mint_tokens.cdc": flowtokenMint_tokensCdc, + "flowToken/scripts/get_balance.cdc": flowtokenScriptsGet_balanceCdc, + "flowToken/scripts/get_supply.cdc": flowtokenScriptsGet_supplyCdc, + "flowToken/setup_account.cdc": flowtokenSetup_accountCdc, + "flowToken/transfer_tokens.cdc": flowtokenTransfer_tokensCdc, + "idTableStaking/admin/add_approved_nodes.cdc": idtablestakingAdminAdd_approved_nodesCdc, + "idTableStaking/admin/capability_end_epoch.cdc": idtablestakingAdminCapability_end_epochCdc, + "idTableStaking/admin/change_cut.cdc": idtablestakingAdminChange_cutCdc, + "idTableStaking/admin/change_minimums.cdc": idtablestakingAdminChange_minimumsCdc, + "idTableStaking/admin/change_payout.cdc": idtablestakingAdminChange_payoutCdc, + "idTableStaking/admin/end_epoch.cdc": idtablestakingAdminEnd_epochCdc, + "idTableStaking/admin/end_epoch_change_payout.cdc": idtablestakingAdminEnd_epoch_change_payoutCdc, + "idTableStaking/admin/end_staking.cdc": idtablestakingAdminEnd_stakingCdc, + "idTableStaking/admin/move_tokens.cdc": idtablestakingAdminMove_tokensCdc, + "idTableStaking/admin/pay_rewards.cdc": idtablestakingAdminPay_rewardsCdc, + "idTableStaking/admin/remove_approved_nodes.cdc": idtablestakingAdminRemove_approved_nodesCdc, + "idTableStaking/admin/remove_node.cdc": idtablestakingAdminRemove_nodeCdc, + "idTableStaking/admin/remove_unapproved_nodes.cdc": idtablestakingAdminRemove_unapproved_nodesCdc, + "idTableStaking/admin/scale_rewards_test.cdc": idtablestakingAdminScale_rewards_testCdc, + "idTableStaking/admin/set_approved_nodes.cdc": idtablestakingAdminSet_approved_nodesCdc, + "idTableStaking/admin/set_claimed.cdc": idtablestakingAdminSet_claimedCdc, + "idTableStaking/admin/set_non_operational.cdc": idtablestakingAdminSet_non_operationalCdc, + "idTableStaking/admin/start_staking.cdc": idtablestakingAdminStart_stakingCdc, + "idTableStaking/admin/transfer_admin.cdc": idtablestakingAdminTransfer_adminCdc, + "idTableStaking/admin/transfer_fees_admin.cdc": idtablestakingAdminTransfer_fees_adminCdc, + "idTableStaking/admin/transfer_minter_deploy.cdc": idtablestakingAdminTransfer_minter_deployCdc, + "idTableStaking/admin/upgrade_set_claimed.cdc": idtablestakingAdminUpgrade_set_claimedCdc, + "idTableStaking/admin/upgrade_staking.cdc": idtablestakingAdminUpgrade_stakingCdc, + "idTableStaking/delegation/del_request_unstaking.cdc": idtablestakingDelegationDel_request_unstakingCdc, + "idTableStaking/delegation/del_stake_new_tokens.cdc": idtablestakingDelegationDel_stake_new_tokensCdc, + "idTableStaking/delegation/del_stake_rewarded.cdc": idtablestakingDelegationDel_stake_rewardedCdc, + "idTableStaking/delegation/del_stake_unstaked.cdc": idtablestakingDelegationDel_stake_unstakedCdc, + "idTableStaking/delegation/del_withdraw_reward_tokens.cdc": idtablestakingDelegationDel_withdraw_reward_tokensCdc, + "idTableStaking/delegation/del_withdraw_unstaked_tokens.cdc": idtablestakingDelegationDel_withdraw_unstaked_tokensCdc, + "idTableStaking/delegation/delegator_add_capability.cdc": idtablestakingDelegationDelegator_add_capabilityCdc, + "idTableStaking/delegation/get_delegator_committed.cdc": idtablestakingDelegationGet_delegator_committedCdc, + "idTableStaking/delegation/get_delegator_info.cdc": idtablestakingDelegationGet_delegator_infoCdc, + "idTableStaking/delegation/get_delegator_info_from_address.cdc": idtablestakingDelegationGet_delegator_info_from_addressCdc, + "idTableStaking/delegation/get_delegator_request.cdc": idtablestakingDelegationGet_delegator_requestCdc, + "idTableStaking/delegation/get_delegator_rewarded.cdc": idtablestakingDelegationGet_delegator_rewardedCdc, + "idTableStaking/delegation/get_delegator_staked.cdc": idtablestakingDelegationGet_delegator_stakedCdc, + "idTableStaking/delegation/get_delegator_unstaked.cdc": idtablestakingDelegationGet_delegator_unstakedCdc, + "idTableStaking/delegation/get_delegator_unstaking.cdc": idtablestakingDelegationGet_delegator_unstakingCdc, + "idTableStaking/delegation/get_delegator_unstaking_request.cdc": idtablestakingDelegationGet_delegator_unstaking_requestCdc, + "idTableStaking/delegation/register_delegator.cdc": idtablestakingDelegationRegister_delegatorCdc, + "idTableStaking/delegation/register_many_delegators.cdc": idtablestakingDelegationRegister_many_delegatorsCdc, + "idTableStaking/node/node_add_capability.cdc": idtablestakingNodeNode_add_capabilityCdc, + "idTableStaking/node/register_many_nodes.cdc": idtablestakingNodeRegister_many_nodesCdc, + "idTableStaking/node/register_node.cdc": idtablestakingNodeRegister_nodeCdc, + "idTableStaking/node/request_unstake.cdc": idtablestakingNodeRequest_unstakeCdc, + "idTableStaking/node/stake_new_tokens.cdc": idtablestakingNodeStake_new_tokensCdc, + "idTableStaking/node/stake_rewarded_tokens.cdc": idtablestakingNodeStake_rewarded_tokensCdc, + "idTableStaking/node/stake_unstaked_tokens.cdc": idtablestakingNodeStake_unstaked_tokensCdc, + "idTableStaking/node/unstake_all.cdc": idtablestakingNodeUnstake_allCdc, + "idTableStaking/node/update_networking_address.cdc": idtablestakingNodeUpdate_networking_addressCdc, + "idTableStaking/node/withdraw_reward_tokens.cdc": idtablestakingNodeWithdraw_reward_tokensCdc, + "idTableStaking/node/withdraw_unstaked_tokens.cdc": idtablestakingNodeWithdraw_unstaked_tokensCdc, + "idTableStaking/scripts/get_approved_nodes.cdc": idtablestakingScriptsGet_approved_nodesCdc, + "idTableStaking/scripts/get_current_table.cdc": idtablestakingScriptsGet_current_tableCdc, + "idTableStaking/scripts/get_cut_percentage.cdc": idtablestakingScriptsGet_cut_percentageCdc, + "idTableStaking/scripts/get_node_committed_tokens.cdc": idtablestakingScriptsGet_node_committed_tokensCdc, + "idTableStaking/scripts/get_node_info.cdc": idtablestakingScriptsGet_node_infoCdc, + "idTableStaking/scripts/get_node_info_from_address.cdc": idtablestakingScriptsGet_node_info_from_addressCdc, + "idTableStaking/scripts/get_node_initial_weight.cdc": idtablestakingScriptsGet_node_initial_weightCdc, + "idTableStaking/scripts/get_node_networking_addr.cdc": idtablestakingScriptsGet_node_networking_addrCdc, + "idTableStaking/scripts/get_node_networking_key.cdc": idtablestakingScriptsGet_node_networking_keyCdc, + "idTableStaking/scripts/get_node_rewarded_tokens.cdc": idtablestakingScriptsGet_node_rewarded_tokensCdc, + "idTableStaking/scripts/get_node_role.cdc": idtablestakingScriptsGet_node_roleCdc, + "idTableStaking/scripts/get_node_staked_tokens.cdc": idtablestakingScriptsGet_node_staked_tokensCdc, + "idTableStaking/scripts/get_node_staking_key.cdc": idtablestakingScriptsGet_node_staking_keyCdc, + "idTableStaking/scripts/get_node_total_commitment.cdc": idtablestakingScriptsGet_node_total_commitmentCdc, + "idTableStaking/scripts/get_node_total_commitment_without_delegators.cdc": idtablestakingScriptsGet_node_total_commitment_without_delegatorsCdc, + "idTableStaking/scripts/get_node_type_ratio.cdc": idtablestakingScriptsGet_node_type_ratioCdc, + "idTableStaking/scripts/get_node_unstaked_tokens.cdc": idtablestakingScriptsGet_node_unstaked_tokensCdc, + "idTableStaking/scripts/get_node_unstaking_request.cdc": idtablestakingScriptsGet_node_unstaking_requestCdc, + "idTableStaking/scripts/get_node_unstaking_tokens.cdc": idtablestakingScriptsGet_node_unstaking_tokensCdc, + "idTableStaking/scripts/get_non_operational.cdc": idtablestakingScriptsGet_non_operationalCdc, + "idTableStaking/scripts/get_proposed_table.cdc": idtablestakingScriptsGet_proposed_tableCdc, + "idTableStaking/scripts/get_stake_requirements.cdc": idtablestakingScriptsGet_stake_requirementsCdc, + "idTableStaking/scripts/get_table.cdc": idtablestakingScriptsGet_tableCdc, + "idTableStaking/scripts/get_total_staked.cdc": idtablestakingScriptsGet_total_stakedCdc, + "idTableStaking/scripts/get_total_staked_by_type.cdc": idtablestakingScriptsGet_total_staked_by_typeCdc, + "idTableStaking/scripts/get_weekly_payout.cdc": idtablestakingScriptsGet_weekly_payoutCdc, + "inspect_field.cdc": inspect_fieldCdc, + "lockedTokens/admin/admin_create_shared_accounts.cdc": lockedtokensAdminAdmin_create_shared_accountsCdc, + "lockedTokens/admin/admin_deploy_contract.cdc": lockedtokensAdminAdmin_deploy_contractCdc, + "lockedTokens/admin/admin_deposit_account_creator.cdc": lockedtokensAdminAdmin_deposit_account_creatorCdc, + "lockedTokens/admin/admin_remove_delegator.cdc": lockedtokensAdminAdmin_remove_delegatorCdc, + "lockedTokens/admin/check_main_registration.cdc": lockedtokensAdminCheck_main_registrationCdc, + "lockedTokens/admin/check_shared_registration.cdc": lockedtokensAdminCheck_shared_registrationCdc, + "lockedTokens/admin/custody_create_account_with_lease_account.cdc": lockedtokensAdminCustody_create_account_with_lease_accountCdc, + "lockedTokens/admin/custody_create_only_lease_account.cdc": lockedtokensAdminCustody_create_only_lease_accountCdc, + "lockedTokens/admin/custody_create_only_shared_account.cdc": lockedtokensAdminCustody_create_only_shared_accountCdc, + "lockedTokens/admin/custody_create_shared_accounts.cdc": lockedtokensAdminCustody_create_shared_accountsCdc, + "lockedTokens/admin/custody_setup_account_creator.cdc": lockedtokensAdminCustody_setup_account_creatorCdc, + "lockedTokens/admin/deposit_locked_tokens.cdc": lockedtokensAdminDeposit_locked_tokensCdc, + "lockedTokens/admin/get_unlocking_bad_accounts.cdc": lockedtokensAdminGet_unlocking_bad_accountsCdc, + "lockedTokens/admin/unlock_tokens.cdc": lockedtokensAdminUnlock_tokensCdc, + "lockedTokens/admin/unlock_tokens_for_multiple_accounts.cdc": lockedtokensAdminUnlock_tokens_for_multiple_accountsCdc, + "lockedTokens/delegator/delegate_new_tokens.cdc": lockedtokensDelegatorDelegate_new_tokensCdc, + "lockedTokens/delegator/delegate_rewarded_tokens.cdc": lockedtokensDelegatorDelegate_rewarded_tokensCdc, + "lockedTokens/delegator/delegate_unstaked_tokens.cdc": lockedtokensDelegatorDelegate_unstaked_tokensCdc, + "lockedTokens/delegator/get_delegator_id.cdc": lockedtokensDelegatorGet_delegator_idCdc, + "lockedTokens/delegator/get_delegator_info.cdc": lockedtokensDelegatorGet_delegator_infoCdc, + "lockedTokens/delegator/get_delegator_node_id.cdc": lockedtokensDelegatorGet_delegator_node_idCdc, + "lockedTokens/delegator/register_delegator.cdc": lockedtokensDelegatorRegister_delegatorCdc, + "lockedTokens/delegator/request_unstaking.cdc": lockedtokensDelegatorRequest_unstakingCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens.cdc": lockedtokensDelegatorWithdraw_rewarded_tokensCdc, + "lockedTokens/delegator/withdraw_rewarded_tokens_locked.cdc": lockedtokensDelegatorWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/delegator/withdraw_unstaked_tokens.cdc": lockedtokensDelegatorWithdraw_unstaked_tokensCdc, + "lockedTokens/staker/get_node_id.cdc": lockedtokensStakerGet_node_idCdc, + "lockedTokens/staker/get_staker_info.cdc": lockedtokensStakerGet_staker_infoCdc, + "lockedTokens/staker/register_node.cdc": lockedtokensStakerRegister_nodeCdc, + "lockedTokens/staker/request_unstaking.cdc": lockedtokensStakerRequest_unstakingCdc, + "lockedTokens/staker/stake_new_tokens.cdc": lockedtokensStakerStake_new_tokensCdc, + "lockedTokens/staker/stake_rewarded_tokens.cdc": lockedtokensStakerStake_rewarded_tokensCdc, + "lockedTokens/staker/stake_unstaked_tokens.cdc": lockedtokensStakerStake_unstaked_tokensCdc, + "lockedTokens/staker/unstake_all.cdc": lockedtokensStakerUnstake_allCdc, + "lockedTokens/staker/update_networking_address.cdc": lockedtokensStakerUpdate_networking_addressCdc, + "lockedTokens/staker/withdraw_rewarded_tokens.cdc": lockedtokensStakerWithdraw_rewarded_tokensCdc, + "lockedTokens/staker/withdraw_rewarded_tokens_locked.cdc": lockedtokensStakerWithdraw_rewarded_tokens_lockedCdc, + "lockedTokens/staker/withdraw_unstaked_tokens.cdc": lockedtokensStakerWithdraw_unstaked_tokensCdc, + "lockedTokens/user/deposit_tokens.cdc": lockedtokensUserDeposit_tokensCdc, + "lockedTokens/user/get_locked_account_address.cdc": lockedtokensUserGet_locked_account_addressCdc, + "lockedTokens/user/get_locked_account_balance.cdc": lockedtokensUserGet_locked_account_balanceCdc, + "lockedTokens/user/get_multiple_unlock_limits.cdc": lockedtokensUserGet_multiple_unlock_limitsCdc, + "lockedTokens/user/get_total_balance.cdc": lockedtokensUserGet_total_balanceCdc, + "lockedTokens/user/get_unlock_limit.cdc": lockedtokensUserGet_unlock_limitCdc, + "lockedTokens/user/withdraw_tokens.cdc": lockedtokensUserWithdraw_tokensCdc, + "quorumCertificate/admin/publish_voter.cdc": quorumcertificateAdminPublish_voterCdc, + "quorumCertificate/admin/start_voting.cdc": quorumcertificateAdminStart_votingCdc, + "quorumCertificate/admin/stop_voting.cdc": quorumcertificateAdminStop_votingCdc, + "quorumCertificate/create_voter.cdc": quorumcertificateCreate_voterCdc, + "quorumCertificate/scripts/generate_quorum_certificate.cdc": quorumcertificateScriptsGenerate_quorum_certificateCdc, + "quorumCertificate/scripts/get_cluster.cdc": quorumcertificateScriptsGet_clusterCdc, + "quorumCertificate/scripts/get_cluster_complete.cdc": quorumcertificateScriptsGet_cluster_completeCdc, + "quorumCertificate/scripts/get_cluster_node_weights.cdc": quorumcertificateScriptsGet_cluster_node_weightsCdc, + "quorumCertificate/scripts/get_cluster_vote_threshold.cdc": quorumcertificateScriptsGet_cluster_vote_thresholdCdc, + "quorumCertificate/scripts/get_cluster_votes.cdc": quorumcertificateScriptsGet_cluster_votesCdc, + "quorumCertificate/scripts/get_cluster_weight.cdc": quorumcertificateScriptsGet_cluster_weightCdc, + "quorumCertificate/scripts/get_clusters.cdc": quorumcertificateScriptsGet_clustersCdc, + "quorumCertificate/scripts/get_node_has_voted.cdc": quorumcertificateScriptsGet_node_has_votedCdc, + "quorumCertificate/scripts/get_node_weight.cdc": quorumcertificateScriptsGet_node_weightCdc, + "quorumCertificate/scripts/get_qc_enabled.cdc": quorumcertificateScriptsGet_qc_enabledCdc, + "quorumCertificate/scripts/get_voter_is_registered.cdc": quorumcertificateScriptsGet_voter_is_registeredCdc, + "quorumCertificate/scripts/get_voting_completed.cdc": quorumcertificateScriptsGet_voting_completedCdc, + "quorumCertificate/submit_vote.cdc": quorumcertificateSubmit_voteCdc, + "stakingCollection/close_stake.cdc": stakingcollectionClose_stakeCdc, + "stakingCollection/create_machine_account.cdc": stakingcollectionCreate_machine_accountCdc, + "stakingCollection/create_new_tokenholder_acct.cdc": stakingcollectionCreate_new_tokenholder_acctCdc, + "stakingCollection/deploy_collection_contract.cdc": stakingcollectionDeploy_collection_contractCdc, + "stakingCollection/register_delegator.cdc": stakingcollectionRegister_delegatorCdc, + "stakingCollection/register_multiple_delegators.cdc": stakingcollectionRegister_multiple_delegatorsCdc, + "stakingCollection/register_multiple_nodes.cdc": stakingcollectionRegister_multiple_nodesCdc, + "stakingCollection/register_node.cdc": stakingcollectionRegister_nodeCdc, + "stakingCollection/request_unstaking.cdc": stakingcollectionRequest_unstakingCdc, + "stakingCollection/restake_all_stakers.cdc": stakingcollectionRestake_all_stakersCdc, + "stakingCollection/scripts/does_account_have_staking_collection.cdc": stakingcollectionScriptsDoes_account_have_staking_collectionCdc, + "stakingCollection/scripts/get_all_delegator_info.cdc": stakingcollectionScriptsGet_all_delegator_infoCdc, + "stakingCollection/scripts/get_all_node_info.cdc": stakingcollectionScriptsGet_all_node_infoCdc, + "stakingCollection/scripts/get_delegator_ids.cdc": stakingcollectionScriptsGet_delegator_idsCdc, + "stakingCollection/scripts/get_does_stake_exist.cdc": stakingcollectionScriptsGet_does_stake_existCdc, + "stakingCollection/scripts/get_locked_tokens_used.cdc": stakingcollectionScriptsGet_locked_tokens_usedCdc, + "stakingCollection/scripts/get_machine_account_address.cdc": stakingcollectionScriptsGet_machine_account_addressCdc, + "stakingCollection/scripts/get_machine_accounts.cdc": stakingcollectionScriptsGet_machine_accountsCdc, + "stakingCollection/scripts/get_node_ids.cdc": stakingcollectionScriptsGet_node_idsCdc, + "stakingCollection/scripts/get_unlocked_tokens_used.cdc": stakingcollectionScriptsGet_unlocked_tokens_usedCdc, + "stakingCollection/setup_staking_collection.cdc": stakingcollectionSetup_staking_collectionCdc, + "stakingCollection/stake_new_tokens.cdc": stakingcollectionStake_new_tokensCdc, + "stakingCollection/stake_rewarded_tokens.cdc": stakingcollectionStake_rewarded_tokensCdc, + "stakingCollection/stake_unstaked_tokens.cdc": stakingcollectionStake_unstaked_tokensCdc, + "stakingCollection/test/deposit_tokens.cdc": stakingcollectionTestDeposit_tokensCdc, + "stakingCollection/test/get_tokens.cdc": stakingcollectionTestGet_tokensCdc, + "stakingCollection/transfer_delegator.cdc": stakingcollectionTransfer_delegatorCdc, + "stakingCollection/transfer_node.cdc": stakingcollectionTransfer_nodeCdc, + "stakingCollection/unstake_all.cdc": stakingcollectionUnstake_allCdc, + "stakingCollection/update_networking_address.cdc": stakingcollectionUpdate_networking_addressCdc, + "stakingCollection/withdraw_from_machine_account.cdc": stakingcollectionWithdraw_from_machine_accountCdc, + "stakingCollection/withdraw_rewarded_tokens.cdc": stakingcollectionWithdraw_rewarded_tokensCdc, + "stakingCollection/withdraw_unstaked_tokens.cdc": stakingcollectionWithdraw_unstaked_tokensCdc, + "stakingProxy/add_node_info.cdc": stakingproxyAdd_node_infoCdc, + "stakingProxy/get_node_info.cdc": stakingproxyGet_node_infoCdc, + "stakingProxy/register_node.cdc": stakingproxyRegister_nodeCdc, + "stakingProxy/remove_node_info.cdc": stakingproxyRemove_node_infoCdc, + "stakingProxy/remove_staking_proxy.cdc": stakingproxyRemove_staking_proxyCdc, + "stakingProxy/request_unstaking.cdc": stakingproxyRequest_unstakingCdc, + "stakingProxy/setup_node_account.cdc": stakingproxySetup_node_accountCdc, + "stakingProxy/stake_new_tokens.cdc": stakingproxyStake_new_tokensCdc, + "stakingProxy/stake_unstaked_tokens.cdc": stakingproxyStake_unstaked_tokensCdc, + "stakingProxy/unstake_all.cdc": stakingproxyUnstake_allCdc, + "stakingProxy/withdraw_rewards.cdc": stakingproxyWithdraw_rewardsCdc, + "stakingProxy/withdraw_unstaked.cdc": stakingproxyWithdraw_unstakedCdc, + "storageFees/admin/set_parameters.cdc": storagefeesAdminSet_parametersCdc, + "storageFees/scripts/get_account_available_balance.cdc": storagefeesScriptsGet_account_available_balanceCdc, + "storageFees/scripts/get_storage_capacity.cdc": storagefeesScriptsGet_storage_capacityCdc, + "storageFees/scripts/get_storage_fee_conversion.cdc": storagefeesScriptsGet_storage_fee_conversionCdc, + "storageFees/scripts/get_storage_fee_min.cdc": storagefeesScriptsGet_storage_fee_minCdc, } // AssetDebug is true if the assets were built with the debug flag enabled. @@ -6472,8 +6472,8 @@ var _bintree = &bintree{nil, map[string]*bintree{ "delete_upcoming_version_boundary.cdc": {executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc, map[string]*bintree{}}, }}, "scripts": {nil, map[string]*bintree{ - "get_current_minimum_execution_node_version.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_versionCdc, map[string]*bintree{}}, - "get_current_minimum_execution_node_version_as_string.cdc": {executionnodeversionbeaconScriptsGet_current_minimum_execution_node_version_as_stringCdc, map[string]*bintree{}}, + "get_current_execution_node_version.cdc": {executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc, map[string]*bintree{}}, + "get_current_execution_node_version_as_string.cdc": {executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc, map[string]*bintree{}}, "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, "get_version_table.cdc": {executionnodeversionbeaconScriptsGet_version_tableCdc, map[string]*bintree{}}, "get_version_update_buffer.cdc": {executionnodeversionbeaconScriptsGet_version_update_bufferCdc, map[string]*bintree{}}, diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js index 6b8d9ec61..b4d109699 100644 --- a/lib/js/test/templates/script_templates.js +++ b/lib/js/test/templates/script_templates.js @@ -4,8 +4,8 @@ import { expect } from "@jest/globals"; import { executeScript } from "@onflow/flow-js-testing"; export const SCRIPT_FILENAMES = { - getCurrentMinimumExecutionNodeVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc", - getCurrentMinimumExecutionNodeVersionAsStringFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc", + getCurrentExecutionNodeVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", + getCurrentExecutionNodeVersionAsStringFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", getNextVersionBoundaryPairFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", getVersionTableFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc", getVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index 31f82e99e..e7f644027 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -21,6 +21,22 @@ const BASE_PATH = path.resolve(__dirname, "./../../../../"); describe("ExecutionNodeVersionBeacon Contract Tests", () => { + /** TODO: Test Cases + * [X] - Contract deploys with proper initialization + * [X] - Add version to table succeeds + * [X] - Add version to table fails as it's within buffer period + * [X] - Add multiple versions to table in mixed block height order, getNextVersionBoundaryPair() returns correct boundary + * [X] - Delete version from table successful + * [ ] - Delete version from table fails as it's too close to boundary + * [ ] - Delete version from table fails as it doesn't exist + * [ ] - Change buffer within variance succeeds + * [ ] - Change buffer outside of variance fails + * [ ] - Change buffer too close to current block fails + * [ ] - Change variance succeeds + * [ ] - Add multiple versions succeeds + * - Check is compatible version is correct + * - Check getNextVersionBoundaryPair is correct + * */ // Setup each test beforeEach(async () => { @@ -33,14 +49,16 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Stop the emulator after each test afterEach(async () => { return emulator.stop(); - }) + }); test("Deploy ExecutionNodeVersionBeacon successfully with proper initialization", async () => { // Contract initialization arguments const expectedBuffer = 1000; const expectedBufferVariance = 0.5; - const expectedVersionTable = {} - const expectedVersionBoundaryPair = [] + + // Define expected versionTable response object & boundary pair + const expectedVersionTable = {}; + const expectedVersionBoundaryPair = []; // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); @@ -71,14 +89,16 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Contract initialization arguments const expectedBuffer = 10; const expectedBufferVariance = 0.5; + + // Version & boundary values const expectedBlockHeightBoundary = 15; const expectedMajor = 0; const expectedMinor = 1; const expectedPatch = 2; - const expectedPreRelease = "alpha-"; + const expectedPreRelease = "alpha.1"; const isBackwardsCompatible = true; - // Define expected versionTable response object + // Define expected versionTable response object & boundary pair const expectedVersionTable = { [expectedBlockHeightBoundary.toString()]: { "isBackwardsCompatible": isBackwardsCompatible, @@ -87,7 +107,11 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { "patch": expectedPatch.toString(), "preRelease": expectedPreRelease, } - } + }; + const expectedVersionBoundaryPair = [ + expectedBlockHeightBoundary.toString(), + expectedVersionTable[expectedBlockHeightBoundary.toString()] + ]; // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); @@ -108,30 +132,211 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { const actualVersionBoundaryPair = await executeScriptByFilename( SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] ); + // getCurrentExecutionNodeVersion should return null as version is upcoming + const actualCurrentVersion = await executeScriptByFilename( + SCRIPT_FILENAMES["getCurrentExecutionNodeVersionFilename"] + ); + const actualCurrentVersionAsString = await executeScriptByFilename( + SCRIPT_FILENAMES["getCurrentExecutionNodeVersionAsStringFilename"] + ); // Check actual against expected expect(actualVersionTable).toEqual(expectedVersionTable); + expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); + expect(actualCurrentVersion).toBeNull(); + expect(actualCurrentVersionAsString).toBeNull(); + }); + + test("Add version boundary within buffer period fails", async () => { + // Contract initialization arguments + const expectedBuffer = 100; + const expectedBufferVariance = 0.5; + + // Version & boundary values + const expectedBlockHeightBoundary = 15; + const expectedMajor = 0; + const expectedMinor = 1; + const expectedPatch = 2; + const expectedPreRelease = "alpha.1"; + const isBackwardsCompatible = true; + + // Define expected versionTable response object & boundary pair + const expectedVersionTable = {}; + const expectedVersionBoundaryPair = []; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Attempt to add version boundary to table - should fail & revert + // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] + await sendTransactionByFilenameReverts( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [expectedMajor, expectedMinor, expectedPatch, expectedPreRelease, isBackwardsCompatible, expectedBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Check the version table & version boundary pair + const actualVersionTable = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionTableFilename"] + ); + const actualVersionBoundaryPair = await executeScriptByFilename( + SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] + ); + + // Check version table remains empty + expect(actualVersionTable).toEqual(expectedVersionTable); + expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); + }); + + // Insert multiple versions in mixed order - 65: 0.1.0-alpha.2, 50: 0.1.0-alpha.1, 90: 0.1.0-alpha.3 + test("Add multiple versions to table in mixed block height order, getNextVersionBoundaryPair() returns correct boundary", async () => { + + // Contract initialization arguments + const expectedBuffer = 10; + const expectedBufferVariance = 0.5; + + // First in block height, will add to versionTable second + const firstBlockHeightBoundary = 50; + const firstMajor = 0; + const firstMinor = 1; + const firstPatch = 0; + const firstPreRelease = "alpha.1"; + const firstIsBackwardsCompatible = true; + + // Second in block height, will add to versionTable first + const secondBlockHeightBoundary = 65; + const secondMajor = 0; + const secondMinor = 1; + const secondPatch = 0; + const secondPreRelease = "alpha.2"; + const secondIsBackwardsCompatible = true; + + // Third in block height, will add to versionTable third + const thirdBlockHeightBoundary = 90; + const thirdMajor = 0; + const thirdMinor = 1; + const thirdPatch = 1; + const thirdPreRelease = null; + const thirdIsBackwardsCompatible = true; + + // Define expected versionTable response object & version boundary pair + const expectedFirstSequentialVersion = { + "isBackwardsCompatible": firstIsBackwardsCompatible, + "major": firstMajor.toString(), + "minor": firstMinor.toString(), + "patch": firstPatch.toString(), + "preRelease": firstPreRelease + }; + const expectedSecondSequentialVersion = { + "isBackwardsCompatible": firstIsBackwardsCompatible, + "major": secondMajor.toString(), + "minor": secondMinor.toString(), + "patch": secondPatch.toString(), + "preRelease": secondPreRelease + }; + const expectedThirdSequentialVersion = { + "isBackwardsCompatible": firstIsBackwardsCompatible, + "major": thirdMajor.toString(), + "minor": thirdMinor.toString(), + "patch": thirdPatch.toString(), + "preRelease": thirdPreRelease + }; + const expectedNextVersionBoundaryPair = [ + firstBlockHeightBoundary.toString(), + expectedFirstSequentialVersion + ]; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Add each version boundary to table + // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [secondMajor, secondMinor, secondPatch, secondPreRelease, secondIsBackwardsCompatible, secondBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [firstMajor, firstMinor, firstPatch, firstPreRelease, firstIsBackwardsCompatible, firstBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [thirdMajor, thirdMinor, thirdPatch, thirdPreRelease, thirdIsBackwardsCompatible, thirdBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Check the version table & version boundary pair + const actualVersionTable = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionTableFilename"] + ); + const actualVersionBoundaryPair = await executeScriptByFilename( + SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] + ); + + // Check actual against expected + expect(actualVersionTable[firstBlockHeightBoundary.toString()]) + .toEqual(expectedFirstSequentialVersion); + expect(actualVersionTable[secondBlockHeightBoundary.toString()]) + .toEqual(expectedSecondSequentialVersion); + expect(actualVersionTable[thirdBlockHeightBoundary.toString()]) + .toEqual(expectedThirdSequentialVersion); expect(actualVersionBoundaryPair) - .toEqual([ - expectedBlockHeightBoundary.toString(), - expectedVersionTable[expectedBlockHeightBoundary.toString()] - ]); + .toEqual(expectedNextVersionBoundaryPair); + }); + + test("/Delete version from table successful", async () => { + // Contract initialization arguments + const expectedBuffer = 10; + const expectedBufferVariance = 0.5; + + // Version & boundary values + const expectedBlockHeightBoundary = 20; + const expectedMajor = 0; + const expectedMinor = 1; + const expectedPatch = 2; + const expectedPreRelease = "alpha.1"; + const isBackwardsCompatible = true; + + // Define expected versionTable response object & boundary pair + const expectedVersionTable = {}; + const expectedVersionBoundaryPair = []; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Add version to table + // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [expectedMajor, expectedMinor, expectedPatch, expectedPreRelease, isBackwardsCompatible, expectedBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Then delete the version + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["deleteUpcomingVersionBoundaryFilename"], + [expectedBlockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Check the version table & version boundary pair + const actualVersionTable = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionTableFilename"] + ); + const actualVersionBoundaryPair = await executeScriptByFilename( + SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] + ); + + // Ensure that the table is empty and no boundary pair exists + expect(actualVersionTable).toEqual(expectedVersionTable); + expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); }); - /** TODO: Test Cases - * [ ] - Add version to table fails as it's within buffer period - * [ ] - Add version to table fails as it's not sequential - * [ ] - Delete version from table successful - * [ ] - Delete version from table fails as it's too close to boundary - * [ ] - Delete version from table fails as it doesn't exist - * [ ] - Change buffer within variance succeeds - * [ ] - Change buffer outside of variance fails - * [ ] - Change buffer too close to current block fails - * [ ] - Change variance succeeds - * [ ] - Add multiple versions succeeds - * - Check is compatible version is correct - * - Check getNextVersionBoundaryPair is correct - * */ }); // Deploys the ExecutionNodeVersionBeacon to the passed account diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc new file mode 100644 index 000000000..7ad1ed06d --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc @@ -0,0 +1,6 @@ +import ExecutionNodeVersionBeacon from 0x02 + +/// Gets the current version defined in the contract's versionTable +pub fun main(): ExecutionNodeVersionBeacon.Semver? { + return ExecutionNodeVersionBeacon.getCurrentExecutionNodeVersion() +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc new file mode 100644 index 000000000..26f02511e --- /dev/null +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc @@ -0,0 +1,11 @@ +import ExecutionNodeVersionBeacon from 0x02 + +/// Gets the current version defined in the versionTable +/// as a String +pub fun main(): String { + if let version = ExecutionNodeVersionBeacon.getCurrentExecutionNodeVersion() { + return version.toString() + } else { + return null + } +} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc deleted file mode 100644 index f7cc38ba2..000000000 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version.cdc +++ /dev/null @@ -1,6 +0,0 @@ -import ExecutionNodeVersionBeacon from 0x02 - -/// Gets the current minimum version defined in the versionTable -pub fun main(): ExecutionNodeVersionBeacon.Semver { - return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion() -} diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc deleted file mode 100644 index 42163a9e4..000000000 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_minimum_execution_node_version_as_string.cdc +++ /dev/null @@ -1,7 +0,0 @@ -import ExecutionNodeVersionBeacon from 0x02 - -/// Gets the current minimum version defined in the versionTable -/// as a String -pub fun main(): String { - return ExecutionNodeVersionBeacon.getCurrentMinimumExecutionNodeVersion().toString() -} From 04981ccb3d001617e3fd2a7fb75fd3443051e88f Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 16 Sep 2022 15:09:11 -0500 Subject: [PATCH 14/21] Test coverage for ExecutionNodeVersionBeacon.changeVersionUpdateBuffer() --- ...xecution_node_version_beacon_tests.test.js | 69 +++++++++++++++++-- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index e7f644027..09d3c9f1b 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -27,15 +27,11 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { * [X] - Add version to table fails as it's within buffer period * [X] - Add multiple versions to table in mixed block height order, getNextVersionBoundaryPair() returns correct boundary * [X] - Delete version from table successful - * [ ] - Delete version from table fails as it's too close to boundary - * [ ] - Delete version from table fails as it doesn't exist - * [ ] - Change buffer within variance succeeds - * [ ] - Change buffer outside of variance fails + * [X] - Delete version from table fails as it doesn't exist + * [X] - Change buffer within variance succeeds + * [X] - Change buffer outside of variance fails * [ ] - Change buffer too close to current block fails * [ ] - Change variance succeeds - * [ ] - Add multiple versions succeeds - * - Check is compatible version is correct - * - Check getNextVersionBoundaryPair is correct * */ // Setup each test @@ -337,6 +333,65 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); }); + test("/Delete version from table fails - no boundary defined at passed boundary", async () => { + // Contract initialization arguments + const expectedBuffer = 10; + const expectedBufferVariance = 0.5; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + + // Attempt to delete version + await sendTransactionByFilenameReverts( + TRANSACTION_FILENAMES["deleteUpcomingVersionBoundaryFilename"], + [100], + [ExecNodeVersionBeaconAcct] + ); + }); + + test("Change versionUpdateBuffer succeeds", async () => { + // Contract initialization arguments + const beginningBuffer = 10; + const expectedBufferVariance = 0.5; + const expectedBuffer = 12; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); + + // Attempt to delete version + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], + [expectedBuffer], + [ExecNodeVersionBeaconAcct] + ); + + // Check that the versionUpdateBuffer has changed as expected + const actualBuffer = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] + ); + expect(parseInt(actualBuffer)).toEqual(expectedBuffer); + }); + + test("Change versionUpdateBuffer outside of versionUpdateBufferVariance fails", async () => { + // Contract initialization arguments + const beginningBuffer = 10; + const expectedBufferVariance = 0.5; + const newBuffer = 20; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); + + // Attempt to delete version + await sendTransactionByFilenameReverts( + TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], + [newBuffer], + [ExecNodeVersionBeaconAcct] + ); + }); + }); // Deploys the ExecutionNodeVersionBeacon to the passed account From 444d2e931f915a7d6b44bb1e49d703db9e90cfd9 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 16 Sep 2022 20:44:48 -0500 Subject: [PATCH 15/21] Completed ExecutionNodeVersionBeacon contract tests, transactions & scripts --- contracts/ExecutionNodeVersionBeacon.cdc | 95 +++++++--------- lib/go/contracts/internal/assets/assets.go | 6 +- lib/go/templates/internal/assets/assets.go | 40 +++---- lib/js/test/templates/script_templates.js | 3 +- .../test/templates/transaction_templates.js | 2 +- ...xecution_node_version_beacon_tests.test.js | 101 +++++++++++++----- .../admin/add_version_to_table.cdc | 8 +- .../admin/change_version_update_buffer.cdc | 7 +- .../change_version_update_buffer_variance.cdc | 9 +- .../delete_upcoming_version_boundary.cdc | 10 +- .../get_current_execution_node_version.cdc | 3 +- ...rrent_execution_node_version_as_string.cdc | 8 +- .../scripts/is_compatible_version.cdc | 3 +- 13 files changed, 161 insertions(+), 134 deletions(-) diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index ceeb44948..bdc047093 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -95,18 +95,18 @@ pub contract ExecutionNodeVersionBeacon { pub fun strictEqualTo(_ other: Semver): Bool { return self.coreEqualTo(other) && self.preRelease == other.preRelease } - } /// Event emitted any time a change is made to versionTable pub event ExecutionNodeVersionTableAddition(height: UInt64, version: Semver) pub event ExecutionNodeVersionTableDeletion(height: UInt64, version: Semver) + /// Event emitted any time the version update buffer period or variance is updated pub event ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: UInt64) pub event ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: UFix64) - /// Canonical storage path for ExecutionNodeVersionKeeper - pub let ExecutionNodeVersionKeeperStoragePath: StoragePath + /// Canonical storage path for ExecutionNodeVersionAdmin + pub let ExecutionNodeVersionAdminStoragePath: StoragePath /// Table dictating minimum version - {blockHeight: Semver} /// Should be ordered by block height (index) which is @@ -117,6 +117,7 @@ pub contract ExecutionNodeVersionBeacon { /// the version boundary being defined. Nodes can expect that changes to the versionTable /// they will have at least this long to respond to a version boundary access(contract) var versionUpdateBuffer: UInt64 + /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries access(contract) var versionUpdateBufferVariance: UFix64 @@ -127,52 +128,16 @@ pub contract ExecutionNodeVersionBeacon { /// Sorted Array containing historical block heights where version boundaries were defined access(contract) var archivedBlockBoundaries: [UInt64] - /// Admin interface that manages the Execution Node versioning + /// Admin resource that manages the Execution Node versioning /// maintained in this contract - pub resource interface ExecutionNodeVersionAdmin { - + pub resource ExecutionNodeVersionAdmin { /// Update the minimum version to take effect at the given block height pub fun addVersionBoundaryToTable(targetBlockHeight: UInt64, newVersion: Semver) { pre { targetBlockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer : "Target block height occurs too soon to update EN version." } - } - - /// Deletes the last entry in versionTable which defines an upcoming version boundary - /// Could be helpful in case rollback is needed - pub fun deleteUpcomingVersionBoundary(blockHeight: UInt64): Semver { - pre { - ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." - ExecutionNodeVersionBeacon.versionTable.keys.contains(blockHeight): "No boundary defined at that blockHeight." - ExecutionNodeVersionBeacon.upcomingBlockBoundaries.contains(blockHeight): "Boundary not defined in upcomingBlockBoundaries." - } - } - - /// Updates the number of blocks that must buffer updates to the versionTable - /// and the block number the version is targetting - pub fun changeVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { - post { - ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." - } - } - /// Updates the variance percentage by which the versionUpdateBuffer can be changed - /// Value must be between 0.0 and 1.0 - pub fun changeVersionUpdateBufferVariance(_ newUpdateBufferVariance: UFix64) { - pre { - newUpdateBufferVariance >= 0.0 && newUpdateBufferVariance <= 1.0 : "Buffer variance must be value between 0 and 1." - } - post { - ExecutionNodeVersionBeacon.versionUpdateBufferVariance == newUpdateBufferVariance: "Update buffer variance was not properly changed! Reverted." - } - } - } - - /// Admin resource that manages the Execution Node versioning - /// maintained in this contract - pub resource ExecutionNodeVersionKeeper: ExecutionNodeVersionAdmin { - pub fun addVersionBoundaryToTable(targetBlockHeight: UInt64, newVersion: Semver) { // Insert mapping into versiontable ExecutionNodeVersionBeacon.versionTable.insert( key: targetBlockHeight, @@ -185,7 +150,15 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionTableAddition(height: targetBlockHeight, version: newVersion) } + /// Deletes the last entry in versionTable which defines an upcoming version boundary + /// Could be helpful in case rollback is needed pub fun deleteUpcomingVersionBoundary(blockHeight: UInt64): Semver { + pre { + ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." + ExecutionNodeVersionBeacon.versionTable.keys.contains(blockHeight): "No boundary defined at that blockHeight." + ExecutionNodeVersionBeacon.upcomingBlockBoundaries.contains(blockHeight): "Boundary not defined in upcomingBlockBoundaries." + } + // Ensure deletion occurs with enough time for nodes to respond assert( blockHeight > getCurrentBlock().height + ExecutionNodeVersionBeacon.versionUpdateBuffer, @@ -208,7 +181,13 @@ pub contract ExecutionNodeVersionBeacon { return removed } + /// Updates the number of blocks that must buffer updates to the versionTable + /// and the block number the version is targetting pub fun changeVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { + post { + ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." + } + // New buffer should be within range of expected buffer varianca assert( UFix64(newUpdateBufferInBlocks) >= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance) && @@ -242,7 +221,16 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: newUpdateBufferInBlocks) } + /// Updates the variance percentage by which the versionUpdateBuffer can be changed + /// Value must be between 0.0 and 1.0 pub fun changeVersionUpdateBufferVariance(_ newUpdateBufferVariance: UFix64) { + pre { + newUpdateBufferVariance >= 0.0 && newUpdateBufferVariance <= 1.0 : "Buffer variance must be value between 0 and 1." + } + post { + ExecutionNodeVersionBeacon.versionUpdateBufferVariance == newUpdateBufferVariance: "Update buffer variance was not properly changed! Reverted." + } + ExecutionNodeVersionBeacon.versionUpdateBufferVariance = newUpdateBufferVariance emit ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: newUpdateBufferVariance) @@ -266,18 +254,14 @@ pub contract ExecutionNodeVersionBeacon { return self.versionTable } - /// Function that returns that version that was defined at the most - /// recent block height boundary + /// Function that returns the vesion that was defined at the most + /// recent block height boundary or null if no upcoming boundary is defined pub fun getCurrentExecutionNodeVersion(): Semver? { - pre { - self.versionTable.length > 0: "No current minimum version defined." - } - // Update both upcomingBlockBoundaries & archivedBlockBoundaries arrays self.archiveOldBlockBoundaries() // Return nil if no historical boundaries have been defined - if self.archivedBlockBoundaries.length == 0 { + if self.versionTable.length == 0 || self.archivedBlockBoundaries.length == 0 { return nil } @@ -307,10 +291,10 @@ pub contract ExecutionNodeVersionBeacon { ] } - /// Checks whether given version was compatible at the given block height - pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool { - pre { - blockHeight >= getCurrentBlock().height: "Given block height is in the future." + /// Checks whether given version was compatible at the given historical block height + pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool? { + if blockHeight > getCurrentBlock().height { + return nil } // Find previous version boundary & check minimum version in versionTable @@ -384,7 +368,6 @@ pub contract ExecutionNodeVersionBeacon { } // Define search bounds - var left = 0 var right = archiveLength // Loop until search pointers cross @@ -411,15 +394,15 @@ pub contract ExecutionNodeVersionBeacon { init(versionUpdateBuffer: UInt64, versionUpdateBufferVariance: UFix64) { /// Initialize contract variables - self.ExecutionNodeVersionKeeperStoragePath = /storage/ExecutionNodeVersionKeeper + self.ExecutionNodeVersionAdminStoragePath = /storage/ExecutionNodeVersionAdmin self.versionTable = {} self.versionUpdateBuffer = versionUpdateBuffer self.versionUpdateBufferVariance = versionUpdateBufferVariance self.archivedBlockBoundaries = [] self.upcomingBlockBoundaries = [] - /// Save ExecutionNodeVersionKeeper to storage - self.account.save(<-create ExecutionNodeVersionKeeper(), to: self.ExecutionNodeVersionKeeperStoragePath) + /// Save ExecutionNodeVersionAdmin to storage + self.account.save(<-create ExecutionNodeVersionAdmin(), to: self.ExecutionNodeVersionAdminStoragePath) } } \ No newline at end of file diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index 07f5220c5..7d6930652 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (19.438kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.816kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\x1b\xb9\x7a\xef\xfe\x15\xdf\xe6\xc1\x2b\x65\x6d\x29\x5b\x14\x45\x61\x58\x59\x24\x3e\xc9\x9e\xa0\x8b\xec\x41\x2e\x7b\x1e\x02\x63\x41\xcd\x7c\x23\xb1\x9e\x21\x55\x92\x92\xac\x66\xf3\xdf\x0b\x5e\x87\x33\xe4\xc8\x23\x27\x29\x5a\xbd\x24\xd2\x70\x3e\x7e\xf7\x2b\xe9\xf9\x7c\x0e\x1f\xd6\x54\x42\xc1\x99\x12\xa4\x50\x40\x25\x6c\x25\x96\xa0\x38\x94\x58\x51\x86\x25\x2c\x6b\x5e\xdc\xc1\x1a\xe9\x6a\xad\x80\xb0\x12\x24\xaf\xd4\x9e\x08\x84\x1d\x0a\x49\x39\x83\x25\xdf\xb2\x92\x08\x8a\xf2\x4c\x43\xac\xb8\x00\xb5\xc6\x76\x9d\xd8\x32\x58\x1e\xe0\xd5\x3d\x16\x5b\xa5\x5f\x78\xcb\x4b\x94\xb3\xb3\xcd\x76\xd9\xee\x1c\x9e\xea\x87\x7f\x58\xc8\x2f\x91\x14\x9c\xc1\xe7\xb3\x33\x00\x00\x0d\xfb\xbd\x12\xdb\x42\x81\xc0\x8d\x40\x89\x4c\x51\xb6\x4a\xf1\x21\x12\xde\x63\x43\x98\xa2\x05\x38\x48\x01\x00\xa9\x39\x5b\xc1\x9e\xaa\x35\xac\xb1\xde\xa0\x80\x6a\xcb\x0a\xbd\xaf\x0c\x6b\x5e\x73\x01\x02\x2b\x14\xc8\x0a\xbc\x00\x89\x08\x6b\xa5\x36\xf2\x6a\x3e\x97\xd8\xec\x50\xcc\xb8\x58\xcd\xcd\x72\x4d\x82\xb4\x38\xbd\x37\x8f\xe0\xb3\xf9\xdd\x83\xba\xe1\xcd\x86\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x2e\xc2\xce\x83\xab\x51\x41\x43\xfe\x93\x8b\x2b\xf8\xf8\x86\xa9\x7f\x4f\x1f\x52\x36\xfc\x70\x43\x54\xb1\x1e\x7c\x28\xf0\x1d\xd6\x48\x24\x5e\x69\x4e\x52\xb6\xfa\xe5\xac\x83\xee\x1f\xa4\xde\x22\x94\xc8\xb8\xe1\x6c\xc1\x9b\x0d\x51\x74\x49\x6b\xaa\x0e\x96\x69\x1b\x81\x3b\xca\xb7\xd2\xa3\x2e\x93\x4d\xa8\x7c\x49\x8a\xbb\x3d\x11\xa5\xbc\x71\xef\xd7\x78\x05\x2f\x39\xaf\xdb\xcd\x28\xa3\x6a\x12\x53\x79\xd1\x21\xeb\xa2\x43\xc7\x45\x0e\xf1\x8b\x63\x1b\x4d\x23\x31\xe8\x8f\xc4\xba\x9a\x99\xed\x60\x61\x99\x9b\x79\xac\xf7\xd7\x8f\xf5\xbf\xe9\x63\x83\x10\x2c\x2c\x62\x99\xc7\x01\x43\xbd\x26\x7c\x49\x17\x66\xb1\x86\x45\x9e\x9a\xf0\xfa\x97\xae\x9c\xde\xa1\xda\x0a\x16\x84\x00\x94\x79\xf5\xab\xb8\x68\x88\x82\x09\xce\x56\x33\xd8\x5d\x1b\x5a\x9f\xcf\xae\x0d\x51\xcf\x67\xd7\x06\xfb\xe7\x97\xd7\x2d\x86\xcf\xa7\x1d\xc8\x44\x02\x71\x2c\xee\x48\xb6\xda\x32\x50\xdc\x3e\x98\x4c\xbd\x14\x7a\x6c\xd6\xe2\xb7\x16\x72\xc3\x05\xba\x25\x8b\x88\xfb\xb3\x16\x44\xe7\x45\xf3\x99\x15\x9c\x15\x44\x4d\x9e\xcc\x9e\x1c\x79\x9a\x3e\xe9\x4a\xf0\xe8\x16\xd3\xaf\xde\xc3\x30\xf0\xf8\x1e\x9d\x9f\x8c\x0f\xd0\x40\xb5\x52\x5c\x0a\xa7\x22\xb4\x02\xaa\x00\xef\xa9\x54\x12\xce\x41\x18\x71\x76\xde\xa3\x55\xa2\x57\x3f\x2c\x80\xd1\xba\xc7\x72\xfd\xb1\xaf\x27\x9c\x0f\xb4\x5e\x3e\x09\x74\xf7\x60\xfe\xd0\x45\x36\xd2\xb2\x23\x70\xb3\x4a\xf9\x14\x6e\xb6\x52\xf1\xc6\x78\x3c\x22\x88\xe2\x42\xc2\xd3\x79\x5e\x6d\x95\xd8\x1a\x1e\x38\x9d\x2d\xb8\x40\x1d\x79\x56\x02\x89\x42\x1d\x3c\x08\xeb\xbc\xb7\x21\x52\x07\xa5\x78\xb9\x0e\x44\x15\xa9\x25\x02\x57\x6b\x14\x7b\x1a\xd9\x9a\xd7\x57\xbd\xf0\x57\x0b\xf3\xc3\x9a\xb0\xc9\x9f\x76\xed\x95\x03\x34\xb5\xbe\xa2\xc7\x50\x5a\xc1\x24\x72\x17\xcf\xed\x3b\xf6\x5b\xdf\xad\x44\x4c\xd2\x24\x75\x79\x09\x58\x5b\x49\xc7\xe0\x16\x8b\x18\x1e\x9c\x9f\xc7\xbe\x27\xec\xa5\xbf\x7d\xe7\xbd\xda\x87\xe6\xab\x7f\x68\xbd\x9c\x47\xc4\x7c\x7b\x04\x22\x83\x2f\x18\x89\xf5\x54\x2e\xa7\x4d\xa7\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xb5\x25\xb5\x4e\x61\xbe\x8d\xde\xfc\x2e\x5e\x69\x80\x1f\xf8\x38\x05\x0a\x56\x53\x57\xb3\xbe\x06\x9a\xd7\xa7\xf0\xd7\x5f\xed\x63\x0f\xdb\x3e\x7a\x24\x37\x6a\x94\xf2\x9b\x9a\xcd\x6f\x28\xe5\x49\x36\x13\xe9\xdd\x75\x47\xed\x1e\xa3\xc5\x63\x95\xf8\xba\xa3\xc3\xdf\x73\xa7\xa3\xe6\x72\x1d\x9b\xcb\xff\x49\x6b\x09\xfa\xf1\x3d\x4c\xc5\xeb\xca\x57\xda\x49\x50\xb9\x6f\x6d\x24\x54\xf6\xc9\xec\xbc\xf5\x18\x92\x1f\x4d\xe8\xd7\xaa\x5a\x78\xd8\x4d\x43\x47\x33\xe2\x29\xde\x93\x42\xd5\x87\xa7\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\xaf\x12\x7c\x57\xb8\x2d\xc1\x51\x46\x1d\xa8\x4e\x13\x6b\x47\xfa\x97\xb6\x46\x7c\xb5\x43\xa6\x00\x1b\xaa\x14\x96\x40\xd8\x01\x14\x6d\x10\x08\x14\x6b\xc2\x56\xc6\x1e\x1a\x52\xa2\xa6\xdd\xe5\xcf\x1f\x88\xcf\xb5\x35\x59\x68\xde\xcf\xd5\xa3\x66\xdd\x8b\xb2\xa4\xfa\xf7\x89\x2d\x89\x6d\x8d\xf2\x6f\xff\x7a\xe1\x81\x05\xe2\xc7\x02\xfc\x1b\xd6\x38\x1e\xe0\x11\x0a\x75\xd1\xed\x2b\x82\xed\xa6\x24\x0a\x61\xb9\xad\x2a\x14\xb0\x41\x41\x79\x09\x5c\xc0\x8e\x08\x4a\x58\x61\xb8\x60\xd7\x94\x23\xf0\xfc\x68\x56\xbe\x34\xc0\x6e\x0c\x17\xcb\x09\xc3\x7d\xe6\xa9\xc7\x7e\x0c\xf5\xf1\x7b\x7f\x38\xbc\x8e\x43\xf7\xab\xae\xe0\xe3\x6b\x7a\xaf\x77\x09\x3c\xb9\x21\x8c\x33\x5a\x90\x1a\xa4\xe2\x82\xac\x50\x57\x6a\x6b\xd3\x8c\xc8\xed\xfd\x1f\x88\x1b\x14\x01\x49\x5d\xb9\x0c\x2f\x7b\x6f\x21\xfe\x83\xa8\xb5\xae\x7c\xc2\x97\x76\x77\x23\x48\x28\x69\xa1\x88\xa9\x9c\x1b\xca\x68\xb3\x6d\x82\x38\x2e\xe1\xb3\xe9\xa3\xfc\xdd\x89\xd8\x4a\xf4\x4b\xdb\xd7\x58\xf3\x6d\x5d\xc2\x12\x81\x8b\x12\x05\x96\xb0\x3c\x74\x3b\x2f\x13\xca\x4a\xbc\x9f\xc2\x7e\x4d\x8b\x35\xd0\xb6\x5b\x81\xac\xe2\xa2\xb0\x6f\x50\x26\x51\x68\x12\xe6\xa5\x53\x2a\xb3\x8c\x14\x05\x4a\x39\xf1\xbd\x96\xa9\x21\x37\xd6\xfd\x2b\xf8\x6c\xc5\xd6\x62\x16\xe0\xbf\xdd\x36\x4b\x14\xc0\x2b\x8b\x8f\x84\x25\xaa\x3d\x22\xeb\xa2\xb7\x5f\x23\xeb\x37\x84\x0e\x5a\xc9\x7c\x1b\x89\xb0\x32\x80\x8c\x15\x35\xac\x5d\xa2\x66\x9c\x5b\x3e\xb3\x3d\x22\x28\x08\x03\xbc\xdf\x60\xa1\x74\xf8\x52\xce\x84\xa5\xb6\xdd\x08\x48\x6b\xbf\x0e\xfa\x01\xf6\xb4\xae\x61\x4d\x76\x08\x44\x81\xf6\x18\x1a\x80\x8e\x84\x9c\xad\xf4\xdb\x02\xe5\x86\x33\xd3\xe8\x22\x09\x2e\x79\xa6\xed\x88\xf0\x2b\x73\x1a\xdf\xca\x12\x95\xc3\x99\x98\xbe\x12\x08\x5c\x11\x51\x6a\xea\xd6\x7c\x0f\xcd\xb6\x58\xc7\xc8\xc7\xb0\x0c\xbd\x3b\xcb\x0d\xcb\xe4\x4c\x8f\xed\x14\xe4\xfa\x06\x13\x75\xd2\xb8\xd0\xce\xe3\x85\x10\xe4\x60\xba\x70\xc4\x76\xa7\xaa\xad\xda\x0a\xec\x08\x57\x6a\xe9\xea\xe8\x78\x4c\xc0\x01\xf0\x3f\xf1\xc7\xba\x86\x86\x50\x03\xd2\x72\x9d\x48\x40\x22\x0f\xd0\xa0\x16\x20\x95\x8d\xb1\xcb\x12\x15\x8a\xc6\x6e\xbb\x11\xfc\x9e\x36\xa4\x6e\xb7\x30\x08\x8c\x21\x7b\xbb\x29\x78\x43\xd9\xea\xa5\x7e\xe3\x65\x78\xe1\x0a\x3e\x59\xc1\xdc\x3e\x4c\xf4\x9a\x6a\xa7\x61\xbc\x47\x8e\xf0\x54\x08\xb0\xd7\xbf\xc7\xa4\x67\x51\x23\xa2\x58\xd3\x1d\x96\x23\x50\x7b\x51\x36\x94\x01\x65\x0a\x45\x45\x0a\xb4\xea\xde\x10\x46\x8c\xba\xaf\xb1\xd7\x3e\xf5\x38\xf9\x7a\x5c\x83\xf0\x3c\xc7\x12\x3c\xe3\x3d\x3a\xc1\xd1\x09\x94\x7c\x2b\xb4\xff\x0f\x3b\xe5\xfc\x9e\xc5\xe6\x73\x37\xad\xb0\x8a\x65\x90\xe9\xfb\x37\x6d\x8f\xe4\x0e\x01\xab\x4a\xdb\x2a\x51\x66\xd5\x8a\xee\x7a\x7e\x22\xc9\x1f\x48\x59\xfa\x66\xaf\xd3\xa9\x0f\xdc\x98\xf3\x44\x11\xb1\x42\xf5\x32\xf6\x9a\x3e\x30\xb6\xc1\x21\xc4\xc6\x5e\x8e\xb1\x11\xb9\xbc\x3a\x01\x09\xcf\x61\x85\xea\x66\x2b\x04\x32\xfb\xfb\x64\x3a\x73\x1e\xed\xa7\x23\x2d\xe9\x59\xc6\xd4\xb2\x4d\xa3\x2b\x78\xf2\xc1\x6c\xda\xf5\x96\xbc\x28\xb6\x42\x7b\x31\x0e\x92\x5b\xf6\xb9\x80\xfd\xea\xad\xe7\xe9\xec\xc9\xb8\xd4\xdf\xa4\x0f\x4e\x47\x6a\xed\xe7\x90\x29\x6d\x99\xac\xe3\x1d\x5d\xdc\xb0\x1a\x2b\x81\xb0\x60\x36\x79\xef\x17\xc2\xaa\x8f\x4b\x6b\xac\x37\xd5\xb6\xd6\x70\x0b\x9d\x93\x09\x5e\xd7\x4b\x52\xdc\x69\x17\xc0\x10\xcb\x28\x85\xf4\xb2\x35\x31\x08\x3f\xba\x7d\x7a\x62\x9e\x2c\x53\xc9\x4e\xaf\xd2\x2e\xfa\xb0\x34\x1f\x16\x8f\xa1\x7c\x56\x23\x5b\xa9\x35\x3c\x87\x67\x57\xf0\xe4\x2d\x4f\x9d\x58\x43\x36\x1b\xca\x56\xd2\x36\xe4\x7a\x7c\x3f\x65\xa7\x3b\x3c\xc8\x99\x73\x2b\x32\x26\x70\x6a\x77\x0e\x3b\x86\xa0\xe8\xc2\x5a\xb4\xf4\xb4\xed\x07\x7c\xdf\x20\x12\x9e\xfb\xc0\xb8\x0a\x58\x50\x36\xe4\x43\xc7\xea\xa0\xb5\x03\xab\x83\xac\x9f\x2f\x58\x4f\xb6\x95\xca\x67\xa3\x5b\xbf\x7a\x20\x88\x7b\xa8\xba\xfe\xd0\x0b\xac\xe9\x38\xb8\x71\xee\x40\xa5\x33\x69\x95\x6b\x57\xdb\x5c\x21\x93\x45\xea\xe4\x32\xfe\xfe\x86\x19\xb2\x65\x50\xc3\xbe\xfa\x71\xa9\x1e\xa5\x7f\x9d\xd0\xbe\x58\xc0\xe0\xbe\x4f\x3e\x76\xd2\xf5\x3d\x91\x46\x40\x1b\xc1\x37\x28\xea\x83\x23\xa5\xfc\x01\xde\xe1\x0e\x75\x08\x7b\x8c\x60\x42\xea\xbf\x41\x51\x20\x53\x3a\x47\x5e\x1e\x9c\x63\x38\x96\x90\x2c\xd1\x23\x90\x19\x16\x59\xc1\x62\x48\x58\x9e\xcd\x9e\x19\xc1\xfd\x3c\x7b\x36\x5e\x22\x3e\x4d\x99\xfc\xd9\xe7\x51\x92\xf1\x8f\x72\x0d\x03\x40\xe0\xf9\xc2\xe0\x77\x7e\x3e\xb8\xe2\x7a\xa1\x31\xd7\x7e\xdb\x31\x20\x70\xcd\x13\xba\x33\x64\x07\x72\x1d\xb1\x43\xf2\xf8\x66\xfa\x13\x30\x4c\xf5\xa8\xe5\x51\x4f\x8f\x02\xee\x5f\xa5\x50\xd0\x2d\xaf\x6d\x6a\x10\xf2\x88\xef\x9d\xa7\x0c\x57\x65\x57\x47\x33\x97\xbe\xee\x7d\xa7\x44\x63\x3e\x87\x37\xa6\xe8\xf2\x51\x44\x27\x56\x21\xc6\xa8\x8e\x4f\x1b\x27\x74\x1b\x4a\x6c\x25\x97\x4e\xa2\xee\xf0\x70\x95\xe6\x31\x17\x39\x0b\xf8\xa3\x37\x5c\x86\xdc\x70\xca\x21\x9f\xab\xc8\x7e\xf4\xde\xb5\x9b\xbb\x18\xfa\xd4\x1a\xfb\x90\x88\x49\xaa\xbd\x6c\xcd\xa0\xbb\xae\xdb\x2c\xa3\x03\xa3\x97\xd6\x8f\x60\x8e\xe5\xc7\xc7\x4c\x98\x3a\xa4\x02\x9c\x76\xe7\x58\xd8\xd0\x53\xfa\x39\x29\x77\xdb\x4e\x4c\xcb\xd6\x6c\x17\xf2\x9b\x67\x3e\xf3\x39\xbc\x62\x72\x6b\x6a\x0d\x5b\xd0\xfb\xdc\xd1\x4c\xe3\x91\xf1\xed\x6a\x6d\xbb\x3f\xba\xa2\x62\xa6\x68\x6e\xcb\xdb\x0e\x2c\x22\xf3\x2a\xb5\xfc\x3e\xf9\x70\xaa\x93\x0d\x4a\x49\x56\xda\x4d\xdd\x10\x66\x13\x10\xcd\xa6\x34\x21\xd3\xb4\xd1\xe1\x1e\x56\x54\xad\xf9\xd4\xad\xe7\xbe\x7a\x0a\x60\x5a\xa2\x0d\xdf\x75\x5b\x64\xde\x60\xb5\x03\x1f\xc8\x7f\xf4\x7a\x66\xf5\xc7\xb4\xb1\x3a\x50\x6b\x54\x20\x0c\xd8\x32\x48\x6f\x31\xda\xc0\xed\x9b\x03\x06\x1e\x89\xa4\x4b\xd7\x0f\x63\xed\x65\x28\xa1\x1b\xda\x96\xa8\xbc\x3b\x7d\x00\x5c\x45\x85\x54\x6f\x58\x89\xf7\x13\x5e\x75\xf0\xee\xa1\x7a\x92\x49\x26\x1d\xd1\x65\xd6\x18\x1d\xf3\x53\x61\xdf\xd4\x68\x0a\x9c\xd6\xfb\x9c\x87\x52\x3c\x69\x2c\xc0\x12\x2b\x2e\x12\x77\x66\xbb\xd4\xfa\x5d\xb7\x4d\xd0\x1b\x6d\x68\x3b\x14\xb4\xa2\x05\x51\x7d\x07\x7b\x84\x87\x0e\x83\xdf\xeb\x7e\x3b\xa0\x77\x8a\xc0\xf5\xc7\xdd\xb6\xc7\xdc\xcc\x37\xcb\x70\xe7\x73\x78\x8b\x7b\x6f\x69\x32\x34\x23\x9d\x21\x0a\xd3\x37\xe7\x95\x6b\x6b\x69\x26\x76\x12\x0c\x32\xca\xcf\xd8\x04\x6e\x08\xb5\xa9\x4e\xce\xdc\x92\xd3\x1c\xcd\x14\x9e\xc2\x44\x27\x6d\x97\x8f\x4c\xa9\xa6\x70\x7e\x7e\x32\xb6\xd7\x5f\x8b\xed\xa9\xfe\x34\x60\xfb\x80\x63\x05\xce\x42\x82\x97\x4d\xe9\x97\x07\x1d\x99\xf9\x5e\xab\xb4\x4f\x10\x2b\xc1\x1b\x5b\xfe\x9a\x58\x6d\x16\x3e\xe8\x53\x7f\x45\x05\x85\x8d\x15\xdd\xf0\x7e\x0e\x45\x62\x81\xd9\x7e\x9e\xff\xd4\x2d\xa4\xb8\x3b\xb3\x18\x8c\x46\xdf\xc2\xe6\x12\x0b\xe0\xb1\x57\x08\xc7\x1f\xf1\xc0\x59\xd9\xa5\xf3\x02\x24\xa9\xcc\x00\xa9\x21\x77\xbe\x38\xea\x52\x44\xab\xc7\xb8\x53\xd7\xaa\x58\x2c\xe0\xd9\x37\x28\x38\x87\xea\xcd\x71\x43\x68\x27\x60\x1d\x31\x43\x73\xb6\x95\x66\xbf\x57\x14\x4b\x92\xe1\xbd\xea\x64\x68\xc7\xc3\xe2\x00\x33\x3e\x3d\xbb\x3d\xcb\x21\xe5\xf2\x21\x53\x77\x68\xe4\xf6\xf8\xa3\x40\x53\xdd\x38\x19\xd5\x21\x81\xd0\x8f\x79\x6d\x72\x06\xd6\xba\x37\x9b\x48\xe4\x40\xf3\xca\x76\x30\xf0\x5e\x65\xf3\xd5\x94\xdc\x21\x5f\xa7\x3f\x19\x85\x3e\xd5\xe6\xe1\x3a\xc3\xcc\x8c\xb3\x1a\xdc\x6e\x40\x03\x72\x70\x53\xb7\x02\x1d\xd7\x62\xe0\xb4\xde\x01\x18\xdf\xc3\x52\x20\xb9\x93\x69\x02\xe7\x32\xb7\x78\x0a\x32\x83\x0f\xfe\x41\x04\x84\x54\x4a\x83\xd2\x0c\xef\x03\xc9\x34\xc2\xa6\x59\x85\xf8\x27\x9a\x2e\x85\xc6\x47\x9b\x65\xeb\xfc\x06\x7a\x1a\xff\x4b\x76\x35\x32\xe1\x39\x65\xb4\x3a\x14\x8c\x1e\x95\x23\x3c\xbe\xe7\xf2\xd8\xc6\xc5\xd0\x3e\xa7\x33\xea\xd4\x69\xf1\xc0\xc6\x91\x3e\x25\x6d\x8e\x70\x86\x62\x8d\xc1\xf9\x6f\x63\x35\x70\xf5\x88\x73\x35\xb6\x8b\xd6\x3b\xe2\x1e\x80\xb9\x2e\x1a\x91\xda\x75\x95\x9d\x2a\xc4\x0c\x2a\x8d\xf7\x32\xb4\x9c\xc5\xb2\x5b\xa1\xca\x25\x77\x53\x9f\xc6\x45\x72\x89\x0f\x55\x0c\xe9\xfc\xff\x0b\xea\x82\x5a\x4e\xbd\xfa\x8d\xa7\xb2\xa3\x50\x19\x6a\x09\x14\x7c\x73\xf0\x6e\xbe\xda\xd6\x75\x5c\x4b\x66\x0f\x83\x74\x11\xb5\x0d\xa3\x69\x3a\x2e\x3f\x8e\x63\x0b\x32\x42\xea\xb5\xbb\x77\x60\x23\x99\x08\x02\x21\xad\x2b\x34\x5f\xf6\x44\x76\xe7\x05\x08\x0d\x97\x2a\xc0\x11\x58\x24\x09\x58\x27\x5e\x45\x64\xb8\x5c\x2a\x67\x5e\x93\xd0\x82\xf8\x25\xee\x9e\x25\xed\xd5\x84\xae\x64\xbe\xe2\xf5\xa9\x3f\x23\xf4\xa3\xfd\x27\xf9\x66\xb5\x1f\x2f\x2e\xb9\x5a\x0f\xd6\xe3\xe7\x43\x23\x55\xdb\x7e\x6a\x5d\xb0\x41\x73\x54\xf6\x17\xf4\xc3\x9c\xae\xa6\x15\x30\xde\x99\x07\xb7\x5b\x98\xe3\x04\x4b\x44\xd6\x19\xfc\x42\x74\x00\x72\x00\xb9\x23\x79\x9d\x08\x5b\x0f\x70\xc5\xe1\xd6\x6f\x5c\xd8\x3b\x3a\x61\xe6\x37\x30\xc0\x4e\x13\x97\x21\xed\x74\x03\xe9\xc9\x18\x32\x2e\xe1\xe7\xe9\xed\xa0\x8d\x31\xd7\x09\x8c\xc6\xeb\xc9\x10\x47\xab\xb5\x1d\x3b\x84\xc1\x67\x7c\x3e\x84\x48\xc9\x0b\x4a\x54\x54\x74\x87\xd4\xe2\x12\x3e\x2d\xe3\xb4\x65\xf0\xb8\xd4\x6d\x00\xf7\xc6\xd8\xbb\x3d\x09\xc9\xf8\xf0\xe0\xd3\x8b\xf5\x22\x58\x23\x36\x1b\x75\x70\xf4\x5c\xc2\xa7\xdb\xbe\x3d\xbd\xc5\x7b\xd5\xeb\xee\xfd\x83\x50\xe3\xa1\x3f\xbd\x60\x07\x7b\x5b\xe9\xb6\x3b\x47\xf7\x7a\x3e\xa4\xe2\x92\xc3\x1e\xe1\x4e\xa7\x33\x36\xb5\x35\xf5\x5c\x89\xa4\xa6\xfe\xe6\x92\x3f\xa3\x91\x16\x53\x27\xa9\xfd\x5b\x0e\xaf\xfb\x90\x82\xab\xf9\xfd\x1d\x98\xee\xb5\x97\xa3\x61\x9d\xbf\xf4\x63\xfc\x7a\x0c\xca\xa9\x55\xcc\x2f\x22\x1d\xd7\x89\x49\xcf\xe3\x3d\x14\x37\x33\x25\xce\x0a\x14\x7a\x2f\x4d\x54\x62\x4b\x63\x6a\x24\x7f\x46\x34\xe7\x8f\x86\x8d\xcd\xc9\x31\xb5\xb5\x97\x07\xb0\x6c\xb7\xec\x6f\x6b\x81\xd0\x98\x34\x02\xe9\x22\xde\x39\xe4\x24\x63\x70\x26\xc8\x50\x21\x15\x60\x8d\x8d\x76\x89\xae\x26\x19\x12\xbd\x61\x5c\xdf\x54\x3f\xa5\xee\x77\xb8\x62\xba\x38\xee\xab\x3f\x3d\xf0\x7a\xcb\x98\xc4\xbe\x6f\xd6\xa8\x0b\x87\xfd\x1a\xb5\x54\xdd\xd1\x8e\x10\xe6\x89\x0c\x97\xc5\x6a\x7c\xe0\xf8\x87\xb7\x1f\x1a\x5d\x74\xf2\x41\x28\xd3\x1a\x4f\xcf\x41\x26\xa7\x4a\xd3\x28\xd5\xe9\x69\x0f\xb7\x11\xae\xe0\xc9\xaf\x09\x92\x5a\xa0\x4e\x50\xd6\xd0\x06\x23\xd6\x6b\xca\xca\xe4\x46\x5c\xab\x2d\xe7\x50\x68\xa6\x25\x81\xb0\x77\x34\x23\x86\x18\x0e\x04\xf4\xfd\x36\xad\xe2\x43\x7b\x51\x61\x6d\x24\x2a\x51\xdb\xfc\x6b\x2e\x6e\x6a\x2e\x51\xaa\xbf\x87\x70\xd0\x9d\x94\xc4\xfd\xd9\xcc\xdd\x2d\x87\xa8\x13\x86\x07\xde\x51\xa0\x1e\x02\xb7\x3f\x24\x6d\x94\x57\xd4\x28\x48\x6f\x4e\xdf\xbb\xaf\xd1\x1e\x3f\x8e\x4f\x13\x49\x15\xfb\xfc\x64\xc0\x14\x1f\x96\xc8\x97\xe4\xf3\x39\xfc\xfe\xae\xff\xcb\xf0\x0e\x1a\xb1\xa5\xbf\x75\x17\x29\x70\xce\x69\xa4\x35\xbe\x3f\xa7\x33\x78\x5d\xa4\xcb\xce\xf4\xaa\xd8\xf9\x79\x80\x71\xfc\xf6\x9f\xff\xa4\x20\xfe\xfa\xab\x27\xb4\x07\x20\x7d\x89\x95\xed\x85\x94\x5b\x13\x08\x19\x6f\xb5\x38\x68\xaf\xbd\x9d\x76\x91\xbf\x8c\x90\xfc\x18\x27\xb6\xd4\x9d\xdb\x20\xb2\x40\x56\xda\x2b\xba\x42\xb5\x87\x53\xc1\x1c\x65\x0d\xf7\x84\xdd\xd5\x83\xc4\x4f\x24\x27\xea\x8c\xd3\x38\x32\x07\xfc\x33\x1d\xdd\xe5\x1a\xde\x69\x08\x3e\x3e\x1e\x20\x1a\x3b\xce\xb2\xad\xce\xc7\x05\xde\x90\x90\xb8\xd0\x38\x14\x0f\x34\x83\x92\x23\x6b\x5a\x67\x6d\x4f\x92\x74\x63\xf0\x60\xab\xf5\x02\x24\x6d\x36\xf5\x01\x74\xde\xc8\xd2\xac\x75\x44\xa4\x3d\xeb\x29\x5d\xee\x24\xdd\xd1\xd8\x32\x66\xa3\x4b\xf8\xf9\x36\x57\x6d\x0c\xbd\x66\xc9\xc9\x8d\x7f\x5b\x75\x4f\xdc\xb5\xd6\x38\xab\x7f\xae\x0c\x2c\xac\xcb\xec\x86\x80\xf6\xc2\x8c\x5e\x62\x77\x08\xa0\x76\x44\x00\x85\x98\x2b\xfb\x35\xad\xf1\x38\x03\xe8\x2d\x5c\x67\xd8\xd6\xbb\x48\x05\x0b\xa0\xf0\x13\xfc\x9c\x37\x58\x37\xac\x77\xe1\xb5\xa4\xb2\xe0\x3b\x73\x58\x9c\x6c\x36\x82\x6f\x84\x4e\x99\x2d\x71\x67\xa3\x18\xe8\x0e\x19\x10\x75\x05\xf4\x22\x45\x6e\x9a\xe6\xf8\x0d\xdf\xe9\x42\xc8\x85\x97\xde\x61\x59\x33\x44\x48\x8f\x01\xf4\xf4\x72\xec\x89\x66\x73\x68\x63\xd8\xa0\xba\x06\x6d\xb2\x93\xcc\x89\x74\x7f\xb9\x5f\x5b\x4d\x41\xea\x3a\xaa\xd9\x4e\x9f\x39\x74\x36\xac\x91\x88\xc8\x6b\xa6\x8c\x18\x32\x6a\x97\x5a\x74\x73\x3d\x77\xda\xcd\x6a\xb4\x39\x94\x9e\x2f\xc1\x4e\xd0\xb8\xa8\x2e\x0f\x77\x6a\x86\x33\x3f\xb8\xce\x31\x23\x4d\x11\x72\x78\x85\x34\xe4\xf8\xd0\xf9\xb5\x4e\x85\x7b\xb3\xce\xa3\xe5\xa6\xb3\xef\xec\x96\xd3\xe1\xce\xdd\x4b\xca\x34\x4e\x36\x27\x02\x52\xaf\xb8\xa0\x6a\xdd\x68\xae\x56\xda\x03\x78\x83\xb7\x07\xb9\xee\x30\x3d\x2b\x6b\xd2\x0c\x2a\xe1\x7a\xe1\x4f\xc0\x98\xb5\xc3\x7a\x3a\x36\xff\xf2\x11\x2a\x3a\xf6\x61\xff\xf3\x4b\x36\x3e\x85\xa0\x64\x6e\x62\xa5\x07\xf3\xbf\xba\x02\xec\x36\x3e\xfa\x87\x31\xcd\xcd\x39\x53\xd1\x99\xa3\x25\x51\x93\x21\x86\x31\x80\xd0\x88\x6e\xc9\x60\xd5\xe6\xcb\xba\xef\xd7\x4e\x31\x4d\x93\x6e\x22\x69\x38\x60\xa5\x1d\x42\xec\x59\x46\xf5\x7f\x73\x9b\x8f\x41\x31\x26\xd9\xc1\x7e\x7e\xfc\xc5\x4f\xdd\x5d\x32\x21\x31\xee\xe0\x8c\x07\x32\xc0\x8e\xbf\x19\xd1\x78\x5b\x31\xac\x90\x67\x9d\x40\x57\x63\xa5\x3a\xb1\x4e\xff\x28\x9c\xab\xec\xec\x13\xc3\xfd\x8d\xf3\x0d\x6c\x99\xa2\xb5\x87\xbd\xe1\xe6\xc6\x81\x84\x42\x70\xd9\xf7\x63\x66\x93\x6b\x07\xb6\x4b\xae\xde\xae\xa1\x25\x2c\x60\x62\x56\xfd\x64\x57\x4d\x61\x0e\xff\xd2\x8d\x9d\xc7\x7b\x70\x9f\x1a\x5a\xde\x6a\x95\x71\x72\x38\xf2\x67\x14\x1e\x00\xd2\x1b\xf3\xf4\x70\x70\xe0\xaf\x47\x20\x93\xa2\x40\x2b\x43\xab\x73\xd9\x5e\x63\x1e\x04\x05\x97\x89\x96\x9c\x48\x54\x57\x47\xf2\xc4\x19\x70\x4e\xf0\x0d\xed\x0e\x50\x07\xa7\xc8\x8e\xa2\x6b\x98\x24\x3a\x39\x8d\x68\x7c\x98\x5d\x3a\x2b\xfa\x4a\x22\xc7\x10\xe8\xd4\xdd\x6d\x38\x20\xea\x2f\xc7\x9a\xc7\x6a\x6d\xae\x51\xe9\x9d\xfb\xe5\x92\x77\x4b\xce\x06\xcd\x1f\xc1\x39\x72\xa3\xec\x62\xcc\x8d\xae\x69\xef\x2f\x0e\xbd\x61\x54\x51\x52\xd3\xff\xc6\xf6\x6f\x2b\x99\x63\x1e\xcb\xba\x1f\x25\x46\x5d\x78\x84\x05\xcc\xdd\x8d\xca\xf9\x03\x17\x29\x21\xd7\x72\x82\x05\x7c\xfe\x92\x7d\xdc\x1b\xaa\x1e\x9b\xd4\x3e\x34\xf0\xc9\xbf\x9e\xcc\x17\x8f\x29\x08\x2c\xe2\xbe\xe0\xb1\x74\xc6\xae\xec\x30\xfd\xbd\x8e\x75\xc3\xdc\xd1\xa9\x87\xe3\x61\x0f\x97\xa2\xe0\x5b\xa6\x66\x92\xec\x70\x72\x7d\x59\x98\x2e\xc2\x11\x40\x93\xe9\x05\x28\x7e\x75\x82\xf8\x7c\x0e\xff\xe5\x0c\xfe\x27\x00\x00\xff\xff\xce\x66\xc4\x2b\xee\x4b\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\xdb\x6e\x1b\x39\x96\xef\xfe\x8a\x93\x3c\xb8\xa5\xb4\x2d\x27\x8b\xc5\x62\x61\x58\x1e\xc4\x9e\x64\x26\x40\x23\x3d\xc8\xa5\xe7\x21\x30\x1a\x54\xd5\x29\x89\xeb\x2a\x52\x4b\x52\x92\xb5\xe9\xfc\xfb\x82\xd7\x22\x8b\x55\x72\xc9\x49\x2f\x66\xf5\x92\x48\xc5\x3a\x3c\xf7\x2b\xe9\x8b\x8b\x0b\xf8\xb4\xa2\x12\x0a\xce\x94\x20\x85\x02\x2a\x61\x23\xb1\x04\xc5\xa1\xc4\x8a\x32\x2c\x61\x51\xf3\xe2\x1e\x56\x48\x97\x2b\x05\x84\x95\x20\x79\xa5\x76\x44\x20\x6c\x51\x48\xca\x19\x2c\xf8\x86\x95\x44\x50\x94\x27\x1a\x62\xc5\x05\xa8\x15\xb6\xeb\xc4\x86\xc1\x62\x0f\x6f\x1e\xb0\xd8\x28\xfd\xc2\x7b\x5e\xa2\x9c\x9d\xac\x37\x8b\x76\xe7\xf0\x54\x3f\xfc\xcd\x42\xbe\x41\x52\x70\x06\x5f\x4f\x4e\x00\x00\x34\xec\x8f\x4a\x6c\x0a\x05\x02\xd7\x02\x25\x32\x45\xd9\x32\xc7\x87\x48\xf8\x88\x0d\x61\x8a\x16\xe0\x20\x05\x00\xa4\xe6\x6c\x09\x3b\xaa\x56\xb0\xc2\x7a\x8d\x02\xaa\x0d\x2b\xf4\xbe\x32\xac\x79\xcb\x05\x08\xac\x50\x20\x2b\xf0\x0c\x24\x22\xac\x94\x5a\xcb\xcb\x8b\x0b\x89\xcd\x16\xc5\x8c\x8b\xe5\x85\x59\xae\x49\x90\x16\xa7\x8f\xe6\x11\x7c\x35\xbf\x7b\x50\xb7\xbc\x59\x73\x86\x4c\x49\xcb\x4f\x8d\x2f\x01\xe9\xb1\xdb\x46\xd8\x79\x70\x35\x2a\x68\xc8\x7f\x71\x71\x09\x9f\xdf\x31\xf5\x9f\xf9\x43\xca\x86\x1f\xae\x89\x2a\x56\x83\x0f\x05\x7e\xc0\x1a\x89\xc4\x4b\xcd\x49\xca\x96\x7f\x39\x49\xd0\xfd\x8d\xd4\x1b\x84\x12\x19\x37\x9c\x2d\x78\xb3\x26\x8a\x2e\x68\x4d\xd5\xde\x32\x6d\x2d\x70\x4b\xf9\x46\x7a\xd4\x65\xb6\x09\x95\x37\xa4\xb8\xdf\x11\x51\xca\x5b\xf7\x7e\x8d\x97\x70\xc3\x79\xdd\x6e\x46\x19\x55\x93\x98\xca\xb3\x84\xac\xb3\x84\x8e\xb3\x3e\xc4\xcf\x0e\x6d\x34\x8d\xc4\xa0\x3f\x12\xeb\x6a\x66\xb6\x83\xb9\x65\x6e\xcf\x63\xbd\xbf\x7e\xac\xff\xcd\x1f\x1b\x84\x60\x6e\x11\xeb\x79\x1c\x30\xd4\x6b\xc2\x97\x7c\x61\x2f\xd6\x30\xef\xa7\x26\xbc\xfe\x2d\x95\xd3\x07\x54\x1b\xc1\x82\x10\x80\x32\xaf\x7e\x15\x17\x0d\x51\x30\xc1\xd9\x72\x06\xdb\x2b\x43\xeb\xf5\xec\xca\x10\x75\x3d\xbb\x32\xd8\x5f\x9f\x5f\xb5\x18\x5e\x4f\x13\xc8\x44\x02\x71\x2c\x4e\x24\x5b\x6d\x18\x28\x6e\x1f\x4c\xa6\x5e\x0a\x1d\x36\x6b\xf1\x5b\x0b\xb9\xe5\x02\xdd\x92\x79\xc4\xfd\x59\x0b\x22\x79\xd1\x7c\x66\x05\x67\x05\x51\x93\xe7\xb3\xe7\x07\x9e\xe6\x4f\x52\x09\x1e\xdc\x62\xfa\xdd\x7b\x18\x06\x1e\xde\x23\xf9\xc9\xf8\x00\x0d\x54\x2b\xc5\xb9\x70\x2a\x42\x2b\xa0\x0a\xf0\x81\x4a\x25\xe1\x14\x84\x11\x67\xf2\x1e\xad\x32\xbd\x7a\x36\x07\x46\xeb\x0e\xcb\xf5\xc7\xbe\x9e\x71\x3e\xd0\x7a\xfe\x3c\xd0\xdd\x81\xf9\x2c\x45\x36\xd2\xb2\x03\x70\x7b\x95\xf2\x05\xdc\x6e\xa4\xe2\x8d\xf1\x78\x44\x10\xc5\x85\x84\x17\x17\xfd\x6a\xab\xc4\xc6\xf0\xc0\xe9\x6c\xc1\x05\xea\xc8\xb3\x14\x48\x14\xea\xe0\x41\x58\xf2\xde\x9a\x48\x1d\x94\xe2\xe5\x3a\x10\x55\xa4\x96\x08\x5c\xad\x50\xec\x68\x64\x6b\x5e\x5f\xf5\xc2\xbf\x59\x98\x9f\x56\x84\x4d\x7e\xb7\x6b\x2f\x1d\xa0\xa9\xf5\x15\x1d\x86\xd2\x0a\x26\x91\xbb\xb8\xb6\xef\xd8\x6f\x5d\xb7\x12\x31\x49\x93\x94\xf2\x12\xb0\xb6\x92\x8e\xc1\xcd\xe7\x31\x3c\x38\x3d\x8d\x7d\x4f\xd8\x4b\x7f\xfb\x93\xf7\x6a\x1f\x9a\xaf\xfe\xa1\xf5\x72\x1e\x11\xf3\xed\x09\x88\x0c\xbe\x60\x24\xd6\x51\xb9\x3e\x6d\x3a\x4e\x57\x20\xf2\xd7\xfa\x55\xfc\xef\x0d\xa9\x75\x0a\xf3\x63\xf4\xe6\x57\xf1\x46\x03\xfc\xc4\xc7\x29\x50\xb0\x9a\xba\x9a\x75\x35\xd0\xbc\x3e\x85\x3f\xfe\x68\x1f\x7b\xd8\xf6\xd1\x13\xb9\x51\xa3\x94\x3f\xd4\x6c\x7e\x41\x29\x8f\xb2\x99\x48\xef\xae\x12\xb5\x7b\x8a\x16\x8f\x55\xe2\xab\x44\x87\xff\xcc\x9d\x0e\x9a\xcb\x55\x6c\x2e\xff\x92\xd6\x12\xf4\xe3\xcf\x30\x15\xaf\x2b\xdf\x69\x27\x41\xe5\x7e\xb4\x91\x50\xd9\x25\x33\x79\xeb\x29\x24\x3f\x99\xd0\xef\x55\xb5\xf0\x30\x4d\x43\x47\x33\xe2\x05\x3e\x90\x42\xd5\xfb\x17\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\xef\x12\x7c\x2a\xdc\x96\xe0\x28\xa3\x0e\x54\xe7\x89\xb5\x35\x89\x6f\x6d\x89\xf8\x66\x8b\x4c\x01\x36\x54\x29\x2c\x81\xb0\x3d\x28\xda\x20\x10\x28\x56\x84\x2d\x8d\x39\x34\xa4\x44\x4d\xba\x4b\x9f\x3f\x11\x9f\x6a\x6b\xaa\xd0\xbc\xdf\x57\x8e\x9a\x75\xaf\xcb\x92\xea\xdf\x27\xb6\x22\xb6\x25\xca\x7f\xfc\xfb\x99\x07\x16\x68\x1f\x0b\xf0\xaf\x58\xe3\x38\x80\x8f\x91\xa8\x8b\x6e\x5f\x11\x6c\xd6\x25\x51\x08\x8b\x4d\x55\xa1\x80\x35\x0a\xca\x4b\xe0\x02\xb6\x44\x50\xc2\x0a\xc3\x06\xbb\xa6\x1c\x81\xe8\x67\xb3\xf2\xc6\x00\xbb\x35\x6c\x2c\x27\x0c\x77\x3d\x4f\x3d\xfa\x63\xc8\x8f\xdf\xfb\xcd\xe1\x75\x18\xba\x5f\x75\x09\x9f\xdf\xd2\x07\xbd\x4b\xe0\xc9\x2d\x61\x9c\xd1\x82\xd4\x20\x15\x17\x64\x89\xba\x52\x5b\x99\x66\x44\xdf\xde\xaf\xcb\x86\xb2\x80\xa3\x2e\x5c\x06\x57\x7d\xb4\xf0\xfe\x41\xd4\x4a\xd7\x3d\xe1\x4b\xbb\xb7\x91\x23\x94\xb4\x50\xc4\xd4\xcd\x0d\x65\xb4\xd9\x34\x41\x18\xe7\xf0\xd5\x74\x51\xfe\xee\x24\x6c\x05\xfa\xad\xed\x6a\xac\xf8\xa6\x2e\x61\x81\xc0\x45\x89\x02\x4b\x58\xec\xd3\xbe\xcb\x84\xb2\x12\x1f\xa6\xb0\x5b\xd1\x62\x05\xb4\xed\x55\x20\xab\xb8\x28\xec\x1b\x94\x49\x14\x9a\x82\x8b\xd2\xe9\x94\x59\x46\x8a\x02\xa5\x9c\xf8\x4e\xcb\xd4\x50\x1b\xab\xfe\x25\x7c\xb5\x42\x6b\x31\x0b\xf0\xdf\x6f\x9a\x05\x0a\xe0\x95\xc5\x47\xc2\x02\xd5\x0e\x91\xa5\xe8\xed\x56\xc8\xba\xed\xa0\xbd\x56\x31\xdf\x44\x22\xac\x0c\x20\x63\x35\x0d\x6b\x17\xa8\x19\xe7\x96\xcf\x6c\x87\x08\x0a\xc2\x00\x1f\xd6\x58\x28\x1d\xbc\x94\xb3\x60\xa9\x4d\x37\x02\xd2\x9a\xaf\x83\xbe\x87\x1d\xad\x6b\x58\x91\x2d\x02\x51\xa0\xfd\x85\x06\xa0\xe3\x20\x67\x4b\xfd\xb6\x40\xb9\xe6\xcc\xb4\xb9\x48\x86\x4b\x3f\xd3\xb6\x44\xf8\x95\x7d\xfa\x1e\xb5\xa8\x50\x39\xa4\x89\x69\x2b\x81\xc0\x25\x11\xa5\x26\x6f\xc5\x77\xd0\x6c\x8a\x55\x8c\x7d\x0c\xcc\x10\xbc\xb5\xec\xb0\x5c\xee\x69\xb1\x1d\x83\x5d\xd7\x5e\x22\x2c\xb9\xd0\xbe\xe3\xb5\x10\x64\x6f\x9a\x70\xc4\x36\xa7\xaa\x8d\xda\x08\x4c\xa4\x2b\xb5\x78\x75\x70\x3c\x24\xe1\x00\xf8\x9f\xf8\x53\x5d\x43\x43\xa8\x01\x69\xd9\x4e\x24\x20\x91\x7b\x68\x50\x4b\x90\xca\xc6\x98\x65\x89\x0a\x45\x63\xb7\x5d\x0b\xfe\x40\x1b\x52\xb7\x5b\x18\x04\xc6\x90\xbd\x59\x17\xbc\xa1\x6c\x79\xa3\xdf\xb8\x09\x2f\x5c\xc2\x17\x2b\x99\xbb\xc7\x89\x5e\x51\xed\x33\x8c\xf3\xe8\x23\x3c\x17\x02\xec\xf4\xef\x31\xe9\xbd\xa8\x11\x51\xac\xe8\x16\xcb\x11\xa8\x19\x4f\xa3\xf5\x92\x6f\x44\x81\x56\xdd\x1b\xc2\x88\x51\xf7\x15\x76\x9a\xa7\x1e\x25\x5f\x8d\x6b\x08\x9e\xe5\x58\x82\xe7\xbb\xc7\x26\xf8\xb9\x00\x7f\xd0\xd9\x75\xfa\x97\x56\x99\x0c\x06\x5d\xa7\xa6\x8d\x90\xdc\x23\x60\x55\x69\x03\x25\xca\xac\x5a\xd2\x6d\xc7\x39\x64\x29\x03\x29\x4b\xdf\xdf\x75\x7a\xf4\x89\x1b\x1b\x9e\x28\x22\x96\xa8\x6e\x62\x57\xe9\x83\x61\x1b\x0f\x42\x3c\xec\xa4\x15\x6b\xd1\x97\x4a\x67\x20\xe1\x1a\x96\xa8\x6e\x37\x42\x20\xb3\xbf\x4f\xa6\x33\xe7\xc6\x7e\x3e\xd0\x85\x9e\xf5\x98\x57\x6f\x9f\xe8\x12\x9e\x7f\x32\x9b\xa6\x2e\x92\x17\xc5\x46\x68\xd7\xc5\x41\x72\xcb\x3e\x17\xa3\xdf\xbc\xf7\x3c\x9d\x3d\x3f\xd4\x8e\xb9\xb8\x80\x77\xc6\xc3\x43\x43\xd6\x6b\xad\xb7\x94\xb5\x49\x8c\x22\x71\xbf\x50\x7f\x1e\xa7\xc5\x70\x7d\x66\xc3\x46\xde\xf4\xba\xc7\xfd\x65\xce\xbf\xb3\x6c\x5d\x2b\x9a\xe4\x51\xd6\x07\x73\xc8\xf7\xb9\xff\x9f\xa4\xdb\x28\xe5\x99\xa1\x4f\xad\xb0\x0b\x89\x18\x03\xf6\x0a\x6f\x7a\xea\x75\x1d\x1c\x41\x0a\xa3\xe3\x42\x46\x30\xc7\xf2\xe3\x73\x8f\x5b\xd9\xe7\x1a\x3a\x4d\x65\xa4\x73\xb2\x23\x72\xc7\x9c\xbb\x6d\xd6\xd7\xb2\x75\xb0\xe0\x31\xa9\xa3\x73\x10\xb5\x0e\x72\xc8\x94\xf6\xca\x2c\x09\x8d\x2e\x69\xb0\xde\x4a\x02\x61\x2d\xa7\x7a\x43\x1f\x84\xd9\x85\x4b\x4a\x56\x58\xaf\xab\x4d\xad\xe1\x16\x3a\x1d\x17\xbc\xae\x17\xa4\xb8\xd7\xee\x9f\x21\x96\x51\xf5\xe0\x6d\xdc\x24\x20\xe8\x79\xd8\x31\xf7\xc9\x22\xb7\xf0\xe9\x65\x3e\x40\x81\x41\xab\x1e\xab\xda\x35\xb2\xa5\x5a\xc1\x35\xbc\xbc\x84\xe7\xef\x79\x1e\xc0\x9c\x25\x49\xdb\x8b\xed\xd8\xdf\x31\x3b\xdd\xe3\x5e\xce\x5c\x48\x91\x31\x81\x53\xbb\x73\xd8\x31\x64\x44\x2e\xa7\x89\x96\x1e\xb7\xfd\x40\xdc\x1b\x44\xc2\x73\x1f\x18\x57\x01\x0b\xca\x86\xe2\xe7\xa3\xbe\xe8\x0d\x93\x1b\x13\x04\x6d\xaa\xe9\x1d\x9c\x99\x12\x21\xe3\x9b\xe5\xca\x56\x25\x3a\xd4\x33\x93\xce\xb5\x89\x57\x02\x4b\xd7\x9f\x7d\xfe\x67\xf1\xe7\x38\xed\xdc\x81\x35\x28\x25\x59\xe2\x25\x3c\xbf\x25\xcc\x72\x47\x6b\x6f\xae\x2d\x9a\x36\x3a\x5c\x5b\x45\x69\x84\xd7\xab\x0e\x17\xa7\x19\x17\x3f\x60\xc3\xb7\x69\xe9\xe6\xbd\xbb\x2e\xbf\x07\x84\xa3\xd7\x33\xeb\x6c\x4c\x79\x95\x4d\x61\x84\x01\x5b\x06\xa3\x9a\x8f\x56\x64\xfb\xe6\x40\x34\x88\x44\x92\xd2\xf5\x6c\xac\x73\x1d\xd2\xb6\xa1\x6d\x89\xba\x7c\x0a\xb8\x8a\x0a\xa9\xde\xe9\x9a\x69\xc2\xab\x04\xef\x0e\xaa\x47\xf9\xef\xac\x54\x5f\xf4\x7a\x6e\xc7\xfc\x5c\xd8\xb7\x35\x1a\xef\xdb\x3a\xe0\xd3\x90\x23\x66\x19\x2f\x2c\xb0\xe2\x22\x8b\x7d\xb6\x7b\xa2\xdf\x75\xdb\x04\xbd\xd1\x86\xb6\x45\x41\x2b\x5a\x10\xd5\x8d\xc6\x07\x78\xe8\x30\xf8\xb5\xee\xe6\xa9\x9d\xe9\x96\xeb\xdb\xb8\x6d\x87\x62\x92\x35\x35\x1b\x93\x58\xb7\x78\xb4\x69\xed\x46\x2a\x6f\x3c\x1b\xbf\x7a\xa0\xa2\xf3\x50\xb5\x2d\xe8\x05\x96\x49\x0e\x6e\x6c\x34\xd4\x67\x10\xaa\x6f\x72\x69\x0b\xc7\x9e\x86\xc2\x84\xe1\x2e\xfe\xfe\x8e\x19\x1e\xc8\x10\x96\xba\xe1\x88\x4b\xf5\xa4\x78\x94\x94\x79\xf3\x39\x0c\xee\xfb\xfc\x73\xe2\x5d\x76\x44\x1a\x87\xbd\x16\x7c\x8d\xa2\xde\x3b\x52\xca\x67\xf0\x01\xb7\xa8\xcb\x99\x47\x1d\xf5\x7b\xdc\x79\x68\x32\x34\x1a\x9c\x2b\x13\xa6\x25\xc6\x2b\x57\xb1\x6a\x35\xb4\x2b\x5d\x9f\x88\x8c\xf2\xd4\xb6\xb8\x1c\xe2\xe5\x14\xae\xe7\x7e\xc9\x71\x8c\x9a\xc2\x0b\x98\xbc\x9a\xbd\x84\xf3\x23\x39\xec\xeb\xde\x29\x9c\x9e\x1e\x8d\xed\xd5\xf7\x62\x7b\x6c\x44\x0a\xd8\x3e\x12\x9a\x80\xb3\xa0\x00\xbd\xed\x83\xc5\x5e\x27\xc2\x7c\xa7\x9d\x82\xef\xf3\x55\x82\x37\x36\xbb\x31\xa9\xb1\x59\xf8\x68\x54\xfa\x1b\x2a\x28\x6c\xb4\x4d\xb3\xe9\x53\x28\x32\x1f\xd6\x5b\xaa\xfb\x4f\xdd\x42\x8a\x8b\xb0\xf9\x60\x3c\xff\x11\x5e\x2b\xb3\x00\x1e\xfb\xd5\x70\xb0\x09\xf7\x9c\x95\x29\x9d\x67\x20\x49\x65\x7a\xc3\x8d\xae\x6d\x5d\xc3\xa9\x3b\xec\x7a\x42\x40\x72\x99\xe8\x7c\x0e\x2f\x7f\x80\xff\x18\x72\x1f\xe3\xc6\x4b\x4e\xc0\xda\x7d\x86\xbe\x4b\x2b\xcd\x6e\x29\x10\x4b\x92\xe1\x83\x4a\x0a\xa2\xc3\x89\xc5\x00\x33\xbe\xbc\xbc\x3b\xe9\x43\xca\x65\x94\x26\x48\x68\xe4\x76\xf8\x93\x40\xe3\xfd\x9c\x8c\xea\x90\x82\xe9\xc7\xbc\x36\x59\x17\x6b\xdd\x9b\x4d\xc5\xfa\x40\xf3\xca\x06\x24\x7c\x50\xbd\xe5\x61\x4e\xee\x90\xaf\xd3\x9f\x1e\x85\x3e\xd6\xe6\xe1\xaa\x87\x99\x3d\xce\x6a\x70\xbb\x01\x0d\xe8\x83\x9b\xbb\x15\x48\x5c\x8b\x81\xd3\x7a\x07\x60\x7c\x07\x0b\x81\xe4\x5e\xe6\x29\xb0\xcb\x7d\xe3\x06\xe7\x0c\x3e\xf9\x07\x11\x10\x52\x29\x0d\x4a\x33\xbc\x0b\xa4\xa7\xce\x99\xf6\x2a\xc4\x3f\xd1\x74\x44\x35\x3e\xda\x2c\x5b\xe7\x37\xd0\x3f\xfd\x3f\xb2\xab\x91\x29\xe3\x31\x43\x93\xa1\x60\x34\x26\xcb\x0a\xae\x7e\x8d\xa2\x40\xa6\xc8\x12\x75\x24\xb0\x55\xff\xa1\x4e\xf3\xc2\x3b\xb8\x74\xfa\x67\x0f\x01\xda\x2c\x0d\x43\x27\xfa\xe5\xec\xa5\xc9\xc2\x5e\xcd\x5e\x8e\x4f\xaf\x7c\x64\x9b\xfc\xde\xa5\x30\x9b\xe4\x8c\xaa\xfb\x07\x80\xe8\x04\x43\xe3\x77\x7a\x3a\xb8\xe2\x6a\xae\x31\x07\x5d\x07\x27\x09\x4e\x4b\xe8\xd6\x90\x1d\xc8\x75\xc4\x76\x93\xab\x04\xc7\x1f\x91\x0c\x06\x0c\xf3\xa4\xb0\xe5\x51\x27\x29\x0c\xb8\x7f\x6f\x76\xf8\x54\x54\x87\x30\x3d\xde\x30\x8e\x9d\xfb\x0d\x6c\x1c\xf9\x8f\x6c\x20\x1c\xa6\xe1\x2b\x0c\xc1\x7e\x13\xdb\x82\xab\xe0\x5d\x68\xb1\x76\xd3\x39\xac\x1c\x80\x39\xbb\x21\x52\x87\xaa\x32\x29\x41\xcc\xd0\xc9\x44\x2b\x43\xcb\x49\x6c\x21\x4b\x54\x7d\xd5\xc7\xd4\xd7\x19\x91\x1a\xc5\xe3\xf1\x21\x1f\xf7\xff\x82\xba\x60\xfc\x53\x6f\xe4\xe3\xa9\x4c\x14\xaa\x87\x5a\x02\x05\x5f\xef\x7d\x58\xaf\x36\x75\x1d\x77\x5f\x7a\xe7\xfa\x29\xa2\x76\xe0\x30\xcd\x47\x9f\x87\x71\x6c\x41\x46\x48\xbd\x75\x27\xc8\x6d\xe6\x22\x22\x81\x6c\x51\x86\xdf\xb5\xad\x26\xcd\x3f\x84\x86\x4b\x15\xa0\x08\x2c\xb2\x74\x3b\x84\x5d\x9d\xe7\x68\x22\x69\x05\x8c\xe7\xc9\x5a\x77\x10\x17\xd1\xeb\x92\xec\x3e\x3b\x9c\x84\xa6\xeb\x5f\x92\xb1\x8f\x9f\xfa\x2c\xb8\x5a\x0d\x76\xa0\x4e\x87\xa6\x5b\xb6\x3b\xdf\x86\x4c\xc3\xbe\x51\xd9\x7a\x90\xaf\x39\xe7\x6a\x49\x8d\x47\x73\xed\x16\x66\xb4\xbb\xd0\x7e\x3a\xa6\x1a\xa2\xa3\x68\x7d\x6d\x60\x93\x7c\xfb\x63\x45\x03\xd8\x1f\x48\xd4\x45\xc0\xad\x3f\x2a\x7b\xe4\xbb\xbd\x3c\x7b\x9d\x22\xf4\xe8\x07\x86\x8d\x79\x26\x3a\xa4\x7e\x6e\x78\x38\x19\x43\xc6\x39\xbc\x9a\xde\x0d\x1a\x11\x73\x93\x94\x68\x14\x9a\x35\x59\xb4\xe6\xda\x4c\x22\x0c\xac\xe2\x61\x3e\x91\x92\x17\x94\xa8\xa8\x0f\x15\x94\xf2\x1c\xbe\x2c\xe2\x3c\x74\xf0\x68\xcb\x5d\x00\xf7\xce\x18\xb4\x3d\xb4\x16\x2b\x7a\x06\xdb\xc9\xfd\x2c\x98\x1b\x36\x6b\xb5\x77\xf4\x9c\xc3\x97\xbb\xae\x1d\xbc\xc7\x07\xd5\x99\x43\xfc\x83\x50\xe3\x82\xbf\xbc\x66\x7b\x7b\xb1\xe4\xce\xdf\x35\x49\x0d\x61\xc8\x06\x24\x87\x1d\xc2\xbd\xce\x4f\x6d\xad\x62\x0a\xf4\x12\x49\x4d\xfd\x25\x13\x3f\x4f\xcf\xab\xe3\xa3\xec\xe2\x3d\x87\xb7\x5d\x48\xc1\x9b\xfc\xfa\x01\xcc\xf4\xcf\xcb\xd1\xb0\xce\xdf\xcf\x30\x8e\x3b\x06\xe5\xd4\x2a\xe6\x17\x91\x8e\xeb\xc4\xd4\x5b\xf1\x1e\x8a\x9b\x34\x91\xb3\x02\x85\xde\x4b\x13\x95\x19\xdb\x98\xa2\xd7\xdb\xdd\xa0\x61\xf6\x1a\x9b\x93\x63\x6e\x6b\x37\x7b\xb0\x6c\xb7\xec\x6f\x8b\xbb\xd0\xab\x37\x02\x49\x11\x4f\x4e\xa4\xc8\x18\x9c\x89\x22\x54\x48\x05\x58\x63\xa3\xfd\xb0\x2b\x32\x87\x44\x6f\x18\xd7\x35\xd5\x2f\x09\x09\x87\x58\xf3\xe5\xe5\xdd\x59\xbe\x38\xb1\xf2\x47\x5e\x6f\x19\x93\xd9\xf7\xed\x0a\x75\x25\xb8\x5b\xa1\x96\xaa\x1b\xc9\x87\x38\x4e\x64\xb8\xd7\x53\x63\x3a\xb6\x1f\x70\x4d\x89\x29\xd1\xe8\x7a\x8a\x8f\x23\x3d\xf3\xbc\xfc\xf8\x9a\x3d\x0b\x18\x47\x1a\x5a\x8d\x9d\xf1\x1c\xe9\x88\xdf\x52\x56\x66\x37\x95\x5a\xd5\x38\x85\x42\x73\x28\x3b\xd1\xd0\x99\x9b\xc6\x10\xc3\xb4\xae\xeb\xa4\x69\x15\x1f\xa7\x8a\xda\x22\x46\x7c\x12\xb5\x81\xbf\xe5\xe2\xb6\xe6\x12\xa5\xfa\x7b\x60\x70\x3a\x56\x8e\xe7\x13\x3d\x77\x6a\x1c\xa2\x8e\xdd\x1e\x78\xa2\x2d\x1d\x04\xee\x9e\xe5\xf3\x3a\x6a\xb4\xa1\xd3\x34\xef\x9c\xa3\x6f\x8f\x85\xc6\x47\x3e\xa4\x8a\x1d\x7c\x17\x70\x32\xc9\xec\x6f\xa8\x5c\x5c\xc0\xaf\x1f\xba\xbf\x0c\xef\xa0\x11\x5b\xf8\xdb\x50\x91\xb6\xf6\x69\x41\xde\xa1\xf1\x87\x29\x06\x8f\xf1\xa7\xec\xcc\xaf\xf0\x9c\x9e\x06\x18\x87\x6f\x65\xf9\x4f\x0e\xe2\x8f\x3f\x3a\x42\x7b\x04\xd2\xb7\x58\xd9\x5e\x4b\xb9\x31\x51\x8f\xf1\x56\x8b\x83\xf6\xda\x5b\x43\x67\xfd\x87\xc4\xb3\x1f\xe3\x34\x95\xba\x21\x0a\x91\x05\xb2\xd2\x5e\x9d\x14\xaa\x3d\x36\x08\xe6\x90\x61\xb8\xbf\xe9\x8e\x84\x67\x9e\x20\x3b\xea\x64\xdc\xc2\x81\x43\x13\xbf\xe7\xe7\x1c\xfa\xe6\x2b\x79\xbc\x3d\x3c\x1e\x23\x1a\x3b\xce\x7a\x1b\xd5\x4f\x8b\xb2\x21\xfb\x70\x71\x70\xc8\xf9\x6b\x06\x65\xe7\x8a\xb4\xce\xda\x8e\x32\x49\x03\xee\x60\xa3\xfc\x0c\x24\x6d\xd6\xf5\x1e\x74\x92\xc8\xf2\x1c\x76\x44\x58\x3d\xe9\x28\x5d\xdf\x71\xa7\x83\x81\x64\xcc\x46\xe7\xf0\xea\xae\xef\x42\xe5\xd0\x6b\x96\x9c\xbe\xb3\x32\xad\xba\x67\xee\x5a\x6b\x9c\xd5\x3f\x57\xd4\x15\xd6\x65\xa6\x49\x72\x7b\x91\x41\x2f\xb1\x3b\x04\x50\x5b\x22\x80\x42\xcc\x95\xdd\x8a\xd6\x78\x98\x01\xf4\x0e\xae\x7a\xd8\xd6\xb9\xe0\x02\x73\xa0\xf0\x33\xbc\xea\x37\x58\x77\xb2\xc9\xc5\xd2\x92\xca\x82\x6f\xcd\x31\x5e\xb2\x5e\x0b\xbe\x16\x3a\x3f\xb6\xc4\x9d\x8c\x62\xa0\x3b\x91\x45\xd4\x25\xd0\xb3\x1c\xb9\x69\x9e\xd0\x37\x7c\xab\xcb\x22\x17\x5e\x3a\xa7\x18\xcd\x08\x28\x3f\x33\xd5\xd1\xcb\xb1\x47\x4d\xcd\x11\xbe\x61\x83\x4a\x0d\xda\xa4\x22\x3d\x67\x85\xfd\xa5\x6b\x6d\x35\x05\xa9\xeb\xa8\x82\x3b\x7e\x62\x94\x6c\x58\x23\x11\x91\xd7\xcc\x19\x31\x64\xd4\x2e\xe1\x4b\x13\x3b\x37\x7a\xb6\x1a\x6d\x8e\x0b\xf7\xd7\x5b\x47\x68\x5c\x74\x28\x29\xdc\x75\x18\x4e\xf3\xe0\xaa\x8f\x19\x79\x8a\xd0\x87\x57\x48\x43\x0e\x1f\xba\x78\xab\xf3\xde\xce\xac\xff\x60\x6d\xe9\xec\xbb\x77\xcb\xe9\x70\x1f\xee\x86\x32\x8d\x93\xcd\x89\x80\xd4\x4b\x2e\xa8\x5a\x35\x9a\xab\x95\xf6\x00\xde\xe0\x6d\x23\xf6\x1e\xf3\x83\x6c\x26\xcd\xa0\x12\xae\xe6\xfe\xb8\xa0\x59\x3b\xac\xa7\x63\xf3\x2f\x1f\xa1\xa2\xd3\x68\xf6\x3f\xfd\x8d\x91\x10\x94\xcc\x0d\x99\xfc\xc4\xf4\x77\x97\x7b\x69\x1b\xa4\x7b\x32\xc2\xdc\x68\x32\xe5\x9b\x39\x5a\x15\xa5\xed\x31\x8c\x01\x84\xfe\xb5\x7b\x27\xa6\x43\x92\x26\x92\x86\x03\x56\xda\x21\xc4\x9e\xf4\xa8\xfe\x2f\x6e\xf3\x31\x28\xc6\x24\x3b\xd8\xd7\x87\x5f\xfc\x92\xee\xd2\x13\x12\xe3\x76\xcd\x78\x20\x03\xec\xf8\xab\x11\x8d\xb7\x15\xc3\x0a\x99\xc4\xb9\x1a\x2b\x95\x84\x3a\xfd\xa3\x70\x9e\x32\xd9\x26\x06\xfb\x0b\xe7\x6b\xd8\x30\x45\x6b\x0f\x7a\xcd\x29\x53\x28\x24\x14\x82\xcb\xae\x1b\x33\x9b\x5c\x39\xb0\x29\xb5\x7a\xbb\x86\x96\x30\x87\x89\x59\xf5\xb3\x5d\x35\x85\x0b\xf8\xb7\x34\x74\x56\x87\x59\xd2\xd0\xf2\x4e\x6b\x8c\x13\xc3\x81\xdb\xed\x8f\x00\x39\x30\xa8\x69\xa5\x7c\x35\x02\x99\x1c\x05\x5a\x19\x5a\x9d\xc7\xf6\x0a\xf3\x28\x28\x38\xcf\x94\xe4\x48\xa2\x52\x15\xe9\x27\xce\x80\x73\x82\x6f\x68\x3a\xfd\x1e\x3c\x02\xe0\x28\xba\x82\x49\xa6\x92\xd3\x88\xc6\xc7\xd9\xa5\x93\xa2\xef\x24\x72\x0c\x81\x4e\xdd\xdd\x86\x03\xa2\xfe\x76\xa8\x93\xac\x56\xe6\x7a\x8b\xde\xb9\x5b\x2d\x79\xaf\xe4\x4c\xd0\xfc\x6d\x92\x03\x57\x7d\xce\xc6\xdc\xb4\x99\x76\x2e\x52\xbc\x63\x54\x51\x52\xd3\xff\xc1\xf6\x4f\xde\x98\x31\xde\xa2\xee\x06\x89\x31\x17\xd1\x60\x0e\x17\xee\x9e\xdb\xc5\xe1\xeb\x6d\xd0\xd7\x5c\x82\x39\x7c\xfd\xd6\xfb\xb8\x33\x0f\x3f\x34\x64\x7f\x6c\x76\xd3\xff\x7a\x36\x2a\x3c\xa4\x1e\x30\x8f\x3b\x80\x87\x72\x19\xbb\x32\x61\xf9\x47\x1d\xe8\x86\x2f\xba\x28\xee\x6f\x0a\x76\x50\x29\x0a\xbe\x61\x6a\x26\xc9\x16\x27\x57\xe7\x85\xe9\x20\x0c\xc3\x99\x4c\xcf\x40\xf1\xcb\xf1\xa2\xf3\xd9\xfb\xb7\x13\xf8\xdf\x00\x00\x00\xff\xff\x36\x9e\x8c\x31\x80\x49\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0xc8, 0xbf, 0x12, 0xd9, 0x94, 0x92, 0x9e, 0x2a, 0x59, 0x2a, 0x43, 0x1, 0x9d, 0x66, 0x1e, 0x54, 0xa7, 0x13, 0x75, 0x68, 0x5, 0x57, 0xe0, 0xf0, 0x9b, 0x41, 0xbe, 0xf8, 0xc6, 0xcb, 0x34}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0xab, 0x13, 0x34, 0xd4, 0xad, 0xf9, 0x69, 0x75, 0x2b, 0x2e, 0xfd, 0xca, 0x1c, 0xe, 0xd2, 0xd6, 0xeb, 0xf7, 0xe1, 0x65, 0x6, 0x7a, 0xab, 0x31, 0x52, 0x93, 0xf6, 0xb6, 0x75, 0xdf}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index 6133ef6a0..b09ff1165 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -70,17 +70,17 @@ // ../../../transactions/epoch/scripts/get_epoch_phase.cdc (111B) // ../../../transactions/epoch/scripts/get_proposed_counter.cdc (108B) // ../../../transactions/epoch/scripts/get_randomize.cdc (121B) -// ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.564kB) -// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (1.038kB) -// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (1.074kB) +// ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.524kB) +// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (963B) +// ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (974B) // ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.07kB) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc (239B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc (301B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc (300B) +// ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc (358B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (413B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (342B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (332B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc (289B) -// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (359B) +// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (432B) // ../../../transactions/flowToken/burn_tokens.cdc (1.085kB) // ../../../transactions/flowToken/create_forwarder.cdc (1.815kB) // ../../../transactions/flowToken/mint_tokens.cdc (893B) @@ -1749,7 +1749,7 @@ func epochScriptsGet_randomizeCdc() (*asset, error) { return a, nil } -var _executionnodeversionbeaconAdminAdd_version_to_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6b\x1b\x31\x10\xbd\xef\xaf\x98\xfa\xd0\xae\xc1\xd8\x3d\x94\x52\x96\xa6\x61\xed\x2c\x34\x94\xda\xc1\x76\x42\xa1\xf4\x30\x96\xc6\xb6\x1a\xad\xb4\x95\x66\xe3\x84\x90\xff\x5e\xb4\x1f\x76\xe2\x38\x0e\xa5\xd7\x37\xcc\xbc\x99\xf7\x9e\xa4\xf2\xc2\x3a\x86\xec\x96\x44\xc9\xca\x9a\xb1\x95\x74\x45\xce\x2b\x6b\x86\x84\xc2\x1a\x58\x3a\x9b\xc3\xfb\xdb\xec\x47\x36\xba\x9c\x9f\x4f\xc6\xe3\xc9\x59\x76\x95\x4d\x67\xe7\x93\xf1\x30\x4b\x47\x93\x71\x7a\x76\x36\xcd\x66\xb3\x28\x1a\x0c\x06\x30\x77\x68\x3c\x8a\x30\x0a\x78\x8d\x0c\xa8\xb5\xdd\xf8\x83\x04\xa9\xcc\x95\x01\xb6\x80\x52\x02\x82\xa1\x0d\xdc\xd4\x95\x00\xf2\x9a\xaa\x89\x5b\x08\x17\x9a\x40\xd2\x52\x19\x65\x56\x80\xdb\xc2\xc2\x96\x46\xa2\xbb\x03\xe4\xd0\x04\x8c\x6e\x45\x3c\xd4\x56\x5c\x7f\x25\xb5\x5a\x73\x14\xf1\x6e\xab\x38\x82\xc0\xf4\x1d\x7f\x5b\x97\xc0\xe5\xb9\xe1\x4f\xbd\x06\x52\x66\x1f\xba\x40\x16\xeb\x3d\xc8\xd1\x94\x34\xa1\xa7\x04\x66\xec\x94\x59\x9d\x86\x8a\xf2\x43\x14\xd7\x1b\x74\xd2\x8f\x6c\x5e\x20\xab\x85\xa6\x04\x86\xd6\xea\x50\x7e\xb6\x53\x3d\xf4\xe3\x87\xa8\x0b\xf7\x51\x04\xa0\xe9\x98\x09\x95\x52\x53\x5a\x26\xf0\x36\x35\x77\x53\xf2\xb6\x74\x82\xee\x5f\x6e\xe8\xbf\xa8\xf7\x43\x43\x66\x68\xd3\xc0\xc9\x11\xe2\xfe\x8c\xf2\x1b\x72\x61\xc3\xc2\x51\x81\x8e\x62\x14\x82\x13\x48\x4b\x5e\xa7\x42\xd8\xd2\x70\xb8\x00\x00\x60\x30\x80\x91\x23\x64\xaa\x5c\x68\xdc\x54\x6d\x82\x02\x56\xa0\xf7\x24\xa1\x40\x87\x39\x31\x39\x5f\xf5\x79\xd2\xcb\xfe\x6e\x1d\x38\x79\x7d\x9f\xb8\x6a\x04\xc8\x6b\x17\x5b\x3f\x7b\x90\xd7\x1e\xb6\x6e\xf6\xa0\xa8\x1d\x6c\xbd\xec\x85\x33\xb6\xfe\x3d\xb1\xb3\xf7\x92\x87\x07\xe1\x6a\x81\x6e\xd4\x1e\x3e\xb4\xce\xd9\x0d\x20\x38\x5a\x92\x23\x23\xa8\x89\xf0\x91\xe0\xab\xbc\xd0\x94\x93\xe1\x10\x67\xd7\x78\xba\x53\xe4\xf5\x34\xc0\x09\x04\x33\xfa\x8b\x8a\xfc\xf3\xff\x47\xe3\x4b\x23\x6b\x1c\x1c\x3b\x1a\x8b\x43\xa5\x6f\x44\x05\xb9\x19\x5b\x87\x2b\xba\x40\x5e\x77\x9b\x71\xa7\xa7\x50\xa0\x51\x22\xee\x8c\x6c\xa9\xa5\x79\xc7\x50\xaf\xfc\x5a\xe2\xa1\x3d\xa7\x13\x46\x3d\x04\xb5\xa9\xea\xa0\x5d\xe4\x52\x29\x1f\xe7\xed\xd1\xef\xf1\xf4\xe7\xf8\x17\x61\xfb\x28\x65\x5b\x68\x3e\x97\xb9\x9d\x87\x29\xf1\x81\x87\xfc\x0c\xea\x3d\x79\x5c\x7b\xf1\xde\x5e\x52\x58\xcf\xf5\x15\x47\x74\x5e\x11\x37\x40\x4d\xdf\xfd\xf9\x8c\xed\xd7\x9b\xbe\x67\xa7\x04\x67\x7f\x4a\xd4\x73\x1b\xef\x13\x42\x02\x9d\xf1\x23\x75\x36\xe8\xc1\x58\x0e\xbf\x2e\xc9\x3d\xad\x2a\x96\x4e\xb5\xe2\x43\xf4\x37\x00\x00\xff\xff\xd0\x5e\x04\x75\x1c\x06\x00\x00" +var _executionnodeversionbeaconAdminAdd_version_to_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x6f\xda\x4e\x10\xbd\xfb\x53\xcc\x8f\xc3\xaf\x46\x42\xd0\x43\x55\x55\x56\xd3\x08\x88\xa5\xe6\x50\x88\x80\x44\x95\xaa\x1e\x86\xdd\x01\xb6\xb1\x77\xdd\xd9\x71\x48\x55\xe5\xbb\x57\xeb\x3f\x90\x90\x40\xd4\x5e\xdf\x78\xe7\xbd\x7d\xef\x79\x4d\x5e\x38\x16\x48\xef\x49\x95\x62\x9c\x9d\x38\x4d\x37\xc4\xde\x38\x3b\x22\x54\xce\xc2\x8a\x5d\x0e\x6f\xef\xd3\xaf\xe9\xf8\x7a\x71\x39\x9d\x4c\xa6\x17\xe9\x4d\x3a\x9b\x5f\x4e\x27\xa3\x74\x38\x9e\x4e\x86\x17\x17\xb3\x74\x3e\x8f\xa2\xc1\x60\x00\x0b\x46\xeb\x51\x85\x55\x20\x1b\x14\xc0\x2c\x73\x5b\xff\x22\xc1\x50\xe7\xc6\x82\x38\x40\xad\x01\xc1\xd2\x16\xee\xea\x49\x00\x65\x43\xd5\xc6\x1d\x84\xcb\x8c\x40\xd3\xca\x58\x63\xd7\x80\xbb\xc1\xd2\x95\x56\x23\xff\x02\x94\x70\x08\x04\x79\x4d\x32\xca\x9c\xba\xfd\x4c\x66\xbd\x91\x28\x92\xbd\xaa\x38\x82\xc0\xf4\x05\x7f\x38\x4e\xe0\xfa\xd2\xca\x87\x5e\x03\x19\x7b\x08\x5d\xa1\xa8\xcd\x01\xc4\x34\xa3\x8c\xd0\x53\x02\x73\x61\x63\xd7\xe7\x61\x62\xfc\x08\xd5\xed\x16\x59\xfb\xb1\xcb\x0b\x14\xb3\xcc\x28\x81\x91\x73\x59\x18\x3f\xd3\x54\x2f\x7d\xff\x2e\xea\xc2\xef\x28\x02\xc8\xe8\x54\x08\x95\x53\x33\x5a\x25\xf0\xff\xf1\x8f\xfa\x47\x3d\x6e\xf6\x5b\xda\x36\x68\x72\x82\xab\x3f\xa7\xfc\x8e\x38\x88\x2a\x98\x0a\x64\x8a\x51\x29\x49\x60\x58\xca\x66\xa8\x94\x2b\xad\x04\xd1\x00\x00\x83\x01\x8c\x99\x50\xa8\x32\xbe\x09\xd0\xb4\xa5\x09\x58\x81\xde\x93\x86\x02\x19\x73\x12\x62\x5f\x9d\xf3\x94\xad\xfa\x7b\x39\x70\xf6\xba\x9e\xb8\x3a\x08\x90\xd7\xc1\xb5\x11\xf6\x20\xaf\x63\x6b\x03\xec\x41\x51\x87\xd6\xc6\xd7\x0b\xd7\xd8\x45\xf6\x24\xc1\xde\xb1\xd8\x5e\x84\x2b\x01\xdd\xa8\xbd\xf8\xc8\x31\xbb\x2d\x20\x30\xad\x88\xc9\x2a\x6a\x5a\x7b\xa2\xeb\x4c\xde\x95\xac\x68\x6f\xc2\xeb\x99\xc3\x19\x04\xff\xfb\xcb\x8a\xef\xe3\x3f\x15\xe0\x53\x63\x5e\x1c\x72\x39\x19\xfe\xd1\x15\x73\x71\x8c\x6b\xba\x42\xd9\x74\x9b\x6d\xe7\xe7\x50\xa0\x35\x2a\xee\x8c\x5d\x99\x69\xfb\x46\xa0\x16\xf9\x5a\x93\x61\xd6\xf8\xd0\x09\xab\x1e\x82\xa5\x54\x9d\xa0\x7d\xaf\x86\x5a\x3f\x2e\xd5\xa3\x57\xe1\xe9\x8b\xf0\x37\x56\xf6\x51\xeb\x76\xd0\x3c\x1a\x0b\xb7\x08\x5b\xe2\x17\x7e\xd0\x67\x50\xef\xc9\x1f\x74\xd0\xe1\xdd\x4d\x0a\xe7\xa5\xbe\xc5\x09\x9b\xd7\x24\x0d\x50\xd3\x77\xbf\x3d\x63\xfb\xfe\x5f\xdf\x0b\x1b\x25\xe9\xcf\x12\xb3\x85\x8b\x0f\x09\x21\x81\xce\xe4\x91\x3b\x5b\xf4\x60\x9d\x84\xd7\x94\xf4\x81\x57\x15\x4b\xa7\x92\xf8\x10\xfd\x09\x00\x00\xff\xff\x8b\x99\x00\xef\xf4\x05\x00\x00" func executionnodeversionbeaconAdminAdd_version_to_tableCdcBytes() ([]byte, error) { return bindataRead( @@ -1765,11 +1765,11 @@ func executionnodeversionbeaconAdminAdd_version_to_tableCdc() (*asset, error) { } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/add_version_to_table.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfe, 0x93, 0x5f, 0xcc, 0xbe, 0x77, 0x2, 0xb6, 0x61, 0xc2, 0xfa, 0x80, 0x46, 0x4b, 0x2f, 0xc1, 0xe3, 0x7e, 0xbe, 0xe5, 0x25, 0xc4, 0x62, 0x90, 0x5c, 0x38, 0x9b, 0xdb, 0x81, 0x74, 0x92, 0x9e}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0x48, 0x5b, 0x5d, 0x30, 0x66, 0x88, 0x61, 0x48, 0xb5, 0xde, 0xe9, 0x20, 0x25, 0x9b, 0x7a, 0x3b, 0x48, 0xdc, 0x7c, 0xff, 0x5b, 0x2f, 0x17, 0xd7, 0xf2, 0x6c, 0xcd, 0x5a, 0x99, 0xfa, 0xb9}} return a, nil } -var _executionnodeversionbeaconAdminChange_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x52\xcf\x8f\x93\x40\x14\xbe\xf3\x57\x7c\xe9\x41\xdb\x4b\xf1\x60\x3c\x10\xeb\x06\x5a\x0e\x8d\x09\x35\xed\xb6\xf1\x3a\x3b\x3c\x0a\x11\xde\x90\xe1\x21\x6b\x36\xfb\xbf\x9b\x99\xb6\xbb\x1a\x69\x8d\xf1\xc6\x84\xf7\xbe\x5f\xef\xab\x9a\xd6\x58\x41\xfa\x48\xba\x97\xca\x70\x66\x72\x3a\x90\xed\x2a\xc3\x09\x29\x6d\x18\x85\x35\x0d\xde\x3d\xa6\x5f\xd3\xe5\xfe\x7e\xbd\xc9\xb2\xcd\x2a\x3d\xa4\xdb\xdd\x7a\x93\x25\x69\xbc\xdc\x64\xf1\x6a\xb5\x4d\x77\xbb\x20\x08\xc3\x10\xf7\x56\x71\xa7\xb4\x83\x82\x94\x4a\xa0\xea\xda\x0c\xdd\x28\x41\x9c\x37\x15\x43\x0c\x74\xa9\xf8\x48\x7e\x5f\x4a\x42\x4e\x45\xc5\x94\xe3\xfb\x69\x6c\xdf\xe6\x4a\x28\xe9\x8b\x82\x6c\x10\xc8\x2b\xc1\x94\x69\x38\xfc\x39\x13\x61\xbf\x66\xf9\xf0\x7e\x86\xa7\x20\x00\x6a\xba\x65\xcf\x6b\xd8\x52\x11\xe1\x4d\xcc\x3f\xb6\xd4\x99\xde\x6a\x7a\xba\xbe\x30\xbf\xea\xe4\xd9\xb1\xb5\x96\x5a\x65\x69\xaa\xb4\x96\x08\x71\x2f\x65\xac\xb5\xe9\x59\x9c\x1a\x00\x08\x43\x24\xc6\x5a\x33\x40\xc1\x52\x41\x96\x58\x93\x0b\xc1\x39\xbf\x9e\x52\xd5\xb4\x35\x35\xc4\x52\xf1\x11\xf6\x2c\xd3\x03\x76\x54\x17\xa3\xa2\x7e\x37\x88\x05\x9c\xa6\xf9\x83\x27\xff\xf8\xff\x6e\x3f\x79\x76\x60\xea\x0a\x12\xdd\x88\x78\x14\xe3\x33\x51\x4b\x76\x27\xc6\xaa\x23\x7d\x51\x52\xce\xce\x70\x77\x77\x68\x15\x57\x7a\x3a\x59\x9a\xbe\xce\xf9\xad\xe0\x24\xf9\x6f\x47\xc4\xc5\xce\xc4\x41\xf9\x63\x90\xdf\xa0\xd7\xe4\xe3\x3c\xf7\x39\x33\x0d\x97\x76\x5d\xa2\x7f\x79\xaa\x87\xfa\x9f\x82\x9d\x9f\xda\x3b\x52\x44\xd7\xcf\x5f\xdf\x6b\x4e\x6a\xa3\xbf\x75\x11\xc6\x8b\xfb\xa2\xbb\x35\x9d\x9c\x34\xdf\x48\xf5\x48\x32\xc6\x39\xc3\x62\x71\x05\x1f\x11\x26\xe7\xaf\x41\x75\x60\x23\xe8\xfd\xef\x7c\xe2\x99\x9f\x83\x9f\x01\x00\x00\xff\xff\x39\xe4\x2b\xb4\x0e\x04\x00\x00" +var _executionnodeversionbeaconAdminChange_version_update_bufferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x52\x4d\xcf\xd2\x40\x10\xbe\xf7\x57\x3c\xe1\xa0\x70\xa1\x1e\x8c\x87\x46\x7c\xd3\x42\x0f\x5c\x8a\x81\x17\xe2\x75\xdd\x4e\x69\x63\x3b\xd3\x6c\xa7\xf2\x26\x86\xff\x6e\xb6\x10\x3f\x62\x8b\xc6\xdb\x6e\x76\xe6\xf9\xda\xa7\x6a\x5a\x71\x8a\xf4\x85\x6c\xaf\x95\x70\x26\x39\x9d\xc8\x75\x95\x70\x42\xc6\x0a\xa3\x70\xd2\xe0\xcd\x4b\xfa\x29\x5d\x1f\x9f\xb7\xbb\x2c\xdb\x6d\xd2\x53\xba\x3f\x6c\x77\x59\x92\xc6\xeb\x5d\x16\x6f\x36\xfb\xf4\x70\x08\x82\x30\x0c\xf1\xec\x0c\x77\xc6\x7a\x28\x68\x69\x14\xa6\xae\xe5\xd2\x8d\x12\xc4\x79\x53\x31\x54\x60\x4b\xc3\x67\x1a\xf6\xb5\x24\xe4\x54\x54\x4c\x39\xbe\xde\xc6\x8e\x6d\x6e\x94\x92\xbe\x28\xc8\x05\x81\xfe\x24\x98\x33\x5d\x4e\x7f\xce\x44\x38\x6e\x59\xdf\xbd\x5d\xe0\x5b\x10\x00\x35\x3d\xb2\x37\x68\xd8\x53\x11\xe1\xd5\xf4\xd0\x72\x52\xbd\x27\x68\x1d\xb5\xc6\xd1\xdc\x58\xab\x11\xe2\x5e\xcb\xd8\x5a\xe9\x59\xbd\x00\x00\x08\x43\x24\xe2\x9c\x5c\x60\xe0\xa8\x20\x47\x6c\xc9\xfb\xf6\x66\xa7\x83\xa9\x9a\xb6\xa6\x86\x58\x2b\x3e\xc3\x51\x27\xbd\xb3\x34\x00\x76\x54\x17\xa3\x9a\x7e\xf7\x84\x15\xbc\xa6\xe5\xe7\x81\xfc\xfd\x7f\x19\xfc\x30\x10\x02\x73\x5f\x83\xe8\x41\x90\xd3\x10\x07\x15\x67\xce\xf4\xd1\x68\xb9\xb8\xa3\x3d\x3d\xa1\x35\x5c\xd9\xf9\x6c\x2d\x7d\x9d\xf3\x6b\xc5\x4d\xe4\xdf\x7e\x0a\xfb\x7b\x0e\x33\x0f\x75\xf5\xf1\xd3\xb0\x41\xf7\xac\xff\x31\x9a\xe5\xad\x72\x23\xed\xf1\xa5\xfa\xf5\xbe\xe5\xa4\x16\xfb\xa5\x8b\x30\xde\xb6\x1f\x3a\x5a\xe9\xf4\xa6\xe1\x41\x48\x67\xd2\x31\xce\x05\x56\xab\x09\x7c\x44\x98\xdd\x4f\x17\xd3\x81\x45\xd1\x0f\xcf\xf9\x6c\x60\xbe\x06\xdf\x03\x00\x00\xff\xff\x71\x22\xbf\x5f\xc3\x03\x00\x00" func executionnodeversionbeaconAdminChange_version_update_bufferCdcBytes() ([]byte, error) { return bindataRead( @@ -1785,11 +1785,11 @@ func executionnodeversionbeaconAdminChange_version_update_bufferCdc() (*asset, e } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0x27, 0x2b, 0x59, 0x62, 0xfe, 0xb0, 0xb6, 0x99, 0x75, 0x33, 0x7f, 0x11, 0xb0, 0x17, 0x1c, 0x6b, 0xa7, 0xd2, 0xd, 0x72, 0x5b, 0x94, 0x39, 0x71, 0x0, 0x7, 0xe9, 0xc3, 0xc7, 0x7, 0xad}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x51, 0x57, 0x79, 0xba, 0x84, 0x33, 0xd6, 0x0, 0x90, 0x67, 0xd9, 0xac, 0x16, 0xd, 0xa0, 0x25, 0x2b, 0x18, 0x8d, 0xe4, 0xef, 0xd6, 0xf, 0xa8, 0x3b, 0x7b, 0xb1, 0xc9, 0x9f, 0xeb, 0x3}} return a, nil } -var _executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x52\xcf\x8b\xda\x40\x14\xbe\xe7\xaf\xf8\xf0\xd0\xea\xc5\xf4\x50\x7a\x08\xb5\x4b\xd4\x14\x96\x42\x2c\xba\x4a\xaf\xb3\x93\x17\x33\x90\xbc\x09\x93\x97\xc6\xb2\xec\xff\x5e\x32\x59\x95\x82\xb1\x94\x1e\x33\x79\xef\xfb\xf5\x3e\x53\xd5\xd6\x09\x92\x13\xe9\x56\x8c\xe5\xd4\x66\x74\x20\xd7\x18\xcb\x4b\x52\xda\x32\x72\x67\x2b\x7c\x38\x25\x3f\x92\xd5\xfe\xe9\x71\x93\xa6\x9b\x75\x72\x48\xb6\xbb\xc7\x4d\xba\x4c\xe2\xd5\x26\x8d\xd7\xeb\x6d\xb2\xdb\x05\x41\x18\x86\x78\x72\x8a\x1b\xa5\x7b\x28\x48\xa1\x04\xaa\x2c\x6d\xd7\xdc\x24\x88\xb3\xca\x30\xc4\x42\x17\x8a\x8f\xe4\xf7\xa5\x20\x64\x94\x1b\xa6\x0c\x3f\x87\xb1\x7d\x9d\x29\xa1\x65\x9b\xe7\xe4\x0e\xca\x19\xc5\x9a\x82\x40\xae\x44\x53\xa6\xee\xd6\x50\x84\xfd\x57\x73\xfa\xf4\x71\x86\x97\x20\x00\x4a\xba\xe7\xd3\x8b\xd9\x52\x1e\xe1\x5d\xcc\xbf\xb6\xd4\xd8\xd6\x69\x7a\x19\x5f\x98\x8f\x5a\x7a\xed\xd9\x6a\x47\xb5\x72\x34\x55\x5a\x4b\x84\xb8\x95\x22\xd6\xda\xb6\x2c\xbd\x1a\x00\x08\x43\x2c\xad\x73\xb6\x83\x82\xa3\x9c\x1c\xb1\xa6\x3e\x8d\x3e\x82\xf1\xb8\x4c\x55\x97\x54\x11\x8b\xe1\x23\xdc\x9b\x4c\x0f\xd8\x50\x99\xdf\x14\xf5\xa7\x41\x2c\xd0\x6b\x9a\x3f\x7b\xf2\xcf\xff\xef\xf6\x8b\x67\x07\xa6\x7d\x53\xa2\x3b\x11\xdf\xc4\xf8\x46\x54\x93\xdb\x89\x75\xea\x48\xdf\x95\x14\xb3\x37\xb8\x87\x07\xd4\x8a\x8d\x9e\x4e\x56\xb6\x2d\x33\x7e\x2f\x18\x24\xff\xed\x88\x38\xdb\x99\xf4\x50\xfe\x18\xe4\x37\xe8\x9a\x7c\x9c\x65\x3e\x67\xa6\xee\x5c\xb3\x73\xf4\x97\x4f\xf5\x5c\xfe\x53\xb0\xf3\xa1\xc6\x87\xf1\xd6\x8e\x17\x75\xe4\xc7\xc5\x40\x6d\x1b\x19\xc4\xdf\x89\xf7\x48\x72\x8f\x7c\x86\xc5\x62\x8c\x08\x11\x26\xc3\x0b\x2e\x4f\x9d\x6a\xc0\x56\xd0\xfa\xf9\x6c\xe2\xb5\xbc\x06\xbf\x03\x00\x00\xff\xff\x69\x1e\x8d\xce\x32\x04\x00\x00" +var _executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x92\x41\x8b\xdb\x30\x10\x85\xef\xfe\x15\x8f\x1c\xda\xe4\x12\xf7\x50\x7a\x30\x4d\x17\x27\x71\x61\x2f\x4e\x49\x36\xa1\x57\x55\x1e\xc7\x02\x5b\x63\xe4\x71\x13\x28\xfb\xdf\x8b\xe4\x90\x52\x88\xdd\xb2\x57\x31\xf3\xbe\xf7\x9e\xc6\x34\x2d\x3b\x41\x76\x25\xdd\x8b\x61\x9b\x73\x41\x27\x72\x9d\x61\xbb\x26\xa5\xd9\xa2\x74\xdc\xe0\xc3\x35\xfb\x9e\x6d\x8e\x2f\xcf\xbb\x3c\xdf\x6d\xb3\x53\xb6\x3f\x3c\xef\xf2\x75\x96\x6e\x76\x79\xba\xdd\xee\xb3\xc3\x21\x8a\xe2\x38\xc6\x8b\x53\xb6\x53\xda\x4b\x41\x2a\x25\x50\x75\xcd\x97\xee\x21\x20\x2d\x1a\x63\x21\x0c\x5d\x29\x7b\xa6\xb0\x2f\x15\xa1\xa0\xd2\x58\x2a\xf0\x73\x18\x3b\xb6\x85\x12\x5a\xf7\x65\x49\xee\xa4\x9c\x51\x56\x53\x14\xc9\x1f\xd0\xdc\xd2\xe5\xd1\x50\x82\xe3\x57\x73\xfd\xf4\x71\x81\x5f\x51\x04\xd4\x34\x95\x33\x98\xd9\x53\x99\xe0\xdd\xf8\xd0\x72\x34\x86\x07\xb4\x8e\x5a\xe5\x68\xae\xb4\x96\x04\x69\x2f\x55\xaa\x35\xf7\x56\xbc\x01\x00\x88\x63\xac\xd9\x39\xbe\x40\xc1\x51\x49\x8e\xac\x26\x5f\x80\x4f\x3d\xde\x90\x69\xda\x9a\x1a\xb2\x62\xec\x19\x8e\x3a\xee\x9d\xa6\x20\xd8\x51\x5d\x3e\xf4\xf4\x77\x26\xac\xe0\x3d\x2d\x7f\x04\xf8\xe7\x37\x05\xfc\x12\x80\xc0\xdc\xdf\x43\x32\x51\xe4\xb8\xc4\x41\xd8\xa9\x33\x7d\x53\x52\x2d\x6e\x6a\x4f\x4f\x68\x95\x35\x7a\x3e\xdb\x70\x5f\x17\xf6\xbd\x60\x30\xf9\xaf\x9f\xc2\xfe\xd6\xc3\xcc\x4b\xbd\xfa\xfa\x29\x6c\xd0\xad\xeb\xff\xac\x66\x39\xdc\xde\x69\xfc\xd4\xc6\xae\xeb\xce\x6d\xb9\x93\x81\x39\x51\xca\x99\x64\x8a\xb1\xc0\x6a\x85\x11\x10\x12\xcc\x86\x17\xdc\x9f\x2e\xaa\x83\x65\x41\x1f\xe6\x8b\x59\xf0\xf2\x1a\xfd\x0e\x00\x00\xff\xff\x3b\x28\xeb\xa2\xce\x03\x00\x00" func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdcBytes() ([]byte, error) { return bindataRead( @@ -1805,11 +1805,11 @@ func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc() ( } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0x96, 0xff, 0xa6, 0xfc, 0x7a, 0x7f, 0x3a, 0xda, 0x49, 0x33, 0x3f, 0x14, 0x66, 0xbe, 0x6d, 0xe1, 0xb, 0x9e, 0xb6, 0x3b, 0xfe, 0xa6, 0xb, 0xf3, 0x1f, 0x1, 0x11, 0x66, 0xc7, 0x6f, 0x36}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0xe7, 0x61, 0xb0, 0xc2, 0x71, 0xb0, 0x5d, 0xf8, 0xb0, 0xfe, 0x18, 0xae, 0x3a, 0xee, 0xeb, 0xe5, 0x18, 0x93, 0x80, 0xaa, 0x34, 0x8d, 0x29, 0x13, 0x83, 0xf7, 0xa5, 0xd8, 0x64, 0xd2, 0x7}} return a, nil } -var _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x93\x41\x8b\xdb\x3e\x10\xc5\xef\xfe\x14\x43\x0e\xff\x7f\x72\xb1\x43\x29\x3d\x98\x76\x17\xa7\x2d\xb4\x14\x96\xb2\xcd\xee\x5d\x91\x9f\x6d\x51\x59\x23\xe4\x71\x93\x65\xc9\x77\x2f\x52\x9c\xdd\x2d\x4d\x52\x4a\x73\x08\xb6\xf5\x34\x6f\xf4\x7b\x23\xd3\x7b\x0e\x42\x1f\x77\xd0\xa3\x18\x76\x37\x5c\xe3\x1e\x61\x30\xec\x56\x50\x9a\x1d\x35\x81\x7b\x5a\xee\x96\xaf\xb2\xac\x28\x0a\x5a\x07\xe5\x06\xa5\xa3\x96\xa4\x53\x42\xca\x5a\xde\x0e\x27\x2b\x54\x75\x6f\x1c\x09\x53\x0d\x0b\x01\x49\x87\x54\xe3\xc7\x61\x99\x36\x3c\xba\x5a\x85\x07\xea\x95\xf7\xc6\xb5\x14\xd5\x1d\x8e\xeb\x6b\xb5\xb1\x20\x25\xe9\xdb\xe0\xa1\x4d\x63\x50\xa7\x0a\x1b\xcb\xfa\x3b\x75\x30\x6d\x27\xe4\x55\x50\x3d\x04\x21\xcb\xe4\xb9\xbb\x79\xd2\x7c\x4a\x92\xd5\x64\xb4\xe6\x0f\xa9\x93\x92\xee\x3e\x3b\x79\xf3\x7a\x41\x8f\x59\x46\x64\x71\x89\x40\x3a\xc5\x2d\x9a\x92\xfe\xab\xdc\xc3\x2d\x06\x1e\x83\xc6\xe3\xf9\x0d\xf9\x59\x16\xfb\xe8\xe6\x03\xbc\x0a\x98\x2b\xad\xa5\xa4\x6a\x94\xae\xd2\x9a\x47\x27\xb1\x1b\xa2\x24\x38\x3c\xc4\xdf\x05\x9b\x16\x72\xff\x82\xd4\x7c\x91\x5b\xb8\x56\x3a\xba\xa2\x25\x95\x34\xbb\xe1\xdf\x09\x63\x67\x06\x19\x9e\x33\xc9\x67\xc9\x69\x9f\xfe\x8b\x82\x56\x1c\x02\x6f\x49\x51\x40\x83\x00\xa7\x11\xb5\x31\x80\xf3\x01\x9b\xde\x5b\xf4\x70\x12\x0d\xc2\xc4\x27\x15\x1c\x60\x9b\x93\x34\x7e\x25\x4b\xef\x28\xc2\xc8\x37\xc9\xfc\xed\xbf\x63\xbe\x9a\xf0\xcd\xe3\xf0\x96\x97\x18\x9e\x5a\xfa\x02\x78\x84\x6f\xc2\x41\xb5\xf8\xaa\xa4\x5b\x4c\xe5\xae\xaf\xc9\x2b\x67\xf4\x7c\xf6\x9e\x47\x5b\xbb\xff\x85\x0e\x2d\xff\x69\x7a\xe8\x78\x9c\x59\x2c\x95\xa6\x00\x69\x07\xa6\xc8\x8b\x82\xaa\xba\x4e\x9c\x1d\xb6\x4f\x17\x64\x42\xff\xf4\x1a\x63\xfe\x1b\xb0\xf9\x21\xe4\x3b\xaf\xb9\x37\xae\x3d\x6a\xa6\xa1\x78\x79\x43\x4a\xba\x70\x5d\xa6\xa6\xf7\xd9\xcf\x00\x00\x00\xff\xff\x3e\xc9\xd2\xa9\x2e\x04\x00\x00" +var _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\xc1\x6e\xd3\x40\x10\xbd\xfb\x2b\x9e\x72\x00\xe7\x62\x47\x08\x71\xb0\xa0\x55\x42\x91\xe0\x52\xa1\x92\xf6\xbe\x59\x8f\xed\x15\xeb\x9d\xd5\x7a\x4c\x83\x50\xfe\x1d\xed\xc6\x69\x53\x91\x04\x81\x0f\x96\xb5\xfb\xfc\x66\xe6\xbd\x37\xa6\xf7\x1c\x04\x9f\xb6\xa4\x47\x31\xec\x6e\xb9\xa6\x07\x0a\x83\x61\xb7\x22\xa5\xd9\xa1\x09\xdc\x63\xb1\x5d\xbc\xc9\xb2\xb2\x2c\xb1\x0e\xca\x0d\x4a\x47\x2c\xa4\x53\x02\x65\x2d\x3f\x0e\x27\x19\x96\x75\x6f\x1c\x84\x51\x93\x25\x21\x48\x47\x89\xe3\xc7\xfe\x1a\x1b\x1e\x5d\xad\xc2\x4f\xf4\xca\x7b\xe3\x5a\x44\x74\x47\x87\xfb\xb5\xda\x58\x82\x92\x74\x36\x78\xd2\xa6\x31\x54\x27\x86\x8d\x65\xfd\x1d\x1d\x99\xb6\x13\x78\x15\x54\x4f\x42\x21\xcb\xe4\xb9\xbb\x3c\x61\x3e\x27\xc8\x6a\x2a\xb4\xe6\x9b\xd4\x49\x85\xfb\x2f\x4e\xde\xbd\x9d\xe3\x57\x96\x01\x96\x2e\x29\x90\xa6\xb8\xa3\xa6\xc2\xab\xf3\xa0\xe2\xec\xfc\xb1\x80\x0f\xe4\x55\xa0\x5c\x69\x2d\x15\x96\xa3\x74\x4b\xad\x79\x74\x12\x1b\x00\x12\x60\xff\x11\x9f\x0b\x55\x5a\x92\x87\x23\x71\xf2\x79\x61\xc9\xb5\xd2\xe1\x0a\x0b\x54\x98\xdd\xf2\x9f\xa2\xd2\xd6\x0c\x32\x3c\xdb\x50\xcc\x52\xa5\x5d\x7a\x97\x25\x56\x1c\x02\x3f\x42\x21\x50\x43\x81\x9c\xa6\x88\x8d\x9a\x9f\xf7\x34\xd0\xc0\x63\xd0\x94\x38\x06\xb2\xcd\xc9\xf9\x5f\xea\x87\x0f\x88\xf3\x17\x9b\x54\xef\xfd\x7f\x89\x79\x35\x89\x94\xc7\x54\x56\x97\x94\x3a\x4b\xf1\x4d\x38\xa8\x96\xbe\x2a\xe9\xe6\x13\xdb\xf5\x35\xbc\x72\x46\xe7\xb3\x8f\x3c\xda\xda\xbd\x16\xec\x9b\xfc\x5b\x2a\x70\x37\xe9\x30\x8b\x54\xbb\x68\x35\xa5\x3f\x68\xf2\xb5\x2c\x71\xf3\x94\xfd\xa7\xdc\xa7\x95\x3a\x3e\x90\x93\x49\x7f\x99\xf2\x83\xaf\xff\x22\x79\xb1\x77\xfc\xde\x6b\xee\x8d\x6b\x0f\x98\x89\xe9\x78\x43\x2a\x5c\x58\x97\x69\xb8\x5d\xf6\x3b\x00\x00\xff\xff\x1d\x39\x3d\x60\x2e\x04\x00\x00" func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdcBytes() ([]byte, error) { return bindataRead( @@ -1825,11 +1825,11 @@ func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc() (*asse } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x93, 0x56, 0x2b, 0xca, 0x2f, 0xa3, 0x7d, 0xad, 0x9c, 0x8e, 0x8a, 0x53, 0x7c, 0x3b, 0x93, 0x0, 0xd, 0x2e, 0x6b, 0x79, 0xd2, 0x19, 0x57, 0x79, 0xd7, 0xe0, 0x84, 0xa, 0x66, 0x90, 0xde}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf3, 0x10, 0x76, 0xcb, 0x7e, 0xd1, 0x62, 0x63, 0xc0, 0xfe, 0x68, 0x3b, 0x7a, 0x45, 0x3b, 0x53, 0x5b, 0x27, 0x44, 0x30, 0xc6, 0x8f, 0x7b, 0x9d, 0x5a, 0x10, 0xb4, 0x57, 0xfd, 0x69, 0xe8, 0xbb}} return a, nil } -var _executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xce\x31\x8b\xc2\x40\x14\xc4\xf1\x7e\x3f\xc5\x74\x97\x34\x97\x70\xe5\x35\x07\x27\x62\x67\xa3\xd8\x6f\x36\x13\x5d\x70\xdf\x86\x97\xb7\x21\x20\x7e\x77\x8b\x60\x27\xa9\xe7\x07\xf3\x8f\x69\xcc\x6a\xd8\x2f\x0c\xc5\x62\x96\x63\xee\x79\xa1\x4e\x31\xcb\x3f\x7d\xc8\x82\x41\x73\x42\xbb\xb4\x3f\xce\x35\x4d\x83\x03\x6d\x82\xdd\x88\x50\x54\x29\x86\x79\xd5\xe8\x39\x44\x61\x8f\x28\xeb\x9c\xc5\xd4\x07\xfb\x9a\xde\xe2\xec\xbb\x3b\xdd\x58\x3a\x0c\x45\x90\x7c\x94\xaa\xfe\xdd\x78\xfe\x3e\x31\xcd\xd4\x3f\x3c\x1c\x00\x28\xad\xa8\x6c\xf9\x2b\x6d\xb7\x46\x7d\x42\x55\xed\x9e\xee\x15\x00\x00\xff\xff\xbd\xa4\x94\xdd\xef\x00\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\x6a\xc3\x40\x10\x44\xfb\xfb\x8a\xe9\x62\x37\x51\xea\x34\xc1\x96\x8e\xe0\xe6\x04\x96\x63\xd2\xca\xd2\x2a\x59\xb0\x76\xcd\x6a\xcf\x18\x42\xfe\x3d\x10\xe1\xce\xa8\x9e\x37\x8f\xc7\xe3\x45\xcd\x11\x6f\xd4\x65\x67\x95\xa4\x3d\x1d\xc9\x26\x56\xd9\x52\xdb\xa9\x60\x30\x1d\xf1\x72\x8b\x9f\xb1\xfc\x38\xec\xea\x94\xea\x2a\x1e\xe3\xbe\xd9\xd5\x69\x1b\x37\x65\x9d\x36\x55\xb5\x8f\x4d\x13\x42\x51\x14\x78\x27\x9f\xe0\xdf\x84\x2e\x9b\x91\x38\xae\xb3\x0c\x3d\x0d\x2c\xd4\x83\x65\x9e\x55\xdc\xda\xce\x9f\xa6\x3b\x71\x68\x4f\x67\xfa\x77\xa8\x41\xf8\x0c\x1e\x20\x2a\x04\x9e\xee\xe7\x70\xc9\x27\x0c\x59\x30\xb6\x2c\xab\xf5\xeb\x42\xf6\x73\x43\xe3\x95\xec\x0d\x3f\x01\x00\x8c\x3c\x9b\x2c\xf1\x5f\xe4\xe5\x9c\xfc\x08\x5a\xad\xc3\x6f\xf8\x0b\x00\x00\xff\xff\x62\xb6\x46\xce\x2c\x01\x00\x00" func executionnodeversionbeaconScriptsGet_current_execution_node_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1845,11 +1845,11 @@ func executionnodeversionbeaconScriptsGet_current_execution_node_versionCdc() (* } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x17, 0xb0, 0x1a, 0x1c, 0xe4, 0x85, 0xbb, 0x70, 0x7, 0x3f, 0x8, 0x3, 0x55, 0xed, 0xc6, 0x12, 0x75, 0xcb, 0x18, 0x17, 0x72, 0x81, 0x5f, 0x8e, 0x3f, 0xb9, 0x4b, 0xc3, 0x8a, 0xde, 0xe0, 0xcf}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0xb2, 0xbe, 0xf5, 0xc9, 0xd3, 0x15, 0x26, 0x88, 0x29, 0xf2, 0xb2, 0xd5, 0xd8, 0x54, 0xba, 0x9, 0x4f, 0xbb, 0x14, 0x57, 0x59, 0x8, 0x50, 0x9d, 0xdf, 0xf6, 0xf6, 0x1, 0x4b, 0xba, 0x98}} return a, nil } -var _executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8e\xb1\x4e\xc5\x30\x0c\x45\xf7\x7c\xc5\x1d\xdb\xe5\xb5\x62\x44\x62\x01\x21\x36\x16\x10\x7b\xda\x3a\xc5\x52\xea\x54\x8e\x83\x2a\xa1\xfe\x3b\xa2\x29\x62\x00\x3d\x8f\xd7\xc7\xc7\x97\x97\x35\xa9\xe1\x71\xa3\xb1\x18\x27\x79\x4e\x13\xbd\x91\x66\x4e\x72\x4f\x7e\x4c\x82\xa0\x69\x41\xbf\xf5\x37\xce\x75\x5d\x87\x27\xb2\x0c\x7b\x27\x8c\x45\x95\xc4\xf0\x51\x69\x4c\x14\x58\x68\x02\xcb\xb1\x3e\xe3\x57\x3f\x44\x3a\x0e\x7d\x86\xc7\x8b\x29\xcb\xec\xd6\x32\x20\x14\xc1\xe2\x59\x9a\xf6\xf6\x8c\xf1\xe9\x00\x80\x03\x22\xfd\x7a\xef\xae\x94\xbb\xcc\x64\x0f\xb5\xc7\x7f\x50\xd3\x9e\xca\xef\x51\xb2\xa2\xf2\xa3\xbd\x58\xaa\x4f\x9b\xf6\x20\x76\x50\xcc\xf4\x17\x97\x12\x63\x05\xdc\xee\xbe\x02\x00\x00\xff\xff\x34\x60\x6f\x68\x2d\x01\x00\x00" +var _executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x8f\xbd\x6a\xc3\x40\x10\x84\xfb\x7b\x8a\x29\xa5\xc6\x4a\x1d\x08\xc1\x96\x8e\xe0\x46\x02\xcb\x31\x69\xcf\xd2\xca\x59\x38\xed\x99\xfb\x09\x86\xe0\x77\x0f\x96\x64\x52\x24\x78\xcb\x9d\xf9\x66\x76\x79\x3c\x3b\x1f\xa1\x2f\xd4\xa5\xc8\x4e\x6a\xd7\xd3\x81\x7c\x60\x27\x1b\x32\x9d\x13\x0c\xde\x8d\x78\xba\xe8\x0f\x5d\xbe\xef\xb7\x4d\x5d\x37\x95\x3e\xe8\x5d\xbb\x6d\xea\x8d\x5e\x97\x4d\xbd\xae\xaa\x9d\x6e\x5b\xa5\x8a\xa2\xc0\x1b\xc5\x80\xf8\x49\xe8\x92\xf7\x24\x11\x5f\x73\x18\x7a\x1a\x58\xa8\x07\xcb\x24\x2f\xeb\xbd\x39\x5a\x9a\x40\x13\x60\xd0\x46\xcf\x72\x82\xf3\x10\xb6\xe0\x01\xe2\x84\xc0\xe1\x4e\xab\x73\x3a\x62\x48\x82\xd1\xb0\x64\xf9\xf3\x02\xbc\xe2\x5b\x01\xb8\x01\x96\x7e\x2b\x5f\x1e\xbc\xb5\x3a\x51\x2c\xe7\x13\xff\x33\x65\xf9\x12\x79\x1b\x4f\x31\x79\xb9\xc7\xae\xa2\x9b\x5b\xb3\x7c\x72\x5c\x41\x36\xd0\x5f\xbb\xb0\x9d\x75\x75\x55\x3f\x01\x00\x00\xff\xff\x72\x4e\xde\xfb\x66\x01\x00\x00" func executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stringCdcBytes() ([]byte, error) { return bindataRead( @@ -1865,7 +1865,7 @@ func executionnodeversionbeaconScriptsGet_current_execution_node_version_as_stri } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x4d, 0x6, 0x6e, 0xf7, 0xcd, 0xdd, 0xb8, 0x3d, 0x13, 0x81, 0x76, 0x17, 0xee, 0xb6, 0x92, 0x98, 0xc6, 0xe4, 0xf7, 0x6f, 0x9e, 0xee, 0x81, 0x96, 0xb, 0xf1, 0x8b, 0xfa, 0xbc, 0x4d, 0xde}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x64, 0xec, 0x27, 0x5b, 0x3c, 0x80, 0xbe, 0x21, 0xf9, 0x48, 0xa, 0x42, 0x8e, 0xb6, 0xf, 0xfb, 0x9b, 0xa0, 0xfb, 0x9b, 0xa0, 0xf9, 0x57, 0xe1, 0xe, 0x67, 0x73, 0x33, 0x5, 0x71, 0xf1}} return a, nil } @@ -1949,7 +1949,7 @@ func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc() (* return a, nil } -var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcf\x41\x6b\xb3\x40\x10\xc6\xf1\xbb\x9f\xe2\x39\x26\x10\x5e\xdf\x43\xe9\xc1\x5b\xd4\x85\x7a\x51\xd0\x26\xf4\xba\x9a\x55\x87\xba\x33\xb2\xae\x12\x29\xfd\xee\xa5\x49\x43\xd3\x4b\xce\x7f\x86\xf9\x3d\x64\x47\x71\x1e\xea\x6c\x9a\xd9\x93\x70\x2e\x27\x73\x34\x6e\x22\xe1\xd8\xe8\x46\x18\xad\x13\x8b\xff\x67\xf5\xa6\x92\xc3\x6b\x56\xe4\x79\x91\xaa\xa3\x2a\xab\xac\xc8\x63\xb5\x4f\x8a\x7c\x9f\xa6\xa5\xaa\xaa\x20\x08\xc3\x10\xa5\xf1\xb3\xe3\x09\x1a\xb1\xc8\x80\x89\x3a\xa6\x76\x25\xee\x40\x2d\x7c\x6f\xd0\xd1\x62\x18\xcb\xf5\x05\x68\xc2\xa2\x07\x3a\x41\xfb\xbb\x5a\x0f\xd2\xbc\xa3\x37\xd4\xf5\x3e\x18\xe7\x1a\xed\xcc\xb0\x9a\x78\x63\xd7\xf8\xbb\xbd\x5c\x52\x84\x43\xc6\xfe\xf9\x69\x07\xbb\xfe\x98\xa3\x07\x4b\xfe\x55\xc6\x2e\xc6\x6d\xa3\x2b\xed\x23\x00\x00\x77\xf1\x3e\xba\xa2\x29\x11\x3b\x6a\x4f\xf5\x70\x2b\x9b\xfa\x1e\xf1\xc7\xb4\xbb\x4d\x8b\x7e\x51\xdb\xe0\xf3\x2b\x00\x00\xff\xff\xeb\xc5\x18\xc6\x67\x01\x00\x00" +var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xb1\x6e\xf2\x40\x10\x84\x7b\x3f\xc5\x94\x20\xa1\x9f\xbf\x88\x52\xb8\x89\x30\x9c\x14\x1a\x5b\xc2\x01\xa5\x3d\x9b\xb5\x59\xc5\xb7\x8b\xce\x67\x0b\x2b\xca\xbb\x47\x38\x41\xc1\x0d\xf5\xb7\xf7\xdd\xcc\xb0\x3b\xab\x0f\x30\x17\x2a\xbb\xc0\x2a\xa9\x1e\xe9\x40\xbe\x65\x95\x84\x6c\xa9\x82\xca\xab\xc3\xff\x8b\x79\x37\xeb\xfd\xdb\x36\x4b\xd3\x6c\x63\x0e\x66\x97\x6f\xb3\x34\x31\xab\x75\x96\xae\x36\x9b\x9d\xc9\xf3\x28\x5a\x2e\x97\xd8\x51\xe8\xbc\xb4\xb0\x48\x54\x1b\xb4\x5c\x0b\x57\x03\x4b\x0d\xae\x10\x4e\x84\x9a\x7b\x12\xf4\x3f\x5f\x80\x5b\xf4\xb6\xe1\x23\x6c\xb8\xa3\x45\xa3\xe5\x07\x4e\xc4\xf5\x29\x8c\x56\xf5\x10\x6e\xa6\x8a\xfb\xa3\xab\xa7\xa0\x41\xe5\x38\x1e\x94\x9d\xf7\x24\x61\xea\x39\x77\x05\xaa\x4e\xe0\x2c\xcb\xcc\x0d\xc9\x95\xbd\x8e\x28\xc6\x7e\x2b\xe1\xf9\x69\x01\x37\xfc\x76\x8f\x1f\x2c\xf2\x2f\x27\xd7\x93\x9f\xc7\x63\xc5\x17\x7c\x46\x00\xe0\xc7\xe2\x8f\x9e\x71\xbb\x56\x77\xb6\x81\x8b\xe6\x46\x66\xc5\x7d\x8a\x49\xa8\xc5\x6d\xa3\xf8\x2f\xd5\x3c\xfa\xfa\x0e\x00\x00\xff\xff\xeb\xfc\xf5\xfc\xb0\x01\x00\x00" func executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1965,7 +1965,7 @@ func executionnodeversionbeaconScriptsIs_compatible_versionCdc() (*asset, error) } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/is_compatible_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0x7c, 0x37, 0xa6, 0xc0, 0x90, 0x42, 0x7, 0xdf, 0x21, 0x5e, 0x28, 0xda, 0xb, 0xc, 0x1e, 0x96, 0x18, 0x9c, 0xea, 0x66, 0xac, 0x58, 0x16, 0x36, 0xdb, 0xfe, 0xc5, 0xde, 0x53, 0x47, 0x72}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x43, 0xe2, 0xf5, 0x5c, 0x29, 0x1b, 0x28, 0x90, 0xdb, 0x74, 0xd4, 0x8b, 0x12, 0xf3, 0x4c, 0x8e, 0x71, 0xbb, 0x20, 0x55, 0x28, 0x92, 0xb7, 0x76, 0x78, 0x1, 0xa7, 0x0, 0x29, 0xc6, 0x73}} return a, nil } diff --git a/lib/js/test/templates/script_templates.js b/lib/js/test/templates/script_templates.js index b4d109699..4ece8b035 100644 --- a/lib/js/test/templates/script_templates.js +++ b/lib/js/test/templates/script_templates.js @@ -5,7 +5,7 @@ import { executeScript } from "@onflow/flow-js-testing"; export const SCRIPT_FILENAMES = { getCurrentExecutionNodeVersionFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", - getCurrentExecutionNodeVersionAsStringFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc", + getCurrentExecutionNodeVersionAsStringFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc", getNextVersionBoundaryPairFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc", getVersionTableFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc", getVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", @@ -17,6 +17,7 @@ export const SCRIPT_FILENAMES = { export async function executeScriptByFilename(filename, args) { const code = readScriptFile( filename, + args ); const [result, err] = await executeScript({ code, args }); diff --git a/lib/js/test/templates/transaction_templates.js b/lib/js/test/templates/transaction_templates.js index f63e48421..edcd9a23c 100644 --- a/lib/js/test/templates/transaction_templates.js +++ b/lib/js/test/templates/transaction_templates.js @@ -10,7 +10,7 @@ import {expect} from "@jest/globals"; export const TRANSACTION_FILENAMES = { addVersionToTableFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc", changeVersionUpdateBufferFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc", - changeVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc", + changeVersionUpdateBufferVarianceFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc", deleteUpcomingVersionBoundaryFilename: "./../../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", } diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index 09d3c9f1b..f557dbf22 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -5,9 +5,7 @@ import { emulator, getAccountAddress, init, - sendTransaction, - shallPass, - shallRevert, + shallPass } from "@onflow/flow-js-testing"; import { executeScriptByFilename, SCRIPT_FILENAMES } from "../templates/script_templates"; import { @@ -21,30 +19,17 @@ const BASE_PATH = path.resolve(__dirname, "./../../../../"); describe("ExecutionNodeVersionBeacon Contract Tests", () => { - /** TODO: Test Cases - * [X] - Contract deploys with proper initialization - * [X] - Add version to table succeeds - * [X] - Add version to table fails as it's within buffer period - * [X] - Add multiple versions to table in mixed block height order, getNextVersionBoundaryPair() returns correct boundary - * [X] - Delete version from table successful - * [X] - Delete version from table fails as it doesn't exist - * [X] - Change buffer within variance succeeds - * [X] - Change buffer outside of variance fails - * [ ] - Change buffer too close to current block fails - * [ ] - Change variance succeeds - * */ - // Setup each test beforeEach(async () => { const logging = false; await init(BASE_PATH); - return emulator.start({ logging }); + await emulator.start({ logging }); }); // Stop the emulator after each test afterEach(async () => { - return emulator.stop(); + await emulator.stop(); }); test("Deploy ExecutionNodeVersionBeacon successfully with proper initialization", async () => { @@ -218,11 +203,11 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Define expected versionTable response object & version boundary pair const expectedFirstSequentialVersion = { - "isBackwardsCompatible": firstIsBackwardsCompatible, - "major": firstMajor.toString(), - "minor": firstMinor.toString(), - "patch": firstPatch.toString(), - "preRelease": firstPreRelease + "isBackwardsCompatible": firstIsBackwardsCompatible, + "major": firstMajor.toString(), + "minor": firstMinor.toString(), + "patch": firstPatch.toString(), + "preRelease": firstPreRelease }; const expectedSecondSequentialVersion = { "isBackwardsCompatible": firstIsBackwardsCompatible, @@ -328,7 +313,8 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { SCRIPT_FILENAMES["getNextVersionBoundaryPairFilename"] ); - // Ensure that the table is empty and no boundary pair exists + // Ensure that the table is empty and no upcoming + // boundary pair exists expect(actualVersionTable).toEqual(expectedVersionTable); expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); }); @@ -350,17 +336,19 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { ); }); - test("Change versionUpdateBuffer succeeds", async () => { + test("Change versionUpdateBuffer & versionUpdateBufferVariance succeed", async () => { // Contract initialization arguments const beginningBuffer = 10; - const expectedBufferVariance = 0.5; + const beginningBufferVariance = 0.5; + // Buffer and variance we'll change and expect after checking const expectedBuffer = 12; + const expectedBufferVariance = 0.75 // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, beginningBufferVariance]); - // Attempt to delete version + // Change versionUpdateBuffer await sendTransactionByFilenamePasses( TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], [expectedBuffer], @@ -372,19 +360,33 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] ); expect(parseInt(actualBuffer)).toEqual(expectedBuffer); + + // Change versionUpdateBufferVariance + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["changeVersionUpdateBufferVarianceFilename"], + [expectedBufferVariance], + [ExecNodeVersionBeaconAcct] + ); + + // Check that the versionUpdateBufferVariance has changed as expected + const actualBufferVariance = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionUpdateBufferVarianceFilename"] + ); + expect(parseFloat(actualBufferVariance)).toEqual(expectedBufferVariance); }); test("Change versionUpdateBuffer outside of versionUpdateBufferVariance fails", async () => { // Contract initialization arguments const beginningBuffer = 10; const expectedBufferVariance = 0.5; + // Buffer we'll try to change to const newBuffer = 20; // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); - // Attempt to delete version + // Change versionUpdateBuffer beyond the what the variance allows await sendTransactionByFilenameReverts( TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], [newBuffer], @@ -392,6 +394,47 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { ); }); + test("Change versionUpdateBuffer too close to next version block boundary fails", async () => { + // Contract initialization arguments + const beginningBuffer = 10; + const expectedBufferVariance = 0.5; + // Buffer we'll try to change to, but will fail + const newBuffer = 100; + + // Version & boundary values + const blockHeightBoundary = 20; + const major = 0; + const minor = 1; + const patch = 2; + const preRelease = "alpha.1"; + const isBackwardsCompatible = true; + + // Get account and deploy contract to account + const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); + + // Add version to table + // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] + await sendTransactionByFilenamePasses( + TRANSACTION_FILENAMES["addVersionToTableFilename"], + [major, minor, patch, preRelease, isBackwardsCompatible, blockHeightBoundary], + [ExecNodeVersionBeaconAcct] + ); + + // Attempt to change versionUpdateBuffer, but newBuffer will + // cross the next version boundary, reverting + await sendTransactionByFilenameReverts( + TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], + [newBuffer], + [ExecNodeVersionBeaconAcct] + ); + + // Ensure versionUpdateBuffer is still as initialized + const actualBuffer = await executeScriptByFilename( + SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] + ); + expect(parseInt(actualBuffer)).toEqual(beginningBuffer); + }); }); // Deploys the ExecutionNodeVersionBeacon to the passed account diff --git a/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc index d568480d3..5a19ebc23 100644 --- a/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc +++ b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc @@ -12,7 +12,7 @@ transaction( targetBlockHeight: UInt64 ) { - let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + let ExecutionNodeVersionBeaconAdminRef: &ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin let newVersion: ExecutionNodeVersionBeacon.Semver prepare(acct: AuthAccount) { @@ -21,9 +21,9 @@ transaction( major: newMajor, minor: newMinor, patch: newPatch, preRelease: newPreRelease, isBackwardsCompatible: isBackwardsCompatible ) - // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource - self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> - (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + // Borrow a reference to the ExecutionNodeVersionAdmin resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionAdminStoragePath) ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") } diff --git a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc index 346bc74a9..2315f15c3 100644 --- a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc +++ b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc @@ -5,17 +5,16 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS transaction(newVersionUpdateBuffer: UInt64) { - let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + let ExecutionNodeVersionBeaconAdminRef: &ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin prepare(acct: AuthAccount) { // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource - self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> - (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionAdminStoragePath) ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") } execute { - // Add the new version to the version table self.ExecutionNodeVersionBeaconAdminRef.changeVersionUpdateBuffer(newUpdateBufferInBlocks: newVersionUpdateBuffer) } diff --git a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc index 2af18a445..8200cffcc 100644 --- a/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc +++ b/transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc @@ -5,18 +5,17 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS transaction(newUpdateBufferVariance: UFix64) { - let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + let ExecutionNodeVersionBeaconAdminRef: &ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin prepare(acct: AuthAccount) { // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource - self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> - (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionAdminStoragePath) ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") } execute { - // Add the new version to the version table - self.ExecutionNodeVersionBeaconAdminRef.changeVersionUpdateBufferVariance(newUpdateBufferVariance: newUpdateBufferVariance) + self.ExecutionNodeVersionBeaconAdminRef.changeVersionUpdateBufferVariance(newUpdateBufferVariance) } post{ diff --git a/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc index 4437734fc..8bd5bc586 100644 --- a/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc +++ b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc @@ -6,20 +6,20 @@ import ExecutionNodeVersionBeacon from 0x02 transaction(blockHeightBoundaryToDelete: UInt64) { - let ExecutionNodeVersionBeaconAdminRef: &AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin} + let ExecutionNodeVersionBeaconAdminRef: &ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin prepare(acct: AuthAccount) { pre{ ExecutionNodeVersionBeacon.getVersionTable().length > 0 : "No boundary mapping exists to delete." } - // Borrow a reference to the ExecutionNodeVersionAdmin implementing resource - self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&AnyResource{ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin}> - (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionKeeperStoragePath) + // Borrow a reference to the ExecutionNodeVersionAdmin resource + self.ExecutionNodeVersionBeaconAdminRef = acct.borrow<&ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin> + (from: ExecutionNodeVersionBeacon.ExecutionNodeVersionAdminStoragePath) ?? panic("Couldn't borrow ExecutionNodeVersionBeaconAdmin Resource") } execute { - // Add the new version to the version table + // Delete the version from the version table at the specified block height boundary self.ExecutionNodeVersionBeaconAdminRef.deleteUpcomingVersionBoundary(blockHeight: blockHeightBoundaryToDelete) } diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc index 7ad1ed06d..46ce3910c 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc @@ -1,6 +1,7 @@ -import ExecutionNodeVersionBeacon from 0x02 +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS /// Gets the current version defined in the contract's versionTable +/// or nil if none is defined pub fun main(): ExecutionNodeVersionBeacon.Semver? { return ExecutionNodeVersionBeacon.getCurrentExecutionNodeVersion() } diff --git a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc index 26f02511e..126983e91 100644 --- a/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc @@ -1,11 +1,11 @@ -import ExecutionNodeVersionBeacon from 0x02 +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS /// Gets the current version defined in the versionTable -/// as a String -pub fun main(): String { +/// as a String or nil if none is defined +pub fun main(): String? { if let version = ExecutionNodeVersionBeacon.getCurrentExecutionNodeVersion() { return version.toString() } else { - return null + return nil } } diff --git a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc index bad25d255..fd6844e2c 100644 --- a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc @@ -1,6 +1,7 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS /// Returns a Bool signifying if the given version is valid at the given block height -pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool { +/// or nil if the given block height is beyond the current block height +pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool? { return ExecutionNodeVersionBeacon.isCompatibleVersion(blockHeight: myBlockHeight, version: myVersion) } \ No newline at end of file From 899e1c759dc2c5c7aa7154487fb3f78bfda18714 Mon Sep 17 00:00:00 2001 From: Satyam Agrawal Date: Tue, 20 Sep 2022 12:46:24 +0530 Subject: [PATCH 16/21] minor improvements --- contracts/ExecutionNodeVersionBeacon.cdc | 17 ++++------------ flow.json | 19 ++++++++++++------ lib/js/test/flow.json | 14 +++++++++---- lib/js/test/package-lock.json | 20 +++++++++---------- lib/js/test/package.json | 3 --- .../delete_upcoming_version_boundary.cdc | 6 +++--- 6 files changed, 40 insertions(+), 39 deletions(-) diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index bdc047093..8c7dc44eb 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -67,15 +67,7 @@ pub contract ExecutionNodeVersionBeacon { /// Returns true if Semver core is less than /// passed Semver core and false otherwise pub fun coreLessThan(_ other: Semver): Bool { - if self.major < other.major { - return true - } else if self.major == other.major && self.minor < other.minor { - return true - } else if self.major == other.major && self.minor == other.minor && self.patch < other.patch { - return true - } else { - return false - } + return !self.coreGreaterThanOrEqualTo(other) } /// Returns true if Semver core is less than or @@ -154,7 +146,6 @@ pub contract ExecutionNodeVersionBeacon { /// Could be helpful in case rollback is needed pub fun deleteUpcomingVersionBoundary(blockHeight: UInt64): Semver { pre { - ExecutionNodeVersionBeacon.versionTable.length > 0: "No version boundary mappings exist." ExecutionNodeVersionBeacon.versionTable.keys.contains(blockHeight): "No boundary defined at that blockHeight." ExecutionNodeVersionBeacon.upcomingBlockBoundaries.contains(blockHeight): "Boundary not defined in upcomingBlockBoundaries." } @@ -188,7 +179,7 @@ pub contract ExecutionNodeVersionBeacon { ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." } - // New buffer should be within range of expected buffer varianca + // New buffer should be within range of expected buffer variance assert( UFix64(newUpdateBufferInBlocks) >= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance) && UFix64(newUpdateBufferInBlocks) <= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 + ExecutionNodeVersionBeacon.versionUpdateBufferVariance), @@ -254,7 +245,7 @@ pub contract ExecutionNodeVersionBeacon { return self.versionTable } - /// Function that returns the vesion that was defined at the most + /// Function that returns the version that was defined at the most /// recent block height boundary or null if no upcoming boundary is defined pub fun getCurrentExecutionNodeVersion(): Semver? { // Update both upcomingBlockBoundaries & archivedBlockBoundaries arrays @@ -338,7 +329,7 @@ pub contract ExecutionNodeVersionBeacon { } /// Removes historic block heights from array maintaining upcoming block version boundaries - access(contract) fun archiveOldBlockBoundaries() { + pub fun archiveOldBlockBoundaries() { // Check block height when function is called let currentBlockHeight = getCurrentBlock().height diff --git a/flow.json b/flow.json index 6ce619c09..f38300869 100644 --- a/flow.json +++ b/flow.json @@ -1,8 +1,9 @@ { - "networks": { - "emulator": "127.0.0.1:3569", - "mainnet": "access.mainnet.nodes.onflow.org:9000", - "testnet": "access.devnet.nodes.onflow.org:9000" + "emulators": { + "default": { + "port": 3569, + "serviceAccount": "emulator-account" + } }, "contracts": { "FlowClusterQC": "./contracts/epochs/FlowClusterQC.cdc", @@ -20,10 +21,16 @@ "LockedTokens": "./contracts/LockedTokens.cdc", "StakingProxy": "./contracts/StakingProxy.cdc" }, + "networks": { + "emulator": "127.0.0.1:3569", + "mainnet": "access.mainnet.nodes.onflow.org:9000", + "testnet": "access.devnet.nodes.onflow.org:9000" + }, "accounts": { "emulator-account": { "address": "f8d6e0586b0a20c7", - "key": "c33f601b3d88ca23bcdd77637eca81f905e3354d4229dce3cb1fd4920e7cbe66" + "key": "7677f7c9410f8773b482737c778b5d7c6acfdbbae718d61e4727a07667f66004" } - } + }, + "deployments": {} } \ No newline at end of file diff --git a/lib/js/test/flow.json b/lib/js/test/flow.json index d032ab32b..e7fda9fef 100644 --- a/lib/js/test/flow.json +++ b/lib/js/test/flow.json @@ -1,16 +1,22 @@ { + "emulators": { + "default": { + "port": 3569, + "serviceAccount": "emulator-account" + } + }, + "contracts": { + "ExecutionNodeVersionBeacon": "../../../contracts/ExecutionNodeVersionBeacon.cdc" + }, "networks": { "emulator": "127.0.0.1:3569", "mainnet": "access.mainnet.nodes.onflow.org:9000", "testnet": "access.devnet.nodes.onflow.org:9000" }, - "contracts": { - "ExecutionNodeVersionBeacon": "../../../contracts/ExecutionNodeVersionBeacon.cdc" - }, "accounts": { "emulator-account": { "address": "f8d6e0586b0a20c7", - "key": "cd7a030d7abaf43a2f6cccd91000f25035aff206e5f9e19b23d20d48ceee7d2c" + "key": "f2864ecaa8297dcf8e8e53896a19817e51159d18294e932aaf8ab53c2bb7ed3c" } }, "deployments": { diff --git a/lib/js/test/package-lock.json b/lib/js/test/package-lock.json index 3b98cabc8..dd3b6e973 100644 --- a/lib/js/test/package-lock.json +++ b/lib/js/test/package-lock.json @@ -5,12 +5,8 @@ "requires": true, "packages": { "": { - "name": "test", "version": "1.0.0", "license": "ISC", - "dependencies": { - "@onflow/flow-js-testing": "0.3.0-alpha.13" - }, "devDependencies": { "@babel/core": "^7.18.10", "@babel/preset-env": "^7.18.10", @@ -2679,6 +2675,7 @@ "resolved": "https://registry.npmjs.org/@onflow/flow-js-testing/-/flow-js-testing-0.3.0-alpha.13.tgz", "integrity": "sha512-vxyz6FViRfoS2H/BFAF+xbhRs5kQcu0p5Z9uhh19b4Xr4neK8oL21k5FajpKeKSqlO2zTsaHzmyf6E+2L55ECA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@onflow/config": "^1.0.3-alpha.0", "@onflow/fcl": "^1.1.1-alpha.1", @@ -4611,6 +4608,7 @@ "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", + "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, "bin": { @@ -6225,6 +6223,7 @@ "@jest/types": "^24.9.0", "anymatch": "^2.0.0", "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", "graceful-fs": "^4.1.15", "invariant": "^2.2.4", "jest-serializer": "^24.9.0", @@ -6494,6 +6493,7 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^28.0.2", "jest-util": "^28.1.3", @@ -9874,9 +9874,9 @@ } }, "node_modules/uglify-js": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", - "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.1.tgz", + "integrity": "sha512-+juFBsLLw7AqMaqJ0GFvlsGZwdQfI2ooKQB39PSBgMnMakcFosi9O8jCwE+2/2nMNcc0z63r9mwjoDG8zr+q0Q==", "dev": true, "optional": true, "bin": { @@ -17794,9 +17794,9 @@ "dev": true }, "uglify-js": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", - "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.1.tgz", + "integrity": "sha512-+juFBsLLw7AqMaqJ0GFvlsGZwdQfI2ooKQB39PSBgMnMakcFosi9O8jCwE+2/2nMNcc0z63r9mwjoDG8zr+q0Q==", "dev": true, "optional": true }, diff --git a/lib/js/test/package.json b/lib/js/test/package.json index d868d47b3..922520ae7 100644 --- a/lib/js/test/package.json +++ b/lib/js/test/package.json @@ -20,8 +20,5 @@ "babel-jest": "^28.1.3", "jest": "^28.1.3", "jest-environment-node": "^28.1.3" - }, - "dependencies": { - "@onflow/flow-js-testing": "0.3.0-alpha.13" } } diff --git a/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc index 8bd5bc586..ebd49394b 100644 --- a/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc +++ b/transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc @@ -1,4 +1,4 @@ -import ExecutionNodeVersionBeacon from 0x02 +import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS /// Transaction that allows ExecutionNodeVersionAdmin to delete the /// version boundary mapping in the versionTable at the specified @@ -9,7 +9,7 @@ transaction(blockHeightBoundaryToDelete: UInt64) { let ExecutionNodeVersionBeaconAdminRef: &ExecutionNodeVersionBeacon.ExecutionNodeVersionAdmin prepare(acct: AuthAccount) { - pre{ + pre { ExecutionNodeVersionBeacon.getVersionTable().length > 0 : "No boundary mapping exists to delete." } // Borrow a reference to the ExecutionNodeVersionAdmin resource @@ -23,4 +23,4 @@ transaction(blockHeightBoundaryToDelete: UInt64) { self.ExecutionNodeVersionBeaconAdminRef.deleteUpcomingVersionBoundary(blockHeight: blockHeightBoundaryToDelete) } -} +} \ No newline at end of file From 31cdf05a77a5bac5198b8d510441564822e049e9 Mon Sep 17 00:00:00 2001 From: Satyam Agrawal Date: Tue, 20 Sep 2022 12:56:58 +0530 Subject: [PATCH 17/21] update go assets --- lib/go/contracts/internal/assets/assets.go | 6 +++--- lib/go/templates/internal/assets/assets.go | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index 7d6930652..de300fa8b 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.816kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.38kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\xdb\x6e\x1b\x39\x96\xef\xfe\x8a\x93\x3c\xb8\xa5\xb4\x2d\x27\x8b\xc5\x62\x61\x58\x1e\xc4\x9e\x64\x26\x40\x23\x3d\xc8\xa5\xe7\x21\x30\x1a\x54\xd5\x29\x89\xeb\x2a\x52\x4b\x52\x92\xb5\xe9\xfc\xfb\x82\xd7\x22\x8b\x55\x72\xc9\x49\x2f\x66\xf5\x92\x48\xc5\x3a\x3c\xf7\x2b\xe9\x8b\x8b\x0b\xf8\xb4\xa2\x12\x0a\xce\x94\x20\x85\x02\x2a\x61\x23\xb1\x04\xc5\xa1\xc4\x8a\x32\x2c\x61\x51\xf3\xe2\x1e\x56\x48\x97\x2b\x05\x84\x95\x20\x79\xa5\x76\x44\x20\x6c\x51\x48\xca\x19\x2c\xf8\x86\x95\x44\x50\x94\x27\x1a\x62\xc5\x05\xa8\x15\xb6\xeb\xc4\x86\xc1\x62\x0f\x6f\x1e\xb0\xd8\x28\xfd\xc2\x7b\x5e\xa2\x9c\x9d\xac\x37\x8b\x76\xe7\xf0\x54\x3f\xfc\xcd\x42\xbe\x41\x52\x70\x06\x5f\x4f\x4e\x00\x00\x34\xec\x8f\x4a\x6c\x0a\x05\x02\xd7\x02\x25\x32\x45\xd9\x32\xc7\x87\x48\xf8\x88\x0d\x61\x8a\x16\xe0\x20\x05\x00\xa4\xe6\x6c\x09\x3b\xaa\x56\xb0\xc2\x7a\x8d\x02\xaa\x0d\x2b\xf4\xbe\x32\xac\x79\xcb\x05\x08\xac\x50\x20\x2b\xf0\x0c\x24\x22\xac\x94\x5a\xcb\xcb\x8b\x0b\x89\xcd\x16\xc5\x8c\x8b\xe5\x85\x59\xae\x49\x90\x16\xa7\x8f\xe6\x11\x7c\x35\xbf\x7b\x50\xb7\xbc\x59\x73\x86\x4c\x49\xcb\x4f\x8d\x2f\x01\xe9\xb1\xdb\x46\xd8\x79\x70\x35\x2a\x68\xc8\x7f\x71\x71\x09\x9f\xdf\x31\xf5\x9f\xf9\x43\xca\x86\x1f\xae\x89\x2a\x56\x83\x0f\x05\x7e\xc0\x1a\x89\xc4\x4b\xcd\x49\xca\x96\x7f\x39\x49\xd0\xfd\x8d\xd4\x1b\x84\x12\x19\x37\x9c\x2d\x78\xb3\x26\x8a\x2e\x68\x4d\xd5\xde\x32\x6d\x2d\x70\x4b\xf9\x46\x7a\xd4\x65\xb6\x09\x95\x37\xa4\xb8\xdf\x11\x51\xca\x5b\xf7\x7e\x8d\x97\x70\xc3\x79\xdd\x6e\x46\x19\x55\x93\x98\xca\xb3\x84\xac\xb3\x84\x8e\xb3\x3e\xc4\xcf\x0e\x6d\x34\x8d\xc4\xa0\x3f\x12\xeb\x6a\x66\xb6\x83\xb9\x65\x6e\xcf\x63\xbd\xbf\x7e\xac\xff\xcd\x1f\x1b\x84\x60\x6e\x11\xeb\x79\x1c\x30\xd4\x6b\xc2\x97\x7c\x61\x2f\xd6\x30\xef\xa7\x26\xbc\xfe\x2d\x95\xd3\x07\x54\x1b\xc1\x82\x10\x80\x32\xaf\x7e\x15\x17\x0d\x51\x30\xc1\xd9\x72\x06\xdb\x2b\x43\xeb\xf5\xec\xca\x10\x75\x3d\xbb\x32\xd8\x5f\x9f\x5f\xb5\x18\x5e\x4f\x13\xc8\x44\x02\x71\x2c\x4e\x24\x5b\x6d\x18\x28\x6e\x1f\x4c\xa6\x5e\x0a\x1d\x36\x6b\xf1\x5b\x0b\xb9\xe5\x02\xdd\x92\x79\xc4\xfd\x59\x0b\x22\x79\xd1\x7c\x66\x05\x67\x05\x51\x93\xe7\xb3\xe7\x07\x9e\xe6\x4f\x52\x09\x1e\xdc\x62\xfa\xdd\x7b\x18\x06\x1e\xde\x23\xf9\xc9\xf8\x00\x0d\x54\x2b\xc5\xb9\x70\x2a\x42\x2b\xa0\x0a\xf0\x81\x4a\x25\xe1\x14\x84\x11\x67\xf2\x1e\xad\x32\xbd\x7a\x36\x07\x46\xeb\x0e\xcb\xf5\xc7\xbe\x9e\x71\x3e\xd0\x7a\xfe\x3c\xd0\xdd\x81\xf9\x2c\x45\x36\xd2\xb2\x03\x70\x7b\x95\xf2\x05\xdc\x6e\xa4\xe2\x8d\xf1\x78\x44\x10\xc5\x85\x84\x17\x17\xfd\x6a\xab\xc4\xc6\xf0\xc0\xe9\x6c\xc1\x05\xea\xc8\xb3\x14\x48\x14\xea\xe0\x41\x58\xf2\xde\x9a\x48\x1d\x94\xe2\xe5\x3a\x10\x55\xa4\x96\x08\x5c\xad\x50\xec\x68\x64\x6b\x5e\x5f\xf5\xc2\xbf\x59\x98\x9f\x56\x84\x4d\x7e\xb7\x6b\x2f\x1d\xa0\xa9\xf5\x15\x1d\x86\xd2\x0a\x26\x91\xbb\xb8\xb6\xef\xd8\x6f\x5d\xb7\x12\x31\x49\x93\x94\xf2\x12\xb0\xb6\x92\x8e\xc1\xcd\xe7\x31\x3c\x38\x3d\x8d\x7d\x4f\xd8\x4b\x7f\xfb\x93\xf7\x6a\x1f\x9a\xaf\xfe\xa1\xf5\x72\x1e\x11\xf3\xed\x09\x88\x0c\xbe\x60\x24\xd6\x51\xb9\x3e\x6d\x3a\x4e\x57\x20\xf2\xd7\xfa\x55\xfc\xef\x0d\xa9\x75\x0a\xf3\x63\xf4\xe6\x57\xf1\x46\x03\xfc\xc4\xc7\x29\x50\xb0\x9a\xba\x9a\x75\x35\xd0\xbc\x3e\x85\x3f\xfe\x68\x1f\x7b\xd8\xf6\xd1\x13\xb9\x51\xa3\x94\x3f\xd4\x6c\x7e\x41\x29\x8f\xb2\x99\x48\xef\xae\x12\xb5\x7b\x8a\x16\x8f\x55\xe2\xab\x44\x87\xff\xcc\x9d\x0e\x9a\xcb\x55\x6c\x2e\xff\x92\xd6\x12\xf4\xe3\xcf\x30\x15\xaf\x2b\xdf\x69\x27\x41\xe5\x7e\xb4\x91\x50\xd9\x25\x33\x79\xeb\x29\x24\x3f\x99\xd0\xef\x55\xb5\xf0\x30\x4d\x43\x47\x33\xe2\x05\x3e\x90\x42\xd5\xfb\x17\x63\x58\x32\x86\x1b\x52\x09\x5a\xa8\xef\x12\x7c\x2a\xdc\x96\xe0\x28\xa3\x0e\x54\xe7\x89\xb5\x35\x89\x6f\x6d\x89\xf8\x66\x8b\x4c\x01\x36\x54\x29\x2c\x81\xb0\x3d\x28\xda\x20\x10\x28\x56\x84\x2d\x8d\x39\x34\xa4\x44\x4d\xba\x4b\x9f\x3f\x11\x9f\x6a\x6b\xaa\xd0\xbc\xdf\x57\x8e\x9a\x75\xaf\xcb\x92\xea\xdf\x27\xb6\x22\xb6\x25\xca\x7f\xfc\xfb\x99\x07\x16\x68\x1f\x0b\xf0\xaf\x58\xe3\x38\x80\x8f\x91\xa8\x8b\x6e\x5f\x11\x6c\xd6\x25\x51\x08\x8b\x4d\x55\xa1\x80\x35\x0a\xca\x4b\xe0\x02\xb6\x44\x50\xc2\x0a\xc3\x06\xbb\xa6\x1c\x81\xe8\x67\xb3\xf2\xc6\x00\xbb\x35\x6c\x2c\x27\x0c\x77\x3d\x4f\x3d\xfa\x63\xc8\x8f\xdf\xfb\xcd\xe1\x75\x18\xba\x5f\x75\x09\x9f\xdf\xd2\x07\xbd\x4b\xe0\xc9\x2d\x61\x9c\xd1\x82\xd4\x20\x15\x17\x64\x89\xba\x52\x5b\x99\x66\x44\xdf\xde\xaf\xcb\x86\xb2\x80\xa3\x2e\x5c\x06\x57\x7d\xb4\xf0\xfe\x41\xd4\x4a\xd7\x3d\xe1\x4b\xbb\xb7\x91\x23\x94\xb4\x50\xc4\xd4\xcd\x0d\x65\xb4\xd9\x34\x41\x18\xe7\xf0\xd5\x74\x51\xfe\xee\x24\x6c\x05\xfa\xad\xed\x6a\xac\xf8\xa6\x2e\x61\x81\xc0\x45\x89\x02\x4b\x58\xec\xd3\xbe\xcb\x84\xb2\x12\x1f\xa6\xb0\x5b\xd1\x62\x05\xb4\xed\x55\x20\xab\xb8\x28\xec\x1b\x94\x49\x14\x9a\x82\x8b\xd2\xe9\x94\x59\x46\x8a\x02\xa5\x9c\xf8\x4e\xcb\xd4\x50\x1b\xab\xfe\x25\x7c\xb5\x42\x6b\x31\x0b\xf0\xdf\x6f\x9a\x05\x0a\xe0\x95\xc5\x47\xc2\x02\xd5\x0e\x91\xa5\xe8\xed\x56\xc8\xba\xed\xa0\xbd\x56\x31\xdf\x44\x22\xac\x0c\x20\x63\x35\x0d\x6b\x17\xa8\x19\xe7\x96\xcf\x6c\x87\x08\x0a\xc2\x00\x1f\xd6\x58\x28\x1d\xbc\x94\xb3\x60\xa9\x4d\x37\x02\xd2\x9a\xaf\x83\xbe\x87\x1d\xad\x6b\x58\x91\x2d\x02\x51\xa0\xfd\x85\x06\xa0\xe3\x20\x67\x4b\xfd\xb6\x40\xb9\xe6\xcc\xb4\xb9\x48\x86\x4b\x3f\xd3\xb6\x44\xf8\x95\x7d\xfa\x1e\xb5\xa8\x50\x39\xa4\x89\x69\x2b\x81\xc0\x25\x11\xa5\x26\x6f\xc5\x77\xd0\x6c\x8a\x55\x8c\x7d\x0c\xcc\x10\xbc\xb5\xec\xb0\x5c\xee\x69\xb1\x1d\x83\x5d\xd7\x5e\x22\x2c\xb9\xd0\xbe\xe3\xb5\x10\x64\x6f\x9a\x70\xc4\x36\xa7\xaa\x8d\xda\x08\x4c\xa4\x2b\xb5\x78\x75\x70\x3c\x24\xe1\x00\xf8\x9f\xf8\x53\x5d\x43\x43\xa8\x01\x69\xd9\x4e\x24\x20\x91\x7b\x68\x50\x4b\x90\xca\xc6\x98\x65\x89\x0a\x45\x63\xb7\x5d\x0b\xfe\x40\x1b\x52\xb7\x5b\x18\x04\xc6\x90\xbd\x59\x17\xbc\xa1\x6c\x79\xa3\xdf\xb8\x09\x2f\x5c\xc2\x17\x2b\x99\xbb\xc7\x89\x5e\x51\xed\x33\x8c\xf3\xe8\x23\x3c\x17\x02\xec\xf4\xef\x31\xe9\xbd\xa8\x11\x51\xac\xe8\x16\xcb\x11\xa8\x19\x4f\xa3\xf5\x92\x6f\x44\x81\x56\xdd\x1b\xc2\x88\x51\xf7\x15\x76\x9a\xa7\x1e\x25\x5f\x8d\x6b\x08\x9e\xe5\x58\x82\xe7\xbb\xc7\x26\xf8\xb9\x00\x7f\xd0\xd9\x75\xfa\x97\x56\x99\x0c\x06\x5d\xa7\xa6\x8d\x90\xdc\x23\x60\x55\x69\x03\x25\xca\xac\x5a\xd2\x6d\xc7\x39\x64\x29\x03\x29\x4b\xdf\xdf\x75\x7a\xf4\x89\x1b\x1b\x9e\x28\x22\x96\xa8\x6e\x62\x57\xe9\x83\x61\x1b\x0f\x42\x3c\xec\xa4\x15\x6b\xd1\x97\x4a\x67\x20\xe1\x1a\x96\xa8\x6e\x37\x42\x20\xb3\xbf\x4f\xa6\x33\xe7\xc6\x7e\x3e\xd0\x85\x9e\xf5\x98\x57\x6f\x9f\xe8\x12\x9e\x7f\x32\x9b\xa6\x2e\x92\x17\xc5\x46\x68\xd7\xc5\x41\x72\xcb\x3e\x17\xa3\xdf\xbc\xf7\x3c\x9d\x3d\x3f\xd4\x8e\xb9\xb8\x80\x77\xc6\xc3\x43\x43\xd6\x6b\xad\xb7\x94\xb5\x49\x8c\x22\x71\xbf\x50\x7f\x1e\xa7\xc5\x70\x7d\x66\xc3\x46\xde\xf4\xba\xc7\xfd\x65\xce\xbf\xb3\x6c\x5d\x2b\x9a\xe4\x51\xd6\x07\x73\xc8\xf7\xb9\xff\x9f\xa4\xdb\x28\xe5\x99\xa1\x4f\xad\xb0\x0b\x89\x18\x03\xf6\x0a\x6f\x7a\xea\x75\x1d\x1c\x41\x0a\xa3\xe3\x42\x46\x30\xc7\xf2\xe3\x73\x8f\x5b\xd9\xe7\x1a\x3a\x4d\x65\xa4\x73\xb2\x23\x72\xc7\x9c\xbb\x6d\xd6\xd7\xb2\x75\xb0\xe0\x31\xa9\xa3\x73\x10\xb5\x0e\x72\xc8\x94\xf6\xca\x2c\x09\x8d\x2e\x69\xb0\xde\x4a\x02\x61\x2d\xa7\x7a\x43\x1f\x84\xd9\x85\x4b\x4a\x56\x58\xaf\xab\x4d\xad\xe1\x16\x3a\x1d\x17\xbc\xae\x17\xa4\xb8\xd7\xee\x9f\x21\x96\x51\xf5\xe0\x6d\xdc\x24\x20\xe8\x79\xd8\x31\xf7\xc9\x22\xb7\xf0\xe9\x65\x3e\x40\x81\x41\xab\x1e\xab\xda\x35\xb2\xa5\x5a\xc1\x35\xbc\xbc\x84\xe7\xef\x79\x1e\xc0\x9c\x25\x49\xdb\x8b\xed\xd8\xdf\x31\x3b\xdd\xe3\x5e\xce\x5c\x48\x91\x31\x81\x53\xbb\x73\xd8\x31\x64\x44\x2e\xa7\x89\x96\x1e\xb7\xfd\x40\xdc\x1b\x44\xc2\x73\x1f\x18\x57\x01\x0b\xca\x86\xe2\xe7\xa3\xbe\xe8\x0d\x93\x1b\x13\x04\x6d\xaa\xe9\x1d\x9c\x99\x12\x21\xe3\x9b\xe5\xca\x56\x25\x3a\xd4\x33\x93\xce\xb5\x89\x57\x02\x4b\xd7\x9f\x7d\xfe\x67\xf1\xe7\x38\xed\xdc\x81\x35\x28\x25\x59\xe2\x25\x3c\xbf\x25\xcc\x72\x47\x6b\x6f\xae\x2d\x9a\x36\x3a\x5c\x5b\x45\x69\x84\xd7\xab\x0e\x17\xa7\x19\x17\x3f\x60\xc3\xb7\x69\xe9\xe6\xbd\xbb\x2e\xbf\x07\x84\xa3\xd7\x33\xeb\x6c\x4c\x79\x95\x4d\x61\x84\x01\x5b\x06\xa3\x9a\x8f\x56\x64\xfb\xe6\x40\x34\x88\x44\x92\xd2\xf5\x6c\xac\x73\x1d\xd2\xb6\xa1\x6d\x89\xba\x7c\x0a\xb8\x8a\x0a\xa9\xde\xe9\x9a\x69\xc2\xab\x04\xef\x0e\xaa\x47\xf9\xef\xac\x54\x5f\xf4\x7a\x6e\xc7\xfc\x5c\xd8\xb7\x35\x1a\xef\xdb\x3a\xe0\xd3\x90\x23\x66\x19\x2f\x2c\xb0\xe2\x22\x8b\x7d\xb6\x7b\xa2\xdf\x75\xdb\x04\xbd\xd1\x86\xb6\x45\x41\x2b\x5a\x10\xd5\x8d\xc6\x07\x78\xe8\x30\xf8\xb5\xee\xe6\xa9\x9d\xe9\x96\xeb\xdb\xb8\x6d\x87\x62\x92\x35\x35\x1b\x93\x58\xb7\x78\xb4\x69\xed\x46\x2a\x6f\x3c\x1b\xbf\x7a\xa0\xa2\xf3\x50\xb5\x2d\xe8\x05\x96\x49\x0e\x6e\x6c\x34\xd4\x67\x10\xaa\x6f\x72\x69\x0b\xc7\x9e\x86\xc2\x84\xe1\x2e\xfe\xfe\x8e\x19\x1e\xc8\x10\x96\xba\xe1\x88\x4b\xf5\xa4\x78\x94\x94\x79\xf3\x39\x0c\xee\xfb\xfc\x73\xe2\x5d\x76\x44\x1a\x87\xbd\x16\x7c\x8d\xa2\xde\x3b\x52\xca\x67\xf0\x01\xb7\xa8\xcb\x99\x47\x1d\xf5\x7b\xdc\x79\x68\x32\x34\x1a\x9c\x2b\x13\xa6\x25\xc6\x2b\x57\xb1\x6a\x35\xb4\x2b\x5d\x9f\x88\x8c\xf2\xd4\xb6\xb8\x1c\xe2\xe5\x14\xae\xe7\x7e\xc9\x71\x8c\x9a\xc2\x0b\x98\xbc\x9a\xbd\x84\xf3\x23\x39\xec\xeb\xde\x29\x9c\x9e\x1e\x8d\xed\xd5\xf7\x62\x7b\x6c\x44\x0a\xd8\x3e\x12\x9a\x80\xb3\xa0\x00\xbd\xed\x83\xc5\x5e\x27\xc2\x7c\xa7\x9d\x82\xef\xf3\x55\x82\x37\x36\xbb\x31\xa9\xb1\x59\xf8\x68\x54\xfa\x1b\x2a\x28\x6c\xb4\x4d\xb3\xe9\x53\x28\x32\x1f\xd6\x5b\xaa\xfb\x4f\xdd\x42\x8a\x8b\xb0\xf9\x60\x3c\xff\x11\x5e\x2b\xb3\x00\x1e\xfb\xd5\x70\xb0\x09\xf7\x9c\x95\x29\x9d\x67\x20\x49\x65\x7a\xc3\x8d\xae\x6d\x5d\xc3\xa9\x3b\xec\x7a\x42\x40\x72\x99\xe8\x7c\x0e\x2f\x7f\x80\xff\x18\x72\x1f\xe3\xc6\x4b\x4e\xc0\xda\x7d\x86\xbe\x4b\x2b\xcd\x6e\x29\x10\x4b\x92\xe1\x83\x4a\x0a\xa2\xc3\x89\xc5\x00\x33\xbe\xbc\xbc\x3b\xe9\x43\xca\x65\x94\x26\x48\x68\xe4\x76\xf8\x93\x40\xe3\xfd\x9c\x8c\xea\x90\x82\xe9\xc7\xbc\x36\x59\x17\x6b\xdd\x9b\x4d\xc5\xfa\x40\xf3\xca\x06\x24\x7c\x50\xbd\xe5\x61\x4e\xee\x90\xaf\xd3\x9f\x1e\x85\x3e\xd6\xe6\xe1\xaa\x87\x99\x3d\xce\x6a\x70\xbb\x01\x0d\xe8\x83\x9b\xbb\x15\x48\x5c\x8b\x81\xd3\x7a\x07\x60\x7c\x07\x0b\x81\xe4\x5e\xe6\x29\xb0\xcb\x7d\xe3\x06\xe7\x0c\x3e\xf9\x07\x11\x10\x52\x29\x0d\x4a\x33\xbc\x0b\xa4\xa7\xce\x99\xf6\x2a\xc4\x3f\xd1\x74\x44\x35\x3e\xda\x2c\x5b\xe7\x37\xd0\x3f\xfd\x3f\xb2\xab\x91\x29\xe3\x31\x43\x93\xa1\x60\x34\x26\xcb\x0a\xae\x7e\x8d\xa2\x40\xa6\xc8\x12\x75\x24\xb0\x55\xff\xa1\x4e\xf3\xc2\x3b\xb8\x74\xfa\x67\x0f\x01\xda\x2c\x0d\x43\x27\xfa\xe5\xec\xa5\xc9\xc2\x5e\xcd\x5e\x8e\x4f\xaf\x7c\x64\x9b\xfc\xde\xa5\x30\x9b\xe4\x8c\xaa\xfb\x07\x80\xe8\x04\x43\xe3\x77\x7a\x3a\xb8\xe2\x6a\xae\x31\x07\x5d\x07\x27\x09\x4e\x4b\xe8\xd6\x90\x1d\xc8\x75\xc4\x76\x93\xab\x04\xc7\x1f\x91\x0c\x06\x0c\xf3\xa4\xb0\xe5\x51\x27\x29\x0c\xb8\x7f\x6f\x76\xf8\x54\x54\x87\x30\x3d\xde\x30\x8e\x9d\xfb\x0d\x6c\x1c\xf9\x8f\x6c\x20\x1c\xa6\xe1\x2b\x0c\xc1\x7e\x13\xdb\x82\xab\xe0\x5d\x68\xb1\x76\xd3\x39\xac\x1c\x80\x39\xbb\x21\x52\x87\xaa\x32\x29\x41\xcc\xd0\xc9\x44\x2b\x43\xcb\x49\x6c\x21\x4b\x54\x7d\xd5\xc7\xd4\xd7\x19\x91\x1a\xc5\xe3\xf1\x21\x1f\xf7\xff\x82\xba\x60\xfc\x53\x6f\xe4\xe3\xa9\x4c\x14\xaa\x87\x5a\x02\x05\x5f\xef\x7d\x58\xaf\x36\x75\x1d\x77\x5f\x7a\xe7\xfa\x29\xa2\x76\xe0\x30\xcd\x47\x9f\x87\x71\x6c\x41\x46\x48\xbd\x75\x27\xc8\x6d\xe6\x22\x22\x81\x6c\x51\x86\xdf\xb5\xad\x26\xcd\x3f\x84\x86\x4b\x15\xa0\x08\x2c\xb2\x74\x3b\x84\x5d\x9d\xe7\x68\x22\x69\x05\x8c\xe7\xc9\x5a\x77\x10\x17\xd1\xeb\x92\xec\x3e\x3b\x9c\x84\xa6\xeb\x5f\x92\xb1\x8f\x9f\xfa\x2c\xb8\x5a\x0d\x76\xa0\x4e\x87\xa6\x5b\xb6\x3b\xdf\x86\x4c\xc3\xbe\x51\xd9\x7a\x90\xaf\x39\xe7\x6a\x49\x8d\x47\x73\xed\x16\x66\xb4\xbb\xd0\x7e\x3a\xa6\x1a\xa2\xa3\x68\x7d\x6d\x60\x93\x7c\xfb\x63\x45\x03\xd8\x1f\x48\xd4\x45\xc0\xad\x3f\x2a\x7b\xe4\xbb\xbd\x3c\x7b\x9d\x22\xf4\xe8\x07\x86\x8d\x79\x26\x3a\xa4\x7e\x6e\x78\x38\x19\x43\xc6\x39\xbc\x9a\xde\x0d\x1a\x11\x73\x93\x94\x68\x14\x9a\x35\x59\xb4\xe6\xda\x4c\x22\x0c\xac\xe2\x61\x3e\x91\x92\x17\x94\xa8\xa8\x0f\x15\x94\xf2\x1c\xbe\x2c\xe2\x3c\x74\xf0\x68\xcb\x5d\x00\xf7\xce\x18\xb4\x3d\xb4\x16\x2b\x7a\x06\xdb\xc9\xfd\x2c\x98\x1b\x36\x6b\xb5\x77\xf4\x9c\xc3\x97\xbb\xae\x1d\xbc\xc7\x07\xd5\x99\x43\xfc\x83\x50\xe3\x82\xbf\xbc\x66\x7b\x7b\xb1\xe4\xce\xdf\x35\x49\x0d\x61\xc8\x06\x24\x87\x1d\xc2\xbd\xce\x4f\x6d\xad\x62\x0a\xf4\x12\x49\x4d\xfd\x25\x13\x3f\x4f\xcf\xab\xe3\xa3\xec\xe2\x3d\x87\xb7\x5d\x48\xc1\x9b\xfc\xfa\x01\xcc\xf4\xcf\xcb\xd1\xb0\xce\xdf\xcf\x30\x8e\x3b\x06\xe5\xd4\x2a\xe6\x17\x91\x8e\xeb\xc4\xd4\x5b\xf1\x1e\x8a\x9b\x34\x91\xb3\x02\x85\xde\x4b\x13\x95\x19\xdb\x98\xa2\xd7\xdb\xdd\xa0\x61\xf6\x1a\x9b\x93\x63\x6e\x6b\x37\x7b\xb0\x6c\xb7\xec\x6f\x8b\xbb\xd0\xab\x37\x02\x49\x11\x4f\x4e\xa4\xc8\x18\x9c\x89\x22\x54\x48\x05\x58\x63\xa3\xfd\xb0\x2b\x32\x87\x44\x6f\x18\xd7\x35\xd5\x2f\x09\x09\x87\x58\xf3\xe5\xe5\xdd\x59\xbe\x38\xb1\xf2\x47\x5e\x6f\x19\x93\xd9\xf7\xed\x0a\x75\x25\xb8\x5b\xa1\x96\xaa\x1b\xc9\x87\x38\x4e\x64\xb8\xd7\x53\x63\x3a\xb6\x1f\x70\x4d\x89\x29\xd1\xe8\x7a\x8a\x8f\x23\x3d\xf3\xbc\xfc\xf8\x9a\x3d\x0b\x18\x47\x1a\x5a\x8d\x9d\xf1\x1c\xe9\x88\xdf\x52\x56\x66\x37\x95\x5a\xd5\x38\x85\x42\x73\x28\x3b\xd1\xd0\x99\x9b\xc6\x10\xc3\xb4\xae\xeb\xa4\x69\x15\x1f\xa7\x8a\xda\x22\x46\x7c\x12\xb5\x81\xbf\xe5\xe2\xb6\xe6\x12\xa5\xfa\x7b\x60\x70\x3a\x56\x8e\xe7\x13\x3d\x77\x6a\x1c\xa2\x8e\xdd\x1e\x78\xa2\x2d\x1d\x04\xee\x9e\xe5\xf3\x3a\x6a\xb4\xa1\xd3\x34\xef\x9c\xa3\x6f\x8f\x85\xc6\x47\x3e\xa4\x8a\x1d\x7c\x17\x70\x32\xc9\xec\x6f\xa8\x5c\x5c\xc0\xaf\x1f\xba\xbf\x0c\xef\xa0\x11\x5b\xf8\xdb\x50\x91\xb6\xf6\x69\x41\xde\xa1\xf1\x87\x29\x06\x8f\xf1\xa7\xec\xcc\xaf\xf0\x9c\x9e\x06\x18\x87\x6f\x65\xf9\x4f\x0e\xe2\x8f\x3f\x3a\x42\x7b\x04\xd2\xb7\x58\xd9\x5e\x4b\xb9\x31\x51\x8f\xf1\x56\x8b\x83\xf6\xda\x5b\x43\x67\xfd\x87\xc4\xb3\x1f\xe3\x34\x95\xba\x21\x0a\x91\x05\xb2\xd2\x5e\x9d\x14\xaa\x3d\x36\x08\xe6\x90\x61\xb8\xbf\xe9\x8e\x84\x67\x9e\x20\x3b\xea\x64\xdc\xc2\x81\x43\x13\xbf\xe7\xe7\x1c\xfa\xe6\x2b\x79\xbc\x3d\x3c\x1e\x23\x1a\x3b\xce\x7a\x1b\xd5\x4f\x8b\xb2\x21\xfb\x70\x71\x70\xc8\xf9\x6b\x06\x65\xe7\x8a\xb4\xce\xda\x8e\x32\x49\x03\xee\x60\xa3\xfc\x0c\x24\x6d\xd6\xf5\x1e\x74\x92\xc8\xf2\x1c\x76\x44\x58\x3d\xe9\x28\x5d\xdf\x71\xa7\x83\x81\x64\xcc\x46\xe7\xf0\xea\xae\xef\x42\xe5\xd0\x6b\x96\x9c\xbe\xb3\x32\xad\xba\x67\xee\x5a\x6b\x9c\xd5\x3f\x57\xd4\x15\xd6\x65\xa6\x49\x72\x7b\x91\x41\x2f\xb1\x3b\x04\x50\x5b\x22\x80\x42\xcc\x95\xdd\x8a\xd6\x78\x98\x01\xf4\x0e\xae\x7a\xd8\xd6\xb9\xe0\x02\x73\xa0\xf0\x33\xbc\xea\x37\x58\x77\xb2\xc9\xc5\xd2\x92\xca\x82\x6f\xcd\x31\x5e\xb2\x5e\x0b\xbe\x16\x3a\x3f\xb6\xc4\x9d\x8c\x62\xa0\x3b\x91\x45\xd4\x25\xd0\xb3\x1c\xb9\x69\x9e\xd0\x37\x7c\xab\xcb\x22\x17\x5e\x3a\xa7\x18\xcd\x08\x28\x3f\x33\xd5\xd1\xcb\xb1\x47\x4d\xcd\x11\xbe\x61\x83\x4a\x0d\xda\xa4\x22\x3d\x67\x85\xfd\xa5\x6b\x6d\x35\x05\xa9\xeb\xa8\x82\x3b\x7e\x62\x94\x6c\x58\x23\x11\x91\xd7\xcc\x19\x31\x64\xd4\x2e\xe1\x4b\x13\x3b\x37\x7a\xb6\x1a\x6d\x8e\x0b\xf7\xd7\x5b\x47\x68\x5c\x74\x28\x29\xdc\x75\x18\x4e\xf3\xe0\xaa\x8f\x19\x79\x8a\xd0\x87\x57\x48\x43\x0e\x1f\xba\x78\xab\xf3\xde\xce\xac\xff\x60\x6d\xe9\xec\xbb\x77\xcb\xe9\x70\x1f\xee\x86\x32\x8d\x93\xcd\x89\x80\xd4\x4b\x2e\xa8\x5a\x35\x9a\xab\x95\xf6\x00\xde\xe0\x6d\x23\xf6\x1e\xf3\x83\x6c\x26\xcd\xa0\x12\xae\xe6\xfe\xb8\xa0\x59\x3b\xac\xa7\x63\xf3\x2f\x1f\xa1\xa2\xd3\x68\xf6\x3f\xfd\x8d\x91\x10\x94\xcc\x0d\x99\xfc\xc4\xf4\x77\x97\x7b\x69\x1b\xa4\x7b\x32\xc2\xdc\x68\x32\xe5\x9b\x39\x5a\x15\xa5\xed\x31\x8c\x01\x84\xfe\xb5\x7b\x27\xa6\x43\x92\x26\x92\x86\x03\x56\xda\x21\xc4\x9e\xf4\xa8\xfe\x2f\x6e\xf3\x31\x28\xc6\x24\x3b\xd8\xd7\x87\x5f\xfc\x92\xee\xd2\x13\x12\xe3\x76\xcd\x78\x20\x03\xec\xf8\xab\x11\x8d\xb7\x15\xc3\x0a\x99\xc4\xb9\x1a\x2b\x95\x84\x3a\xfd\xa3\x70\x9e\x32\xd9\x26\x06\xfb\x0b\xe7\x6b\xd8\x30\x45\x6b\x0f\x7a\xcd\x29\x53\x28\x24\x14\x82\xcb\xae\x1b\x33\x9b\x5c\x39\xb0\x29\xb5\x7a\xbb\x86\x96\x30\x87\x89\x59\xf5\xb3\x5d\x35\x85\x0b\xf8\xb7\x34\x74\x56\x87\x59\xd2\xd0\xf2\x4e\x6b\x8c\x13\xc3\x81\xdb\xed\x8f\x00\x39\x30\xa8\x69\xa5\x7c\x35\x02\x99\x1c\x05\x5a\x19\x5a\x9d\xc7\xf6\x0a\xf3\x28\x28\x38\xcf\x94\xe4\x48\xa2\x52\x15\xe9\x27\xce\x80\x73\x82\x6f\x68\x3a\xfd\x1e\x3c\x02\xe0\x28\xba\x82\x49\xa6\x92\xd3\x88\xc6\xc7\xd9\xa5\x93\xa2\xef\x24\x72\x0c\x81\x4e\xdd\xdd\x86\x03\xa2\xfe\x76\xa8\x93\xac\x56\xe6\x7a\x8b\xde\xb9\x5b\x2d\x79\xaf\xe4\x4c\xd0\xfc\x6d\x92\x03\x57\x7d\xce\xc6\xdc\xb4\x99\x76\x2e\x52\xbc\x63\x54\x51\x52\xd3\xff\xc1\xf6\x4f\xde\x98\x31\xde\xa2\xee\x06\x89\x31\x17\xd1\x60\x0e\x17\xee\x9e\xdb\xc5\xe1\xeb\x6d\xd0\xd7\x5c\x82\x39\x7c\xfd\xd6\xfb\xb8\x33\x0f\x3f\x34\x64\x7f\x6c\x76\xd3\xff\x7a\x36\x2a\x3c\xa4\x1e\x30\x8f\x3b\x80\x87\x72\x19\xbb\x32\x61\xf9\x47\x1d\xe8\x86\x2f\xba\x28\xee\x6f\x0a\x76\x50\x29\x0a\xbe\x61\x6a\x26\xc9\x16\x27\x57\xe7\x85\xe9\x20\x0c\xc3\x99\x4c\xcf\x40\xf1\xcb\xf1\xa2\xf3\xd9\xfb\xb7\x13\xf8\xdf\x00\x00\x00\xff\xff\x36\x9e\x8c\x31\x80\x49\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\xdb\xb8\x9a\xef\xf9\x15\x5f\xfb\x90\xb1\x3b\x89\xd3\x2e\x16\x8b\x45\x10\xf7\xa0\xcd\x69\xcf\x29\x30\xe8\x1c\xf4\x32\xe7\xa1\x08\x06\xb4\xf4\xc9\xe6\x46\x22\xbd\x24\x65\xc7\xdb\xe9\x7f\x5f\xf0\x2a\x52\x94\x1c\x25\xed\x2c\xf6\xf8\xa5\xb5\x45\x7d\xfc\xee\x57\x32\x17\x17\x17\xf0\x69\x43\x25\x14\x9c\x29\x41\x0a\x05\x54\x42\x2b\xb1\x04\xc5\xa1\xc4\x8a\x32\x2c\x61\x55\xf3\xe2\x16\x36\x48\xd7\x1b\x05\x84\x95\x20\x79\xa5\xf6\x44\x20\xec\x50\x48\xca\x19\xac\x78\xcb\x4a\x22\x28\xca\x13\x0d\xb1\xe2\x02\xd4\x06\xbb\x75\xa2\x65\xb0\x3a\xc0\x9b\x3b\x2c\x5a\xa5\x5f\x78\xcf\x4b\x94\x8b\x93\x6d\xbb\xea\x76\x0e\x4f\xf5\xc3\xdf\x2c\xe4\xd7\x48\x0a\xce\xe0\xeb\xc9\x09\x00\x80\x86\xfd\x51\x89\xb6\x50\x20\x70\x2b\x50\x22\x53\x94\xad\x73\x7c\x88\x84\x8f\xd8\x10\xa6\x68\x01\x0e\x52\x00\x40\x6a\xce\xd6\xb0\xa7\x6a\x03\x1b\xac\xb7\x28\xa0\x6a\x59\xa1\xf7\x95\x61\xcd\x5b\x2e\x40\x60\x85\x02\x59\x81\x67\x20\x11\x61\xa3\xd4\x56\x5e\x5e\x5c\x48\x6c\x76\x28\x16\x5c\xac\x2f\xcc\x72\x4d\x82\xb4\x38\x7d\x34\x8f\xe0\xab\xf9\xdd\x83\xba\xe6\xcd\x96\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x2e\xc2\xce\x83\xab\x51\x41\x43\xfe\x8b\x8b\x4b\xf8\xfc\x8e\xa9\xff\xcc\x1f\x52\x36\xfe\x70\x4b\x54\xb1\x19\x7d\x28\xf0\x03\xd6\x48\x24\x5e\x6a\x4e\x52\xb6\xfe\xcb\x49\x82\xee\x6f\xa4\x6e\x11\x4a\x64\xdc\x70\xb6\xe0\xcd\x96\x28\xba\xa2\x35\x55\x07\xcb\xb4\xad\xc0\x1d\xe5\xad\xf4\xa8\xcb\x6c\x13\x2a\x5f\x93\xe2\x76\x4f\x44\x29\xaf\xdd\xfb\x35\x5e\xc2\x6b\xce\xeb\x6e\x33\xca\xa8\x9a\xc5\x54\x9e\x25\x64\x9d\x25\x74\x9c\x0d\x21\x7e\x76\x6c\xa3\x79\x24\x06\xfd\x91\x58\x57\x0b\xb3\x1d\x2c\x2d\x73\x07\x1e\xeb\xfd\xf5\x63\xfd\x6f\xfe\xd8\x20\x04\x4b\x8b\xd8\xc0\xe3\x80\xa1\x5e\x13\xbe\xe4\x0b\x07\xb1\x86\xe5\x30\x35\xe1\xf5\x6f\xa9\x9c\x3e\xa0\x6a\x05\x0b\x42\x00\xca\xbc\xfa\x55\x5c\x34\x44\xc1\x0c\x17\xeb\x05\xec\xae\x0c\xad\x2f\x17\x57\x86\xa8\x97\x8b\x2b\x83\xfd\xcb\xf3\xab\x0e\xc3\x97\xf3\x04\x32\x91\x40\x1c\x8b\x13\xc9\x56\x2d\x03\xc5\xed\x83\xd9\xdc\x4b\xa1\xc7\x66\x2d\x7e\x6b\x21\xd7\x5c\xa0\x5b\xb2\x8c\xb8\xbf\xe8\x40\x24\x2f\x9a\xcf\xa2\xe0\xac\x20\x6a\xf6\x74\xf1\xf4\xc8\xd3\xfc\x49\x2a\xc1\xa3\x5b\xcc\xbf\x7b\x0f\xc3\xc0\xe3\x7b\x24\x3f\x19\x1f\xa0\x81\x6a\xa5\x38\x17\x4e\x45\x68\x05\x54\x01\xde\x51\xa9\x24\x9c\x82\x30\xe2\x4c\xde\xa3\x55\xa6\x57\x4f\x96\xc0\x68\xdd\x63\xb9\xfe\xd8\xd7\x33\xce\x07\x5a\xcf\x9f\x06\xba\x7b\x30\x9f\xa4\xc8\x46\x5a\x76\x04\xee\xa0\x52\x3e\x83\xeb\x56\x2a\xde\x18\x8f\x47\x04\x51\x5c\x48\x78\x76\x31\xac\xb6\x4a\xb4\x86\x07\x4e\x67\x0b\x2e\x50\x47\x9e\xb5\x40\xa2\x50\x07\x0f\xc2\x92\xf7\xb6\x44\xea\xa0\x14\x2f\xd7\x81\xa8\x22\xb5\x44\xe0\x6a\x83\x62\x4f\x23\x5b\xf3\xfa\xaa\x17\xfe\xcd\xc2\xfc\xb4\x21\x6c\xf6\xbb\x5d\x7b\xe9\x00\xcd\xad\xaf\xe8\x31\x94\x56\x30\x8b\xdc\xc5\x4b\xfb\x8e\xfd\xd6\x77\x2b\x11\x93\x34\x49\x29\x2f\x01\x6b\x2b\xe9\x18\xdc\x72\x19\xc3\x83\xd3\xd3\xd8\xf7\x84\xbd\xf4\xb7\x3f\x79\xaf\xee\xa1\xf9\xea\x1f\x5a\x2f\xe7\x11\x31\xdf\x1e\x81\xc8\xe8\x0b\x46\x62\x3d\x95\x1b\xd2\xa6\x87\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xdd\x92\x5a\xa7\x30\x3f\x46\x6f\x7e\x15\x6f\x34\xc0\x4f\x7c\x9a\x02\x05\xab\xa9\xab\x45\x5f\x03\xcd\xeb\x73\xf8\xe3\x8f\xee\xb1\x87\x6d\x1f\x3d\x92\x1b\x35\x4a\xf9\x43\xcd\xe6\x17\x94\x72\xba\xcd\x38\x92\x9f\x0c\xd1\xdc\x71\xef\xc7\x50\xf8\x67\x08\xdb\x53\xfb\x9d\x92\x0e\x4c\xfb\xd1\x62\xa6\xb2\x4f\x66\xf2\xd6\x63\x48\x7e\x34\xa1\xdf\xeb\x5b\xc2\xc3\x34\x91\x9a\xcc\x88\x67\x78\x47\x0a\x55\x1f\x9e\x4d\x61\xc9\x14\x6e\x48\x25\x68\xa1\xbe\x4b\xf0\xa9\x70\x3b\x82\xa3\x9c\x30\x50\x9d\xa7\x86\xd6\x05\x7e\xeb\x8a\x9c\x37\x3b\x64\x0a\xb0\xa1\x4a\x61\x09\x84\x1d\x40\xd1\x06\x81\x40\xb1\x21\x6c\x6d\xcc\xa1\x21\x25\x6a\xd2\x5d\x02\xf8\x89\xf8\x64\x51\x53\x85\xe6\xfd\xa1\x82\xca\xac\x7b\x55\x96\x54\xff\x3e\xb3\x35\x9d\x4d\xb2\xff\xe3\xdf\xcf\x3c\xb0\x40\xfb\x54\x80\x7f\xc5\x1a\xa7\x01\xbc\x8f\x44\x5d\x36\xfa\x9c\xb6\xdd\x96\x44\x21\xac\xda\xaa\x42\x01\x5b\x14\x94\x97\xc0\x05\xec\x88\xa0\x84\x15\x86\x0d\x76\x4d\x39\x01\xd1\xcf\x66\xe5\x6b\x03\xec\xda\xb0\xb1\x9c\x31\xdc\x0f\x3c\xf5\xe8\x4f\x21\x3f\x7e\xef\x37\x87\xd7\x71\xe8\x7e\xd5\x25\x7c\x7e\x4b\xef\xf4\x2e\x81\x27\xd7\x84\x71\x46\x0b\x52\x83\x54\x5c\x90\x35\xea\x5a\x63\x63\xca\xe9\xa1\xbd\x5f\x95\x0d\x65\x01\x47\x9d\x7a\x8f\xae\xfa\x68\xe1\xfd\x83\xa8\x8d\xce\xdc\xc3\x97\x6e\x6f\x23\x47\x28\x69\xa1\x88\xa9\xfc\x1a\xca\x68\xd3\x36\x41\x18\xe7\xf0\xd5\xf4\x01\xfe\xee\x24\x6c\x05\xfa\xad\xab\xcb\x37\xbc\xad\x4b\x58\x21\x70\x51\xa2\xc0\x52\x17\xfc\x49\xe7\x60\x46\x59\x89\x77\x73\xd8\x6f\x68\xb1\x01\xda\x55\xdb\xc8\x2a\x2e\x0a\xfb\x06\x65\x12\x85\xa6\xe0\xa2\x74\x3a\x65\x96\x91\xa2\x40\x29\x67\xbe\x57\x30\x37\xd4\xc6\xaa\x7f\x09\x5f\xad\xd0\x3a\xcc\x02\xfc\xf7\x6d\xb3\x42\x01\xbc\xb2\xf8\x48\x58\xa1\xda\x23\xb2\x14\xbd\xfd\x06\x59\xbf\xa1\x71\xd0\x2a\xe6\xdb\x20\x84\x95\x01\x64\xac\xa6\x61\xed\x0a\x35\xe3\xdc\xf2\x85\xed\x71\x40\x41\x18\xe0\xdd\x16\x0b\xa5\x83\x97\x72\x16\x2c\xb5\xe9\x46\x40\x3a\xf3\x75\xd0\x75\xb1\x5d\xd7\xb0\x21\x3b\x04\xa2\x40\xfb\x0b\x0d\x40\xc7\x41\xce\xd6\xfa\x6d\x81\x72\xcb\x99\x69\xd4\x90\x0c\x97\x61\xa6\xed\x88\xf0\x2b\x87\xf4\x3d\x6a\xb2\xa0\x72\x48\x13\xd3\x18\x01\x81\x6b\x22\x4a\x4d\xde\x86\xef\xa1\x69\x8b\x4d\x8c\x7d\x0c\xcc\x10\xbc\xb3\xec\xb0\x5c\x1e\x68\x12\x3d\x04\xbb\xbe\xbd\x44\x58\x72\xa1\x7d\xc7\x2b\x21\xc8\xc1\xb4\x91\x88\x6d\xaf\x54\xad\x6a\x05\x26\xd2\x95\x5a\xbc\x3a\x38\x1e\x93\x70\x00\xfc\x4f\xfc\xa9\xae\xa1\x21\xd4\x80\xb4\x6c\x27\x12\x90\xc8\x03\x34\xa8\x25\x48\x65\x63\xcc\xb2\x44\x85\xa2\xb1\xdb\x6e\x05\xbf\xa3\x0d\xa9\xbb\x2d\x0c\x02\x53\xc8\x6e\xb7\x05\x6f\x28\x5b\xbf\xd6\x6f\xbc\x0e\x2f\x5c\xc2\x17\x2b\x99\x9b\xfb\x89\xde\x50\xed\x33\x8c\xf3\x18\x22\x3c\x17\x02\xec\xf5\xef\x31\xe9\x83\xa8\x11\x51\x6c\xe8\x0e\xcb\x09\xa8\x19\x4f\xa3\xf5\x92\xb7\xa2\x40\xab\xee\x0d\x61\xc4\xa8\xfb\x06\x7b\xed\x3f\x8f\x92\xaf\x27\x35\x04\xcf\x72\x2c\xc1\xf3\xdd\x63\x13\xfc\x5c\x80\x3f\xea\xec\x7a\x1d\x38\xab\x4c\x06\x83\xbe\x53\xd3\x46\x48\x6e\x11\xb0\xaa\xb4\x81\x12\x65\x56\xad\xe9\xae\xe7\x1c\xb2\x94\x81\x94\xa5\xef\x50\x3a\x3d\xfa\xc4\x8d\x0d\xcf\x14\x11\x6b\x54\xaf\x63\x57\xe9\x83\x61\x17\x0f\x42\x3c\xec\xa5\x15\x5b\x31\x54\x3a\x65\x20\xe1\x25\xac\x51\x5d\xb7\x42\x20\xb3\xbf\xcf\xe6\x0b\xe7\xc6\x7e\x3e\xd2\x47\x5d\x0c\x98\xd7\x60\xa7\xe3\x12\x9e\x7e\x32\x9b\xa6\x2e\x92\x17\x45\x2b\xb4\xeb\xe2\x20\xb9\x65\x9f\x8b\xd1\x6f\xde\x7b\x9e\x2e\x9e\x1e\x6b\x28\x5c\x5c\xc0\x3b\xe3\xe1\xa1\x21\xdb\xad\xd6\x5b\xca\xba\x24\x46\x91\xb8\xe3\xa5\x3f\xf7\xd3\x62\xb8\xbe\xb0\x61\x23\x6f\xdb\xdc\xe2\xe1\x32\xe7\xdf\x59\xb6\xae\x13\x4d\xf2\x28\xeb\xe4\x38\xe4\x87\xdc\xff\x4f\xd2\x6d\x94\xf2\xcc\xd0\xa7\x36\xd8\x87\x44\x8c\x01\x7b\x85\x37\x5d\xe1\xba\x0e\x8e\x20\x85\xd1\x73\x21\x13\x98\x63\xf9\xf1\x79\xc0\xad\x1c\x72\x0d\x9d\xa7\x32\xd2\x39\xd9\x03\x72\xc7\x9c\xbb\x5d\xd6\xd7\xb1\x75\xb4\xe0\x31\xa9\xa3\x73\x10\xb5\x0e\x72\xc8\x94\xf6\xca\x2c\x09\x8d\x2e\x69\xb0\xde\x4a\x02\x61\x1d\xa7\x06\x43\x1f\x84\xee\xbb\x4b\x4a\x36\x58\x6f\xab\xb6\xd6\x70\x0b\x9d\x8e\x0b\x5e\xd7\x2b\x52\xdc\x6a\xf7\xcf\x10\xcb\xa8\x7a\xf0\x36\x6e\x12\x10\xf4\x3c\xec\x99\xfb\x6c\x95\x5b\xf8\xfc\x32\x1f\x01\xc0\xa8\x55\x4f\x55\xed\x5b\x3c\xc8\x85\x73\xf4\x32\xde\x76\x7e\x09\x4f\xdf\xf3\x2e\x90\x85\x3c\xc5\x65\x1a\xd1\xd2\x9e\x51\xde\xb3\xfd\x48\x34\x1a\x45\xc2\xf3\x04\x18\x57\x01\x0b\xca\xc6\xa2\xda\xbd\x1e\xe2\x0d\x93\xad\x09\x4d\x36\x01\xf4\x6e\xc7\x4c\x1f\x90\xf1\x76\xbd\xb1\xb5\x82\x0e\xc0\xcc\x24\x59\x5d\x3a\x94\xc0\xd2\x55\xe1\x90\x57\x58\xfd\x39\xae\x34\x77\x2b\x0d\x4a\x49\xd6\x78\x09\x4f\xaf\x09\xb3\xdc\xd1\x3a\x95\x27\x21\x9a\x36\x3a\x5e\xf1\x44\xc1\xdd\xf9\xcd\x3e\x17\xe7\x19\x17\x3f\x60\xc3\x77\x69\x41\xe5\x7d\xae\x2e\x8a\x47\x84\xa3\xd7\x33\xeb\x02\x4c\xd1\x93\x75\xf7\x85\x01\x5b\x06\x55\x5f\x4e\x56\x64\xfb\xe6\x88\x8f\x8e\x44\x92\xd2\xf5\x64\xaa\xcb\x1b\xd3\xb6\xb1\x6d\x89\xba\x7c\x0c\xb8\x8a\x0a\xa9\xde\xe9\x4a\x66\xc6\xab\x04\xef\x1e\xaa\x0f\xf2\xaa\x59\x01\xbd\x1a\xf4\xa7\x8e\xf9\xb9\xb0\xaf\x6b\x34\x3e\xb1\x73\x8b\xa7\x21\x73\xcb\xf2\x50\x58\x61\xc5\x45\x16\x91\x6c\x4f\x43\xbf\xeb\xb6\x09\x7a\xa3\x0d\x6d\x87\x82\x56\xb4\x20\xaa\x1f\x23\x8f\xf0\xd0\x61\xf0\x6b\xdd\xcf\x1e\x7b\x53\x13\xd7\x4d\x71\xdb\x8e\x45\x0a\x6b\x6a\x36\x52\xb0\x7e\x49\x67\x93\xcd\x56\x2a\x6f\x3c\xad\x5f\x3d\x52\x67\x79\xa8\xda\x16\xf4\x02\xcb\x24\x07\x37\x36\x1a\xea\xe3\xba\x1a\x9a\x88\xd9\x72\x6e\xa0\xcc\xd7\xd5\x7f\xfc\xfd\x1d\x33\x3c\x90\x21\x58\xf4\x83\x04\x97\xea\x51\x51\x22\x29\xbe\x96\x4b\x18\xdd\xf7\xe9\xe7\xc4\xbb\xec\x89\x34\x0e\x7b\x2b\xf8\x16\x45\x7d\x70\xa4\x94\x4f\xe0\x03\xee\x50\x17\x19\xf7\x3a\xea\xf7\xb8\xf7\xd0\x64\x28\xff\x9d\x2b\x13\xa6\x51\xc5\x2b\x57\x47\x6a\x35\xb4\x2b\x7d\xf7\x66\x92\xa7\xb6\x25\xdf\x18\x2f\xe7\xf0\x72\xe9\x97\x3c\x8c\x51\x73\x78\x06\xb3\x17\x8b\xe7\x70\xfe\x40\x0e\xfb\x6a\x74\x0e\xa7\xa7\x0f\xc6\xf6\xea\x7b\xb1\x7d\x68\x44\x0a\xd8\xde\x13\x9a\x80\xb3\xa0\x00\x83\x45\xfd\xea\xa0\xd3\x53\xbe\xd7\x4e\xc1\x77\xdf\x2a\xc1\x1b\x3b\xc1\x34\x09\xab\x59\x78\x6f\x54\xfa\x1b\x2a\x28\x6c\xb4\x4d\x73\xdc\x53\x28\x32\x1f\x36\x58\x40\xfb\x4f\xdd\x41\x8a\x4b\xa3\xe5\x68\x3c\xff\x11\x5e\x2b\xb3\x00\x1e\xfb\xd5\x70\x60\x06\x0f\x9c\x95\x29\x9d\x67\x20\x49\x65\x3a\xb6\x8d\xae\x38\x5d\x1b\xa8\x3f\x78\x7c\x44\x40\xaa\x91\xad\x95\xe9\xaa\x3f\xff\x01\xfe\x63\xcc\x7d\x4c\x1b\xf2\x39\x01\x6b\xf7\x19\xba\x21\x9d\x34\xfb\x09\x7a\x2c\x49\x86\x77\x2a\x29\x53\x8e\x27\x16\x23\xcc\xf8\xf2\xfc\xe6\x64\x08\x29\x97\x51\x9a\x20\xa1\x91\xdb\xe3\x4f\x02\x8d\xf7\x73\x32\xaa\x43\x0a\xa6\x1f\xf3\xda\x64\x5d\xac\x73\x6f\x36\x15\x1b\x02\xcd\x2b\x1b\x90\xf0\x4e\x0d\x16\x6d\x39\xb9\x63\xbe\x4e\x7f\x06\x14\xfa\xa1\x36\x0f\x57\x03\xcc\x1c\x70\x56\xa3\xdb\x8d\x68\xc0\x10\xdc\xdc\xad\x40\xe2\x5a\x0c\x9c\xce\x3b\x00\xe3\x7b\x58\x09\x24\xb7\x32\x4f\x81\x5d\xee\x1b\xb7\x1d\x17\xf0\xc9\x3f\x88\x80\x90\x4a\x69\x50\x9a\xe1\x7d\x20\x03\x75\xce\x7c\x50\x21\xfe\x89\xa6\x4f\xa9\xf1\xd1\x66\xd9\x39\xbf\x91\xae\xe6\xff\x91\x5d\x4d\x4c\x19\x1f\x32\xca\x18\x0b\x46\x53\xb2\xac\xe0\xea\xb7\x28\x0a\x64\x8a\xac\x51\x47\x02\x5b\x8b\x1f\xeb\xff\xae\xbc\x83\x4b\x67\x72\xf6\x70\x99\xcd\xd2\x30\xf4\x87\x9f\x2f\x9e\x9b\x2c\xec\xc5\xe2\xf9\xf4\xf4\xca\x47\xb6\xd9\xef\x7d\x0a\xb3\xf9\xca\xa4\x6a\x7c\x04\x88\x4e\x30\x34\x7e\xa7\xa7\xa3\x2b\xae\x96\x1a\x73\xd0\x75\x70\x9a\xe0\x04\x42\x77\x86\xec\x40\xae\x23\xb6\x9f\x5c\x25\x38\xfe\x88\x64\x30\x60\x98\x27\x85\x1d\x8f\x7a\x49\x61\xc0\xfd\x7b\xb3\xc3\xc7\xa2\x3a\x86\xe9\xc3\x0d\xe3\xa1\xd3\xb8\x91\x8d\x23\xff\x91\x8d\x69\xc3\x8c\x7a\x83\x21\xd8\xb7\xb1\x2d\xb8\x0a\xde\x85\x16\x6b\x37\xbd\x43\xb0\x01\x98\xb3\x1b\x22\x75\xa8\x2a\x93\x12\xc4\x8c\x82\x4c\xb4\x32\xb4\x9c\xc4\x16\xb2\x46\x35\x54\x7d\xcc\x7d\x9d\x11\xa9\x51\x3c\xb4\x1e\xf3\x71\xff\x12\xd4\x05\xe3\x9f\x7b\x23\x9f\x4e\x65\xa2\x50\x03\xd4\x12\x28\xf8\xf6\xe0\xc3\x7a\xd5\xd6\x75\xdc\x7d\x19\x9c\xb6\xa7\x88\xda\x31\xc0\x3c\x1f\x48\x1e\xc7\xb1\x03\x19\x21\xf5\xd6\x9d\x4c\xb6\x99\x8b\x88\x04\x12\x26\x18\xfa\x81\x36\xd6\xa4\xfb\x87\xd0\x70\xa9\x02\x18\x81\x45\x96\x6f\x87\xb8\xab\x13\x1d\x4d\x25\xad\x80\xf1\x3c\x5b\xeb\xcf\xc7\x22\x82\x5d\x96\x3d\x64\x88\xb3\xd0\x0b\xfd\x4b\x32\x8d\xf1\xc3\x98\x15\x57\x9b\xd1\x16\xd4\xe9\xd8\xd0\xc9\x36\xcd\xbb\x98\x69\xf8\x37\x29\x5d\x0f\x02\x36\x07\x28\x2d\xa9\xf1\xc4\xac\xdb\xc2\x4c\x5c\x57\xda\x51\xc7\x54\x43\x74\x20\x33\x69\x6a\xc5\xd9\xb7\x3f\xed\x33\x82\xfd\x91\x4c\x5d\x04\xdc\x86\xc3\xb2\x47\xbe\xdf\xcc\xb3\xe7\xf4\x43\xeb\x7c\x64\x06\x98\xa7\xa2\x63\xfa\xe7\x66\x7a\xb3\x29\x64\x9c\xc3\x8b\xf9\xcd\xa8\x15\x31\x37\xe0\x88\x26\x94\x59\x97\x45\x6b\xae\x4d\x25\xc2\x1c\x29\x9e\xb1\x13\x29\x79\x41\x89\x8a\x1a\x51\x41\x29\xcf\xe1\xcb\x2a\x4e\x44\x47\x4f\x9c\xdc\x04\x70\xef\x8c\x45\xdb\xb3\x64\xb1\xa2\x67\xb0\x9d\xdc\xcf\x82\xbd\x61\xb3\x55\x07\x47\xcf\x39\x7c\xb9\xe9\xdb\xc1\x7b\xbc\x53\xbd\xf1\xc0\x3f\x08\x35\x3e\xf8\xcb\x2b\x76\xb0\x37\x16\x6e\xfc\x25\x86\xd4\x10\xc6\x6c\x40\x72\xd8\x23\xdc\xea\x04\xd5\x16\x2b\xa6\x42\x2f\x91\xd4\xd4\xdf\x5e\xf0\x63\xee\xbc\x3c\x7e\x90\x5d\xbc\xe7\xf0\xb6\x0f\x29\x78\x93\x5f\x3f\x80\x19\xca\x79\x39\x1a\xd6\xf9\x83\xff\xc6\x73\xc7\xa0\x9c\x5a\xc5\xfc\x22\xd2\x71\x9d\x98\x82\x2b\xde\x43\x71\x93\x27\x72\x56\xa0\xd0\x7b\x69\xa2\x32\x63\x9b\x52\xf5\x7a\xbb\x1b\x35\xcc\x41\x63\x73\x72\xcc\x6d\xed\xf5\x01\x2c\xdb\x2d\xfb\xbb\xea\x2e\x34\xeb\x8d\x40\x52\xc4\x93\x83\x22\x32\x06\x67\xc2\x08\x15\x52\x01\xd6\xd8\x68\x3f\xec\xaa\xcc\x31\xd1\x1b\xc6\xf5\x4d\xf5\x4b\x42\xc2\x31\xd6\x7c\x79\x7e\x73\x96\x2f\x4e\xac\xfc\x9e\xd7\x3b\xc6\x64\xf6\x7d\xbd\x41\x5d\x0a\xee\x37\xa8\xa5\xea\x26\xe5\x21\x90\x13\x19\x2e\x8c\xd4\x98\x4e\xd3\x47\x5c\x53\x62\x4a\x34\xba\xf7\xe0\xe3\xc8\xc0\x98\x2d\x3f\x55\x66\x8f\xe8\xc5\x91\x86\x56\x53\x87\x3c\x0f\x74\xc4\x6f\x29\x2b\xb3\x2b\x30\x9d\x6a\x9c\x42\xa1\x39\x94\x1d\x34\xe8\x8d\x33\x63\x88\x61\x5c\xd7\x77\xd2\xb4\x8a\x4f\x39\x45\x7d\x11\x23\x3e\x89\xda\xc0\xdf\x72\x71\x5d\x73\x89\x52\xfd\x3d\x30\x38\x9d\xf6\xc6\x03\x8a\x81\xcb\x1a\x0e\x51\xc7\x6e\x0f\x3c\xd1\x96\x1e\x02\x37\x4f\xf2\x81\x1d\x35\xda\xd0\xeb\x9a\xf7\x0e\x68\x77\xa7\x35\xe3\x93\x18\x52\xc5\x0e\xbe\x0f\x38\x19\x65\x0e\x77\x54\x2e\x2e\xe0\xd7\x0f\xfd\x5f\xc6\x77\xd0\x88\xad\xfc\x35\x9b\x48\x5b\x87\xb4\x20\x6f\xd1\xf8\x33\x0e\xa3\x27\x9c\x53\x76\xe6\x77\x43\x4e\x4f\x03\x8c\xe3\xd7\x7d\xfc\x27\x07\xf1\xc7\x1f\x3d\xa1\xdd\x03\xe9\x5b\xac\x6c\xaf\xa4\x6c\x4d\xd4\x63\xbc\xd3\xe2\xa0\xbd\xf6\x3a\xca\xd9\xf0\x59\xfd\xec\xc7\x38\x4f\xa5\x6e\x8a\x42\x64\x81\xac\xb4\x77\xf2\x84\xea\x4e\xf3\x81\x39\xfb\x17\x2e\x06\xba\x93\xda\x99\x27\xc8\x4e\x20\x19\xb7\x70\xe4\x2c\xc3\xef\xf9\xf1\x83\xa1\x01\x4b\x1e\x6f\x8f\xcf\xc7\x88\xc6\x8e\xb3\xc1\x4e\xf5\xe3\xa2\x6c\xc8\x3e\x5c\x1c\x1c\x73\xfe\x9a\x41\xd9\x71\x1f\xad\xb3\xb6\xa5\x4c\xd2\x80\x3b\xda\x29\x3f\x03\x49\x9b\x6d\x7d\x00\x9d\x24\xb2\x3c\x87\x9d\x10\x56\x4f\x7a\x4a\x37\x74\x0a\xe9\x68\x20\x99\xb2\xd1\x39\xbc\xb8\x19\xba\xa9\x37\xf6\x9a\x25\x67\xe8\x08\x4b\xa7\xee\x99\xbb\xd6\x1a\x67\xf5\xcf\x55\x75\x85\x75\x99\x69\x92\xdc\xdd\x2f\xd0\x4b\xec\x0e\x01\xd4\x8e\x08\xa0\x10\x73\x65\xbf\xa1\x35\x1e\x67\x00\xbd\x81\xab\x01\xb6\xf5\x6e\x1b\xc1\x12\x28\xfc\x0c\x2f\x86\x0d\xd6\x1d\x38\x72\xb1\xb4\xa4\xb2\xe0\x3b\x73\xba\x96\x6c\xb7\x82\x6f\x85\xce\x8f\x2d\x71\x27\x93\x18\xe8\x0e\x4a\x11\x75\x09\xf4\x2c\x47\x6e\x9e\x27\xf4\x0d\xdf\xe9\xb2\xc8\x85\x97\xde\xe1\x42\x33\x03\xca\x8f\x32\xf5\xf4\x72\xe4\x04\x68\x38\x4c\x37\x6e\x43\xa9\x0d\x9b\xec\x63\xe0\xd4\xae\xbf\xc0\xab\x0d\xa5\x20\x75\x1d\x15\x6d\x0f\x9f\x12\x25\x1b\xd6\x48\x44\xe4\x28\x73\xda\xc7\xec\xd8\xe5\x78\x69\x2e\xe7\xc6\xcd\x56\x89\xcd\xc1\xdd\xe1\x12\xeb\x01\x4a\xe6\x0d\xe9\x25\x3c\x0f\xb7\x0e\xc6\x33\x3b\xb8\x1a\x62\x46\x9e\x15\x0c\xe1\x15\x32\x8f\xe3\x07\x2d\xde\xea\x54\xb7\x37\xdf\x3f\x5a\x4e\x3a\x93\x1e\xdc\x72\x3e\xde\x7b\x7b\x4d\x99\xc6\xc9\xa6\x41\x40\xea\x35\x17\x54\x6d\x1a\xcd\xd5\x4a\x1b\xbd\xb7\x71\xdb\x7c\xbd\xc5\xfc\x48\x99\xc9\x2c\xa8\x84\xab\xa5\x3f\xb8\x67\xd6\x8e\x07\xa2\xa9\x29\x97\x0f\x4a\xd1\xb9\x30\xfb\x9f\xe1\x5e\x48\x88\x43\xe6\xae\x4a\x7e\x76\xf9\xbb\x2b\xbc\xb4\xf3\xd1\x3f\x0d\x61\xee\x16\x99\x8a\xcd\x1c\xa7\x8a\x32\xf5\x18\xc6\x08\x42\xff\xbf\xdb\x25\xa6\x29\x92\xe6\x8e\x86\x03\x56\xda\x21\xaa\x9e\x0c\xa8\xfe\x2f\x6e\xf3\x29\x28\xc6\x24\x3b\xd8\x2f\x8f\xbf\xf8\x25\xdd\x65\x20\x0a\xc6\x1d\x9a\xe9\x40\x46\xd8\xf1\x57\x23\x1a\x6f\x2b\x86\x15\x32\x09\x6d\x35\x56\x2a\x89\x6e\xfa\x47\xe1\x3c\x65\xb2\x4d\x0c\xf6\x17\xce\xb7\xd0\x32\x45\x6b\x0f\x7a\xcb\x29\x53\x28\x24\x14\x82\xcb\xbe\x1b\x33\x9b\x5c\x39\xb0\x29\xb5\x7a\xbb\x86\x96\xb0\x84\x99\x59\xf5\xb3\x5d\x35\x87\x0b\xf8\xb7\x34\x5a\x56\xc7\x59\xd2\xd0\xf2\x46\x6b\x8c\x13\xc3\x91\x9b\xd2\xf7\x00\x39\x32\x9c\xe9\xa4\x7c\x35\x01\x99\x1c\x05\x5a\x19\x5a\x9d\xc7\xf6\x0a\x73\x2f\x28\x38\xcf\x94\xe4\x81\x44\xa5\x2a\x32\x4c\x9c\x01\xe7\x04\xdf\xd0\x74\xe2\x3d\x3a\xf6\x77\x14\x5d\xc1\x2c\x53\xc9\x79\x44\xe3\xfd\xec\xd2\x79\xd0\x77\x12\x39\x85\x40\xa7\xee\x6e\xc3\x11\x51\x7f\x3b\xd6\x3c\x56\x1b\x73\xd1\x44\xef\xdc\x2f\x90\xbc\x57\x72\x26\x68\xfe\xce\xc5\x91\x4b\x37\x67\x53\xee\xbc\xcc\x7b\x57\x1a\xde\x31\xaa\x28\xa9\xe9\xff\x60\xf7\xe7\x53\xcc\xe8\x6e\x55\xf7\x83\xc4\x94\x2b\x61\xb0\x84\x0b\x77\xe3\xec\xe2\xf8\x45\x33\x18\xea\x27\xc1\x12\xbe\x7e\x1b\x7c\xdc\x9b\x81\x1f\x1b\xac\xdf\x37\xaf\x19\x7e\x3d\x1b\x0f\x1e\x53\x0f\x58\xc6\x4d\xbf\x63\xb9\x8c\x5d\x99\xb0\xfc\xa3\x0e\x74\xe3\x57\x4e\x14\xf7\x77\xf6\x7a\xa8\x14\x05\x6f\x99\x5a\x48\xb2\xc3\xd9\xd5\x79\x61\x9a\x06\xe3\x70\x66\xf3\x33\x50\xfc\x72\xba\xe8\x7c\xc2\xfe\xed\x04\xfe\x37\x00\x00\xff\xff\x54\x83\x01\x4c\xcc\x47\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0xab, 0x13, 0x34, 0xd4, 0xad, 0xf9, 0x69, 0x75, 0x2b, 0x2e, 0xfd, 0xca, 0x1c, 0xe, 0xd2, 0xd6, 0xeb, 0xf7, 0xe1, 0x65, 0x6, 0x7a, 0xab, 0x31, 0x52, 0x93, 0xf6, 0xb6, 0x75, 0xdf}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xad, 0x65, 0x99, 0x18, 0xf0, 0xdb, 0x8d, 0xbf, 0x64, 0x6d, 0x3d, 0x65, 0xbc, 0x57, 0x82, 0xdf, 0xd4, 0x9d, 0xbd, 0x51, 0x29, 0x65, 0x7f, 0x2, 0x99, 0x24, 0x6a, 0x26, 0x92, 0x86, 0xbb, 0x83}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index b09ff1165..b31b92e33 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -73,7 +73,7 @@ // ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.524kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (963B) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (974B) -// ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.07kB) +// ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.101kB) // ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version.cdc (300B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_current_execution_node_version_as_string.cdc (358B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (413B) @@ -1809,7 +1809,7 @@ func executionnodeversionbeaconAdminChange_version_update_buffer_varianceCdc() ( return a, nil } -var _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\xc1\x6e\xd3\x40\x10\xbd\xfb\x2b\x9e\x72\x00\xe7\x62\x47\x08\x71\xb0\xa0\x55\x42\x91\xe0\x52\xa1\x92\xf6\xbe\x59\x8f\xed\x15\xeb\x9d\xd5\x7a\x4c\x83\x50\xfe\x1d\xed\xc6\x69\x53\x91\x04\x81\x0f\x96\xb5\xfb\xfc\x66\xe6\xbd\x37\xa6\xf7\x1c\x04\x9f\xb6\xa4\x47\x31\xec\x6e\xb9\xa6\x07\x0a\x83\x61\xb7\x22\xa5\xd9\xa1\x09\xdc\x63\xb1\x5d\xbc\xc9\xb2\xb2\x2c\xb1\x0e\xca\x0d\x4a\x47\x2c\xa4\x53\x02\x65\x2d\x3f\x0e\x27\x19\x96\x75\x6f\x1c\x84\x51\x93\x25\x21\x48\x47\x89\xe3\xc7\xfe\x1a\x1b\x1e\x5d\xad\xc2\x4f\xf4\xca\x7b\xe3\x5a\x44\x74\x47\x87\xfb\xb5\xda\x58\x82\x92\x74\x36\x78\xd2\xa6\x31\x54\x27\x86\x8d\x65\xfd\x1d\x1d\x99\xb6\x13\x78\x15\x54\x4f\x42\x21\xcb\xe4\xb9\xbb\x3c\x61\x3e\x27\xc8\x6a\x2a\xb4\xe6\x9b\xd4\x49\x85\xfb\x2f\x4e\xde\xbd\x9d\xe3\x57\x96\x01\x96\x2e\x29\x90\xa6\xb8\xa3\xa6\xc2\xab\xf3\xa0\xe2\xec\xfc\xb1\x80\x0f\xe4\x55\xa0\x5c\x69\x2d\x15\x96\xa3\x74\x4b\xad\x79\x74\x12\x1b\x00\x12\x60\xff\x11\x9f\x0b\x55\x5a\x92\x87\x23\x71\xf2\x79\x61\xc9\xb5\xd2\xe1\x0a\x0b\x54\x98\xdd\xf2\x9f\xa2\xd2\xd6\x0c\x32\x3c\xdb\x50\xcc\x52\xa5\x5d\x7a\x97\x25\x56\x1c\x02\x3f\x42\x21\x50\x43\x81\x9c\xa6\x88\x8d\x9a\x9f\xf7\x34\xd0\xc0\x63\xd0\x94\x38\x06\xb2\xcd\xc9\xf9\x5f\xea\x87\x0f\x88\xf3\x17\x9b\x54\xef\xfd\x7f\x89\x79\x35\x89\x94\xc7\x54\x56\x97\x94\x3a\x4b\xf1\x4d\x38\xa8\x96\xbe\x2a\xe9\xe6\x13\xdb\xf5\x35\xbc\x72\x46\xe7\xb3\x8f\x3c\xda\xda\xbd\x16\xec\x9b\xfc\x5b\x2a\x70\x37\xe9\x30\x8b\x54\xbb\x68\x35\xa5\x3f\x68\xf2\xb5\x2c\x71\xf3\x94\xfd\xa7\xdc\xa7\x95\x3a\x3e\x90\x93\x49\x7f\x99\xf2\x83\xaf\xff\x22\x79\xb1\x77\xfc\xde\x6b\xee\x8d\x6b\x0f\x98\x89\xe9\x78\x43\x2a\x5c\x58\x97\x69\xb8\x5d\xf6\x3b\x00\x00\xff\xff\x1d\x39\x3d\x60\x2e\x04\x00\x00" +var _executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x93\x4f\x8f\x9b\x30\x10\xc5\xef\x7c\x8a\x51\x0e\x2d\xb9\xc0\x1e\xaa\x1e\x50\xbb\x2b\x12\x90\x9a\x0b\xa9\xf2\x4f\xbd\x3a\x66\x00\xab\xe0\xb1\xcc\xd0\x4d\x55\xe5\xbb\x57\x76\xc8\x6e\x56\x4d\x52\xb5\x1c\x10\xb2\x1f\x6f\xc6\xbf\x79\x56\x9d\x21\xcb\x90\x1f\x50\x0e\xac\x48\x17\x54\xe2\x0e\x6d\xaf\x48\xcf\x50\x48\xd2\x50\x59\xea\xe0\xe1\x90\x7f\xcb\xe7\xdb\xcd\x62\x59\x14\xcb\x2c\xdf\xe5\xab\xf5\x62\x59\xcc\xf2\x74\xbe\x2c\xd2\x2c\x5b\xe5\xeb\x75\x10\xc4\x71\x0c\x1b\x2b\x74\x2f\xa4\xb3\x02\x6e\x04\x83\x68\x5b\x7a\xee\xaf\x16\x48\xcb\x4e\x69\x60\x82\x12\x5b\x64\x04\x6e\xd0\x7b\xfc\x38\x6d\xc3\x9e\x06\x5d\x0a\xfb\x13\x3a\x61\x8c\xd2\x35\x38\x75\x83\xe7\xfd\x8d\xd8\xb7\x08\x82\xfd\x5a\x6f\x50\xaa\x4a\x61\xe9\x1d\xf6\x2d\xc9\xef\xd0\xa0\xaa\x1b\x06\x23\xac\xe8\x90\xd1\x06\x01\xbf\x76\x17\x7a\xcd\x17\x2f\x99\x8d\x85\x36\x94\xf9\x4e\x12\xd8\x2e\x34\x7f\xfc\x30\x85\x5f\x41\x00\xd0\xe2\x3d\x40\xfe\x14\x2b\xac\x12\x78\x77\x5b\x14\xdd\x3c\xbf\x2b\x60\x2c\x1a\x61\x31\x14\x52\x72\x02\xe9\xc0\x4d\x2a\x25\x0d\x9a\x5d\x03\x00\x5e\x30\x7e\xb9\xe7\x4e\x99\x1a\x79\x77\x41\x27\x9c\x46\x2d\xea\x9a\x1b\x78\x84\x07\x48\x60\x52\xd0\x9f\x54\xf1\xa0\x7a\xee\x5f\xe7\x10\x4d\x7c\xa5\xa3\x7f\xc7\x31\xcc\xc8\x5a\x7a\x06\x01\x16\x2b\xb4\xa8\x25\x3a\xad\x83\x7e\x7b\xa8\x16\x7b\x1a\xac\x44\xef\xd1\x63\x5b\x5d\x05\xf0\x16\x20\x7c\x06\x07\x20\xda\xfb\x7a\x9f\xfe\x8b\xe6\xe3\x08\x29\x74\xa9\x4d\xee\x91\xba\x69\xb1\x66\xb2\xa2\xc6\xaf\x82\x9b\xe9\xe8\xf6\xf4\x04\x46\x68\x25\xc3\xc9\x9c\x86\xb6\xd4\xef\x19\x4e\x4d\xfe\x2d\x16\xb0\x1a\x39\x4c\x9c\xd5\xd1\xcd\x1a\xfd\x1f\xe7\x71\xc6\x31\x64\x2f\xe1\x7f\x09\xbe\xbf\x72\x97\x0b\x7c\x35\xea\x6f\x63\x7e\x9e\xeb\xbf\x20\x8f\x4e\x13\xdf\x1a\x49\x9d\xd2\xf5\x59\x33\x3a\x5d\x5e\x91\x04\xee\xdc\x97\xf1\x70\xc7\xdf\x01\x00\x00\xff\xff\xa9\x31\xa9\xcc\x4d\x04\x00\x00" func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdcBytes() ([]byte, error) { return bindataRead( @@ -1825,7 +1825,7 @@ func executionnodeversionbeaconAdminDelete_upcoming_version_boundaryCdc() (*asse } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf3, 0x10, 0x76, 0xcb, 0x7e, 0xd1, 0x62, 0x63, 0xc0, 0xfe, 0x68, 0x3b, 0x7a, 0x45, 0x3b, 0x53, 0x5b, 0x27, 0x44, 0x30, 0xc6, 0x8f, 0x7b, 0x9d, 0x5a, 0x10, 0xb4, 0x57, 0xfd, 0x69, 0xe8, 0xbb}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x67, 0x6f, 0x69, 0x54, 0xce, 0x90, 0xda, 0xa5, 0x72, 0x7, 0x57, 0xd, 0x3a, 0xfe, 0x8d, 0xfd, 0x35, 0x5, 0xfc, 0x94, 0x21, 0x6b, 0xac, 0x4f, 0xad, 0xdf, 0x94, 0x98, 0xb7, 0x33, 0xd7, 0x7c}} return a, nil } From e0e01dcd1db3e759607820b34fd105c2d8fb5f01 Mon Sep 17 00:00:00 2001 From: Satyam Agrawal Date: Wed, 21 Sep 2022 12:02:27 +0530 Subject: [PATCH 18/21] remove versionUpdateBufferVariance --- contracts/ExecutionNodeVersionBeacon.cdc | 44 ++----------- ...xecution_node_version_beacon_tests.test.js | 63 +++---------------- .../get_version_update_buffer_variance.cdc | 7 --- .../scripts/is_compatible_version.cdc | 2 +- 4 files changed, 16 insertions(+), 100 deletions(-) delete mode 100644 transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index 8c7dc44eb..dd519bdbb 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -95,7 +95,6 @@ pub contract ExecutionNodeVersionBeacon { /// Event emitted any time the version update buffer period or variance is updated pub event ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: UInt64) - pub event ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: UFix64) /// Canonical storage path for ExecutionNodeVersionAdmin pub let ExecutionNodeVersionAdminStoragePath: StoragePath @@ -110,9 +109,6 @@ pub contract ExecutionNodeVersionBeacon { /// they will have at least this long to respond to a version boundary access(contract) var versionUpdateBuffer: UInt64 - /// Set expectations regarding how much the versionUpdateBuffer can vary between version boundaries - access(contract) var versionUpdateBufferVariance: UFix64 - /// Sorted Array containing future block heights where a version boundary is defined /// We'll maintain this as easy mechanism for determining proximal version block boundaries access(contract) var upcomingBlockBoundaries: [UInt64] @@ -179,16 +175,10 @@ pub contract ExecutionNodeVersionBeacon { ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." } - // New buffer should be within range of expected buffer variance - assert( - UFix64(newUpdateBufferInBlocks) >= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 - ExecutionNodeVersionBeacon.versionUpdateBufferVariance) && - UFix64(newUpdateBufferInBlocks) <= UFix64(ExecutionNodeVersionBeacon.versionUpdateBuffer) * (1.0 + ExecutionNodeVersionBeacon.versionUpdateBufferVariance), - message: "Can only change versionUpdateBuffer by allowed variance from existing buffer." - ) - - // Get current block height & clean up upcoming block boundaries + // Get current block height. let currentBlockHeight = getCurrentBlock().height - ExecutionNodeVersionBeacon.archiveOldBlockBoundaries() + // Cleanup the upcoming block numbers + ExecutionNodeVersionBeacon.archiveOldBlockBoundaries(); // No boundaries defined beyond current block, safe to make changes if ExecutionNodeVersionBeacon.upcomingBlockBoundaries.length == 0 { @@ -211,21 +201,6 @@ pub contract ExecutionNodeVersionBeacon { emit ExecutionNodeVersionUpdateBufferChanged(newVersionUpdateBuffer: newUpdateBufferInBlocks) } - - /// Updates the variance percentage by which the versionUpdateBuffer can be changed - /// Value must be between 0.0 and 1.0 - pub fun changeVersionUpdateBufferVariance(_ newUpdateBufferVariance: UFix64) { - pre { - newUpdateBufferVariance >= 0.0 && newUpdateBufferVariance <= 1.0 : "Buffer variance must be value between 0 and 1." - } - post { - ExecutionNodeVersionBeacon.versionUpdateBufferVariance == newUpdateBufferVariance: "Update buffer variance was not properly changed! Reverted." - } - - ExecutionNodeVersionBeacon.versionUpdateBufferVariance = newUpdateBufferVariance - emit ExecutionNodeVersionUpdateBufferVarianceChanged(newVersionUpdateBufferVariance: newUpdateBufferVariance) - - } } /// Returns the current updateBuffer period within which Execution Nodes @@ -234,12 +209,6 @@ pub contract ExecutionNodeVersionBeacon { return self.versionUpdateBuffer } - /// Returns the current updateBuffer period within which Execution Nodes - /// can be assured the version will not change - pub fun getVersionUpdateBufferVariance(): UFix64 { - return self.versionUpdateBufferVariance - } - /// Returns a copy of the full historical versionTable pub fun getVersionTable(): {UInt64: Semver} { return self.versionTable @@ -283,9 +252,9 @@ pub contract ExecutionNodeVersionBeacon { } /// Checks whether given version was compatible at the given historical block height - pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool? { + pub fun isCompatibleVersion(blockHeight: UInt64, version: Semver): Bool { if blockHeight > getCurrentBlock().height { - return nil + return false } // Find previous version boundary & check minimum version in versionTable @@ -383,12 +352,11 @@ pub contract ExecutionNodeVersionBeacon { return nil } - init(versionUpdateBuffer: UInt64, versionUpdateBufferVariance: UFix64) { + init(versionUpdateBuffer: UInt64) { /// Initialize contract variables self.ExecutionNodeVersionAdminStoragePath = /storage/ExecutionNodeVersionAdmin self.versionTable = {} self.versionUpdateBuffer = versionUpdateBuffer - self.versionUpdateBufferVariance = versionUpdateBufferVariance self.archivedBlockBoundaries = [] self.upcomingBlockBoundaries = [] diff --git a/lib/js/test/tests/execution_node_version_beacon_tests.test.js b/lib/js/test/tests/execution_node_version_beacon_tests.test.js index f557dbf22..a8431e2c0 100644 --- a/lib/js/test/tests/execution_node_version_beacon_tests.test.js +++ b/lib/js/test/tests/execution_node_version_beacon_tests.test.js @@ -35,7 +35,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { test("Deploy ExecutionNodeVersionBeacon successfully with proper initialization", async () => { // Contract initialization arguments const expectedBuffer = 1000; - const expectedBufferVariance = 0.5; // Define expected versionTable response object & boundary pair const expectedVersionTable = {}; @@ -43,15 +42,12 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Check contract initialized values matching expectectations const actualBuffer = await executeScriptByFilename( SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] ); - const actualBufferVariance = await executeScriptByFilename( - SCRIPT_FILENAMES["getVersionUpdateBufferVarianceFilename"] - ); const actualVersionTable = await executeScriptByFilename( SCRIPT_FILENAMES["getVersionTableFilename"] ); @@ -61,7 +57,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Check actual against expected expect(parseInt(actualBuffer)).toEqual(expectedBuffer); - expect(parseFloat(actualBufferVariance)).toEqual(expectedBufferVariance); expect(actualVersionTable).toEqual(expectedVersionTable); expect(actualVersionBoundaryPair).toEqual(expectedVersionBoundaryPair); }); @@ -69,7 +64,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { test("Add version boundary to table succeeds", async () => { // Contract initialization arguments const expectedBuffer = 10; - const expectedBufferVariance = 0.5; // Version & boundary values const expectedBlockHeightBoundary = 15; @@ -96,7 +90,7 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Add version boundary to table // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] @@ -131,7 +125,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { test("Add version boundary within buffer period fails", async () => { // Contract initialization arguments const expectedBuffer = 100; - const expectedBufferVariance = 0.5; // Version & boundary values const expectedBlockHeightBoundary = 15; @@ -147,7 +140,7 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Attempt to add version boundary to table - should fail & revert // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] @@ -175,7 +168,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Contract initialization arguments const expectedBuffer = 10; - const expectedBufferVariance = 0.5; // First in block height, will add to versionTable second const firstBlockHeightBoundary = 50; @@ -230,7 +222,7 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Add each version boundary to table // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] @@ -272,7 +264,6 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { test("/Delete version from table successful", async () => { // Contract initialization arguments const expectedBuffer = 10; - const expectedBufferVariance = 0.5; // Version & boundary values const expectedBlockHeightBoundary = 20; @@ -288,7 +279,7 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Add version to table // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] @@ -322,11 +313,10 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { test("/Delete version from table fails - no boundary defined at passed boundary", async () => { // Contract initialization arguments const expectedBuffer = 10; - const expectedBufferVariance = 0.5; // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [expectedBuffer]); // Attempt to delete version await sendTransactionByFilenameReverts( @@ -336,17 +326,15 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { ); }); - test("Change versionUpdateBuffer & versionUpdateBufferVariance succeed", async () => { + test("Change versionUpdateBuffer succeed", async () => { // Contract initialization arguments const beginningBuffer = 10; - const beginningBufferVariance = 0.5; // Buffer and variance we'll change and expect after checking const expectedBuffer = 12; - const expectedBufferVariance = 0.75 // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, beginningBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer]); // Change versionUpdateBuffer await sendTransactionByFilenamePasses( @@ -360,44 +348,11 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { SCRIPT_FILENAMES["getVersionUpdateBufferFilename"] ); expect(parseInt(actualBuffer)).toEqual(expectedBuffer); - - // Change versionUpdateBufferVariance - await sendTransactionByFilenamePasses( - TRANSACTION_FILENAMES["changeVersionUpdateBufferVarianceFilename"], - [expectedBufferVariance], - [ExecNodeVersionBeaconAcct] - ); - - // Check that the versionUpdateBufferVariance has changed as expected - const actualBufferVariance = await executeScriptByFilename( - SCRIPT_FILENAMES["getVersionUpdateBufferVarianceFilename"] - ); - expect(parseFloat(actualBufferVariance)).toEqual(expectedBufferVariance); - }); - - test("Change versionUpdateBuffer outside of versionUpdateBufferVariance fails", async () => { - // Contract initialization arguments - const beginningBuffer = 10; - const expectedBufferVariance = 0.5; - // Buffer we'll try to change to - const newBuffer = 20; - - // Get account and deploy contract to account - const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); - - // Change versionUpdateBuffer beyond the what the variance allows - await sendTransactionByFilenameReverts( - TRANSACTION_FILENAMES["changeVersionUpdateBufferFilename"], - [newBuffer], - [ExecNodeVersionBeaconAcct] - ); }); test("Change versionUpdateBuffer too close to next version block boundary fails", async () => { // Contract initialization arguments const beginningBuffer = 10; - const expectedBufferVariance = 0.5; // Buffer we'll try to change to, but will fail const newBuffer = 100; @@ -411,7 +366,7 @@ describe("ExecutionNodeVersionBeacon Contract Tests", () => { // Get account and deploy contract to account const ExecNodeVersionBeaconAcct = await getAccountAddress("ExecutionNodeVersionBeaconAddress"); - await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer, expectedBufferVariance]); + await deployContract(ExecNodeVersionBeaconAcct, [beginningBuffer]); // Add version to table // args: [newMajor, newMinor, newPatch, newPreRelease, isBackwardCompatible, targetBlockHeight] diff --git a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc b/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc deleted file mode 100644 index ba5eea197..000000000 --- a/transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc +++ /dev/null @@ -1,7 +0,0 @@ -import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS - -/// Returns the variance factor by which the versionUpdateBuffer may change -/// Expect value to be between 0 and 1 -pub fun main(): UFix64 { - return ExecutionNodeVersionBeacon.getVersionUpdateBufferVariance() -} diff --git a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc index fd6844e2c..85fe663f1 100644 --- a/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc +++ b/transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc @@ -2,6 +2,6 @@ import ExecutionNodeVersionBeacon from 0xEXECUTIONNODEVERSIONBEACONADDRESS /// Returns a Bool signifying if the given version is valid at the given block height /// or nil if the given block height is beyond the current block height -pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool? { +pub fun main(myBlockHeight: UInt64, myVersion: ExecutionNodeVersionBeacon.Semver): Bool { return ExecutionNodeVersionBeacon.isCompatibleVersion(blockHeight: myBlockHeight, version: myVersion) } \ No newline at end of file From e7c3e1d1c557125a161c2527f97ba09e01b9d3cc Mon Sep 17 00:00:00 2001 From: Satyam Agrawal Date: Wed, 21 Sep 2022 12:05:32 +0530 Subject: [PATCH 19/21] fix go tests --- lib/go/contracts/internal/assets/assets.go | 6 ++--- lib/go/templates/internal/assets/assets.go | 29 +++------------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index de300fa8b..e084377fe 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../../../contracts/ExecutionNodeVersionBeacon.cdc (18.38kB) +// ../../../contracts/ExecutionNodeVersionBeacon.cdc (16.409kB) // ../../../contracts/FlowContractAudits.cdc (8.77kB) // ../../../contracts/FlowFees.cdc (6.242kB) // ../../../contracts/FlowIDTableStaking.cdc (69.325kB) @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3c\x5b\x6f\xdb\xb8\x9a\xef\xf9\x15\x5f\xfb\x90\xb1\x3b\x89\xd3\x2e\x16\x8b\x45\x10\xf7\xa0\xcd\x69\xcf\x29\x30\xe8\x1c\xf4\x32\xe7\xa1\x08\x06\xb4\xf4\xc9\xe6\x46\x22\xbd\x24\x65\xc7\xdb\xe9\x7f\x5f\xf0\x2a\x52\x94\x1c\x25\xed\x2c\xf6\xf8\xa5\xb5\x45\x7d\xfc\xee\x57\x32\x17\x17\x17\xf0\x69\x43\x25\x14\x9c\x29\x41\x0a\x05\x54\x42\x2b\xb1\x04\xc5\xa1\xc4\x8a\x32\x2c\x61\x55\xf3\xe2\x16\x36\x48\xd7\x1b\x05\x84\x95\x20\x79\xa5\xf6\x44\x20\xec\x50\x48\xca\x19\xac\x78\xcb\x4a\x22\x28\xca\x13\x0d\xb1\xe2\x02\xd4\x06\xbb\x75\xa2\x65\xb0\x3a\xc0\x9b\x3b\x2c\x5a\xa5\x5f\x78\xcf\x4b\x94\x8b\x93\x6d\xbb\xea\x76\x0e\x4f\xf5\xc3\xdf\x2c\xe4\xd7\x48\x0a\xce\xe0\xeb\xc9\x09\x00\x80\x86\xfd\x51\x89\xb6\x50\x20\x70\x2b\x50\x22\x53\x94\xad\x73\x7c\x88\x84\x8f\xd8\x10\xa6\x68\x01\x0e\x52\x00\x40\x6a\xce\xd6\xb0\xa7\x6a\x03\x1b\xac\xb7\x28\xa0\x6a\x59\xa1\xf7\x95\x61\xcd\x5b\x2e\x40\x60\x85\x02\x59\x81\x67\x20\x11\x61\xa3\xd4\x56\x5e\x5e\x5c\x48\x6c\x76\x28\x16\x5c\xac\x2f\xcc\x72\x4d\x82\xb4\x38\x7d\x34\x8f\xe0\xab\xf9\xdd\x83\xba\xe6\xcd\x96\x33\x64\x4a\x5a\x7e\x6a\x7c\x09\x48\x8f\xdd\x2e\xc2\xce\x83\xab\x51\x41\x43\xfe\x8b\x8b\x4b\xf8\xfc\x8e\xa9\xff\xcc\x1f\x52\x36\xfe\x70\x4b\x54\xb1\x19\x7d\x28\xf0\x03\xd6\x48\x24\x5e\x6a\x4e\x52\xb6\xfe\xcb\x49\x82\xee\x6f\xa4\x6e\x11\x4a\x64\xdc\x70\xb6\xe0\xcd\x96\x28\xba\xa2\x35\x55\x07\xcb\xb4\xad\xc0\x1d\xe5\xad\xf4\xa8\xcb\x6c\x13\x2a\x5f\x93\xe2\x76\x4f\x44\x29\xaf\xdd\xfb\x35\x5e\xc2\x6b\xce\xeb\x6e\x33\xca\xa8\x9a\xc5\x54\x9e\x25\x64\x9d\x25\x74\x9c\x0d\x21\x7e\x76\x6c\xa3\x79\x24\x06\xfd\x91\x58\x57\x0b\xb3\x1d\x2c\x2d\x73\x07\x1e\xeb\xfd\xf5\x63\xfd\x6f\xfe\xd8\x20\x04\x4b\x8b\xd8\xc0\xe3\x80\xa1\x5e\x13\xbe\xe4\x0b\x07\xb1\x86\xe5\x30\x35\xe1\xf5\x6f\xa9\x9c\x3e\xa0\x6a\x05\x0b\x42\x00\xca\xbc\xfa\x55\x5c\x34\x44\xc1\x0c\x17\xeb\x05\xec\xae\x0c\xad\x2f\x17\x57\x86\xa8\x97\x8b\x2b\x83\xfd\xcb\xf3\xab\x0e\xc3\x97\xf3\x04\x32\x91\x40\x1c\x8b\x13\xc9\x56\x2d\x03\xc5\xed\x83\xd9\xdc\x4b\xa1\xc7\x66\x2d\x7e\x6b\x21\xd7\x5c\xa0\x5b\xb2\x8c\xb8\xbf\xe8\x40\x24\x2f\x9a\xcf\xa2\xe0\xac\x20\x6a\xf6\x74\xf1\xf4\xc8\xd3\xfc\x49\x2a\xc1\xa3\x5b\xcc\xbf\x7b\x0f\xc3\xc0\xe3\x7b\x24\x3f\x19\x1f\xa0\x81\x6a\xa5\x38\x17\x4e\x45\x68\x05\x54\x01\xde\x51\xa9\x24\x9c\x82\x30\xe2\x4c\xde\xa3\x55\xa6\x57\x4f\x96\xc0\x68\xdd\x63\xb9\xfe\xd8\xd7\x33\xce\x07\x5a\xcf\x9f\x06\xba\x7b\x30\x9f\xa4\xc8\x46\x5a\x76\x04\xee\xa0\x52\x3e\x83\xeb\x56\x2a\xde\x18\x8f\x47\x04\x51\x5c\x48\x78\x76\x31\xac\xb6\x4a\xb4\x86\x07\x4e\x67\x0b\x2e\x50\x47\x9e\xb5\x40\xa2\x50\x07\x0f\xc2\x92\xf7\xb6\x44\xea\xa0\x14\x2f\xd7\x81\xa8\x22\xb5\x44\xe0\x6a\x83\x62\x4f\x23\x5b\xf3\xfa\xaa\x17\xfe\xcd\xc2\xfc\xb4\x21\x6c\xf6\xbb\x5d\x7b\xe9\x00\xcd\xad\xaf\xe8\x31\x94\x56\x30\x8b\xdc\xc5\x4b\xfb\x8e\xfd\xd6\x77\x2b\x11\x93\x34\x49\x29\x2f\x01\x6b\x2b\xe9\x18\xdc\x72\x19\xc3\x83\xd3\xd3\xd8\xf7\x84\xbd\xf4\xb7\x3f\x79\xaf\xee\xa1\xf9\xea\x1f\x5a\x2f\xe7\x11\x31\xdf\x1e\x81\xc8\xe8\x0b\x46\x62\x3d\x95\x1b\xd2\xa6\x87\xe9\x0a\x44\xfe\x5a\xbf\x8a\xff\xdd\x92\x5a\xa7\x30\x3f\x46\x6f\x7e\x15\x6f\x34\xc0\x4f\x7c\x9a\x02\x05\xab\xa9\xab\x45\x5f\x03\xcd\xeb\x73\xf8\xe3\x8f\xee\xb1\x87\x6d\x1f\x3d\x92\x1b\x35\x4a\xf9\x43\xcd\xe6\x17\x94\x72\xba\xcd\x38\x92\x9f\x0c\xd1\xdc\x71\xef\xc7\x50\xf8\x67\x08\xdb\x53\xfb\x9d\x92\x0e\x4c\xfb\xd1\x62\xa6\xb2\x4f\x66\xf2\xd6\x63\x48\x7e\x34\xa1\xdf\xeb\x5b\xc2\xc3\x34\x91\x9a\xcc\x88\x67\x78\x47\x0a\x55\x1f\x9e\x4d\x61\xc9\x14\x6e\x48\x25\x68\xa1\xbe\x4b\xf0\xa9\x70\x3b\x82\xa3\x9c\x30\x50\x9d\xa7\x86\xd6\x05\x7e\xeb\x8a\x9c\x37\x3b\x64\x0a\xb0\xa1\x4a\x61\x09\x84\x1d\x40\xd1\x06\x81\x40\xb1\x21\x6c\x6d\xcc\xa1\x21\x25\x6a\xd2\x5d\x02\xf8\x89\xf8\x64\x51\x53\x85\xe6\xfd\xa1\x82\xca\xac\x7b\x55\x96\x54\xff\x3e\xb3\x35\x9d\x4d\xb2\xff\xe3\xdf\xcf\x3c\xb0\x40\xfb\x54\x80\x7f\xc5\x1a\xa7\x01\xbc\x8f\x44\x5d\x36\xfa\x9c\xb6\xdd\x96\x44\x21\xac\xda\xaa\x42\x01\x5b\x14\x94\x97\xc0\x05\xec\x88\xa0\x84\x15\x86\x0d\x76\x4d\x39\x01\xd1\xcf\x66\xe5\x6b\x03\xec\xda\xb0\xb1\x9c\x31\xdc\x0f\x3c\xf5\xe8\x4f\x21\x3f\x7e\xef\x37\x87\xd7\x71\xe8\x7e\xd5\x25\x7c\x7e\x4b\xef\xf4\x2e\x81\x27\xd7\x84\x71\x46\x0b\x52\x83\x54\x5c\x90\x35\xea\x5a\x63\x63\xca\xe9\xa1\xbd\x5f\x95\x0d\x65\x01\x47\x9d\x7a\x8f\xae\xfa\x68\xe1\xfd\x83\xa8\x8d\xce\xdc\xc3\x97\x6e\x6f\x23\x47\x28\x69\xa1\x88\xa9\xfc\x1a\xca\x68\xd3\x36\x41\x18\xe7\xf0\xd5\xf4\x01\xfe\xee\x24\x6c\x05\xfa\xad\xab\xcb\x37\xbc\xad\x4b\x58\x21\x70\x51\xa2\xc0\x52\x17\xfc\x49\xe7\x60\x46\x59\x89\x77\x73\xd8\x6f\x68\xb1\x01\xda\x55\xdb\xc8\x2a\x2e\x0a\xfb\x06\x65\x12\x85\xa6\xe0\xa2\x74\x3a\x65\x96\x91\xa2\x40\x29\x67\xbe\x57\x30\x37\xd4\xc6\xaa\x7f\x09\x5f\xad\xd0\x3a\xcc\x02\xfc\xf7\x6d\xb3\x42\x01\xbc\xb2\xf8\x48\x58\xa1\xda\x23\xb2\x14\xbd\xfd\x06\x59\xbf\xa1\x71\xd0\x2a\xe6\xdb\x20\x84\x95\x01\x64\xac\xa6\x61\xed\x0a\x35\xe3\xdc\xf2\x85\xed\x71\x40\x41\x18\xe0\xdd\x16\x0b\xa5\x83\x97\x72\x16\x2c\xb5\xe9\x46\x40\x3a\xf3\x75\xd0\x75\xb1\x5d\xd7\xb0\x21\x3b\x04\xa2\x40\xfb\x0b\x0d\x40\xc7\x41\xce\xd6\xfa\x6d\x81\x72\xcb\x99\x69\xd4\x90\x0c\x97\x61\xa6\xed\x88\xf0\x2b\x87\xf4\x3d\x6a\xb2\xa0\x72\x48\x13\xd3\x18\x01\x81\x6b\x22\x4a\x4d\xde\x86\xef\xa1\x69\x8b\x4d\x8c\x7d\x0c\xcc\x10\xbc\xb3\xec\xb0\x5c\x1e\x68\x12\x3d\x04\xbb\xbe\xbd\x44\x58\x72\xa1\x7d\xc7\x2b\x21\xc8\xc1\xb4\x91\x88\x6d\xaf\x54\xad\x6a\x05\x26\xd2\x95\x5a\xbc\x3a\x38\x1e\x93\x70\x00\xfc\x4f\xfc\xa9\xae\xa1\x21\xd4\x80\xb4\x6c\x27\x12\x90\xc8\x03\x34\xa8\x25\x48\x65\x63\xcc\xb2\x44\x85\xa2\xb1\xdb\x6e\x05\xbf\xa3\x0d\xa9\xbb\x2d\x0c\x02\x53\xc8\x6e\xb7\x05\x6f\x28\x5b\xbf\xd6\x6f\xbc\x0e\x2f\x5c\xc2\x17\x2b\x99\x9b\xfb\x89\xde\x50\xed\x33\x8c\xf3\x18\x22\x3c\x17\x02\xec\xf5\xef\x31\xe9\x83\xa8\x11\x51\x6c\xe8\x0e\xcb\x09\xa8\x19\x4f\xa3\xf5\x92\xb7\xa2\x40\xab\xee\x0d\x61\xc4\xa8\xfb\x06\x7b\xed\x3f\x8f\x92\xaf\x27\x35\x04\xcf\x72\x2c\xc1\xf3\xdd\x63\x13\xfc\x5c\x80\x3f\xea\xec\x7a\x1d\x38\xab\x4c\x06\x83\xbe\x53\xd3\x46\x48\x6e\x11\xb0\xaa\xb4\x81\x12\x65\x56\xad\xe9\xae\xe7\x1c\xb2\x94\x81\x94\xa5\xef\x50\x3a\x3d\xfa\xc4\x8d\x0d\xcf\x14\x11\x6b\x54\xaf\x63\x57\xe9\x83\x61\x17\x0f\x42\x3c\xec\xa5\x15\x5b\x31\x54\x3a\x65\x20\xe1\x25\xac\x51\x5d\xb7\x42\x20\xb3\xbf\xcf\xe6\x0b\xe7\xc6\x7e\x3e\xd2\x47\x5d\x0c\x98\xd7\x60\xa7\xe3\x12\x9e\x7e\x32\x9b\xa6\x2e\x92\x17\x45\x2b\xb4\xeb\xe2\x20\xb9\x65\x9f\x8b\xd1\x6f\xde\x7b\x9e\x2e\x9e\x1e\x6b\x28\x5c\x5c\xc0\x3b\xe3\xe1\xa1\x21\xdb\xad\xd6\x5b\xca\xba\x24\x46\x91\xb8\xe3\xa5\x3f\xf7\xd3\x62\xb8\xbe\xb0\x61\x23\x6f\xdb\xdc\xe2\xe1\x32\xe7\xdf\x59\xb6\xae\x13\x4d\xf2\x28\xeb\xe4\x38\xe4\x87\xdc\xff\x4f\xd2\x6d\x94\xf2\xcc\xd0\xa7\x36\xd8\x87\x44\x8c\x01\x7b\x85\x37\x5d\xe1\xba\x0e\x8e\x20\x85\xd1\x73\x21\x13\x98\x63\xf9\xf1\x79\xc0\xad\x1c\x72\x0d\x9d\xa7\x32\xd2\x39\xd9\x03\x72\xc7\x9c\xbb\x5d\xd6\xd7\xb1\x75\xb4\xe0\x31\xa9\xa3\x73\x10\xb5\x0e\x72\xc8\x94\xf6\xca\x2c\x09\x8d\x2e\x69\xb0\xde\x4a\x02\x61\x1d\xa7\x06\x43\x1f\x84\xee\xbb\x4b\x4a\x36\x58\x6f\xab\xb6\xd6\x70\x0b\x9d\x8e\x0b\x5e\xd7\x2b\x52\xdc\x6a\xf7\xcf\x10\xcb\xa8\x7a\xf0\x36\x6e\x12\x10\xf4\x3c\xec\x99\xfb\x6c\x95\x5b\xf8\xfc\x32\x1f\x01\xc0\xa8\x55\x4f\x55\xed\x5b\x3c\xc8\x85\x73\xf4\x32\xde\x76\x7e\x09\x4f\xdf\xf3\x2e\x90\x85\x3c\xc5\x65\x1a\xd1\xd2\x9e\x51\xde\xb3\xfd\x48\x34\x1a\x45\xc2\xf3\x04\x18\x57\x01\x0b\xca\xc6\xa2\xda\xbd\x1e\xe2\x0d\x93\xad\x09\x4d\x36\x01\xf4\x6e\xc7\x4c\x1f\x90\xf1\x76\xbd\xb1\xb5\x82\x0e\xc0\xcc\x24\x59\x5d\x3a\x94\xc0\xd2\x55\xe1\x90\x57\x58\xfd\x39\xae\x34\x77\x2b\x0d\x4a\x49\xd6\x78\x09\x4f\xaf\x09\xb3\xdc\xd1\x3a\x95\x27\x21\x9a\x36\x3a\x5e\xf1\x44\xc1\xdd\xf9\xcd\x3e\x17\xe7\x19\x17\x3f\x60\xc3\x77\x69\x41\xe5\x7d\xae\x2e\x8a\x47\x84\xa3\xd7\x33\xeb\x02\x4c\xd1\x93\x75\xf7\x85\x01\x5b\x06\x55\x5f\x4e\x56\x64\xfb\xe6\x88\x8f\x8e\x44\x92\xd2\xf5\x64\xaa\xcb\x1b\xd3\xb6\xb1\x6d\x89\xba\x7c\x0c\xb8\x8a\x0a\xa9\xde\xe9\x4a\x66\xc6\xab\x04\xef\x1e\xaa\x0f\xf2\xaa\x59\x01\xbd\x1a\xf4\xa7\x8e\xf9\xb9\xb0\xaf\x6b\x34\x3e\xb1\x73\x8b\xa7\x21\x73\xcb\xf2\x50\x58\x61\xc5\x45\x16\x91\x6c\x4f\x43\xbf\xeb\xb6\x09\x7a\xa3\x0d\x6d\x87\x82\x56\xb4\x20\xaa\x1f\x23\x8f\xf0\xd0\x61\xf0\x6b\xdd\xcf\x1e\x7b\x53\x13\xd7\x4d\x71\xdb\x8e\x45\x0a\x6b\x6a\x36\x52\xb0\x7e\x49\x67\x93\xcd\x56\x2a\x6f\x3c\xad\x5f\x3d\x52\x67\x79\xa8\xda\x16\xf4\x02\xcb\x24\x07\x37\x36\x1a\xea\xe3\xba\x1a\x9a\x88\xd9\x72\x6e\xa0\xcc\xd7\xd5\x7f\xfc\xfd\x1d\x33\x3c\x90\x21\x58\xf4\x83\x04\x97\xea\x51\x51\x22\x29\xbe\x96\x4b\x18\xdd\xf7\xe9\xe7\xc4\xbb\xec\x89\x34\x0e\x7b\x2b\xf8\x16\x45\x7d\x70\xa4\x94\x4f\xe0\x03\xee\x50\x17\x19\xf7\x3a\xea\xf7\xb8\xf7\xd0\x64\x28\xff\x9d\x2b\x13\xa6\x51\xc5\x2b\x57\x47\x6a\x35\xb4\x2b\x7d\xf7\x66\x92\xa7\xb6\x25\xdf\x18\x2f\xe7\xf0\x72\xe9\x97\x3c\x8c\x51\x73\x78\x06\xb3\x17\x8b\xe7\x70\xfe\x40\x0e\xfb\x6a\x74\x0e\xa7\xa7\x0f\xc6\xf6\xea\x7b\xb1\x7d\x68\x44\x0a\xd8\xde\x13\x9a\x80\xb3\xa0\x00\x83\x45\xfd\xea\xa0\xd3\x53\xbe\xd7\x4e\xc1\x77\xdf\x2a\xc1\x1b\x3b\xc1\x34\x09\xab\x59\x78\x6f\x54\xfa\x1b\x2a\x28\x6c\xb4\x4d\x73\xdc\x53\x28\x32\x1f\x36\x58\x40\xfb\x4f\xdd\x41\x8a\x4b\xa3\xe5\x68\x3c\xff\x11\x5e\x2b\xb3\x00\x1e\xfb\xd5\x70\x60\x06\x0f\x9c\x95\x29\x9d\x67\x20\x49\x65\x3a\xb6\x8d\xae\x38\x5d\x1b\xa8\x3f\x78\x7c\x44\x40\xaa\x91\xad\x95\xe9\xaa\x3f\xff\x01\xfe\x63\xcc\x7d\x4c\x1b\xf2\x39\x01\x6b\xf7\x19\xba\x21\x9d\x34\xfb\x09\x7a\x2c\x49\x86\x77\x2a\x29\x53\x8e\x27\x16\x23\xcc\xf8\xf2\xfc\xe6\x64\x08\x29\x97\x51\x9a\x20\xa1\x91\xdb\xe3\x4f\x02\x8d\xf7\x73\x32\xaa\x43\x0a\xa6\x1f\xf3\xda\x64\x5d\xac\x73\x6f\x36\x15\x1b\x02\xcd\x2b\x1b\x90\xf0\x4e\x0d\x16\x6d\x39\xb9\x63\xbe\x4e\x7f\x06\x14\xfa\xa1\x36\x0f\x57\x03\xcc\x1c\x70\x56\xa3\xdb\x8d\x68\xc0\x10\xdc\xdc\xad\x40\xe2\x5a\x0c\x9c\xce\x3b\x00\xe3\x7b\x58\x09\x24\xb7\x32\x4f\x81\x5d\xee\x1b\xb7\x1d\x17\xf0\xc9\x3f\x88\x80\x90\x4a\x69\x50\x9a\xe1\x7d\x20\x03\x75\xce\x7c\x50\x21\xfe\x89\xa6\x4f\xa9\xf1\xd1\x66\xd9\x39\xbf\x91\xae\xe6\xff\x91\x5d\x4d\x4c\x19\x1f\x32\xca\x18\x0b\x46\x53\xb2\xac\xe0\xea\xb7\x28\x0a\x64\x8a\xac\x51\x47\x02\x5b\x8b\x1f\xeb\xff\xae\xbc\x83\x4b\x67\x72\xf6\x70\x99\xcd\xd2\x30\xf4\x87\x9f\x2f\x9e\x9b\x2c\xec\xc5\xe2\xf9\xf4\xf4\xca\x47\xb6\xd9\xef\x7d\x0a\xb3\xf9\xca\xa4\x6a\x7c\x04\x88\x4e\x30\x34\x7e\xa7\xa7\xa3\x2b\xae\x96\x1a\x73\xd0\x75\x70\x9a\xe0\x04\x42\x77\x86\xec\x40\xae\x23\xb6\x9f\x5c\x25\x38\xfe\x88\x64\x30\x60\x98\x27\x85\x1d\x8f\x7a\x49\x61\xc0\xfd\x7b\xb3\xc3\xc7\xa2\x3a\x86\xe9\xc3\x0d\xe3\xa1\xd3\xb8\x91\x8d\x23\xff\x91\x8d\x69\xc3\x8c\x7a\x83\x21\xd8\xb7\xb1\x2d\xb8\x0a\xde\x85\x16\x6b\x37\xbd\x43\xb0\x01\x98\xb3\x1b\x22\x75\xa8\x2a\x93\x12\xc4\x8c\x82\x4c\xb4\x32\xb4\x9c\xc4\x16\xb2\x46\x35\x54\x7d\xcc\x7d\x9d\x11\xa9\x51\x3c\xb4\x1e\xf3\x71\xff\x12\xd4\x05\xe3\x9f\x7b\x23\x9f\x4e\x65\xa2\x50\x03\xd4\x12\x28\xf8\xf6\xe0\xc3\x7a\xd5\xd6\x75\xdc\x7d\x19\x9c\xb6\xa7\x88\xda\x31\xc0\x3c\x1f\x48\x1e\xc7\xb1\x03\x19\x21\xf5\xd6\x9d\x4c\xb6\x99\x8b\x88\x04\x12\x26\x18\xfa\x81\x36\xd6\xa4\xfb\x87\xd0\x70\xa9\x02\x18\x81\x45\x96\x6f\x87\xb8\xab\x13\x1d\x4d\x25\xad\x80\xf1\x3c\x5b\xeb\xcf\xc7\x22\x82\x5d\x96\x3d\x64\x88\xb3\xd0\x0b\xfd\x4b\x32\x8d\xf1\xc3\x98\x15\x57\x9b\xd1\x16\xd4\xe9\xd8\xd0\xc9\x36\xcd\xbb\x98\x69\xf8\x37\x29\x5d\x0f\x02\x36\x07\x28\x2d\xa9\xf1\xc4\xac\xdb\xc2\x4c\x5c\x57\xda\x51\xc7\x54\x43\x74\x20\x33\x69\x6a\xc5\xd9\xb7\x3f\xed\x33\x82\xfd\x91\x4c\x5d\x04\xdc\x86\xc3\xb2\x47\xbe\xdf\xcc\xb3\xe7\xf4\x43\xeb\x7c\x64\x06\x98\xa7\xa2\x63\xfa\xe7\x66\x7a\xb3\x29\x64\x9c\xc3\x8b\xf9\xcd\xa8\x15\x31\x37\xe0\x88\x26\x94\x59\x97\x45\x6b\xae\x4d\x25\xc2\x1c\x29\x9e\xb1\x13\x29\x79\x41\x89\x8a\x1a\x51\x41\x29\xcf\xe1\xcb\x2a\x4e\x44\x47\x4f\x9c\xdc\x04\x70\xef\x8c\x45\xdb\xb3\x64\xb1\xa2\x67\xb0\x9d\xdc\xcf\x82\xbd\x61\xb3\x55\x07\x47\xcf\x39\x7c\xb9\xe9\xdb\xc1\x7b\xbc\x53\xbd\xf1\xc0\x3f\x08\x35\x3e\xf8\xcb\x2b\x76\xb0\x37\x16\x6e\xfc\x25\x86\xd4\x10\xc6\x6c\x40\x72\xd8\x23\xdc\xea\x04\xd5\x16\x2b\xa6\x42\x2f\x91\xd4\xd4\xdf\x5e\xf0\x63\xee\xbc\x3c\x7e\x90\x5d\xbc\xe7\xf0\xb6\x0f\x29\x78\x93\x5f\x3f\x80\x19\xca\x79\x39\x1a\xd6\xf9\x83\xff\xc6\x73\xc7\xa0\x9c\x5a\xc5\xfc\x22\xd2\x71\x9d\x98\x82\x2b\xde\x43\x71\x93\x27\x72\x56\xa0\xd0\x7b\x69\xa2\x32\x63\x9b\x52\xf5\x7a\xbb\x1b\x35\xcc\x41\x63\x73\x72\xcc\x6d\xed\xf5\x01\x2c\xdb\x2d\xfb\xbb\xea\x2e\x34\xeb\x8d\x40\x52\xc4\x93\x83\x22\x32\x06\x67\xc2\x08\x15\x52\x01\xd6\xd8\x68\x3f\xec\xaa\xcc\x31\xd1\x1b\xc6\xf5\x4d\xf5\x4b\x42\xc2\x31\xd6\x7c\x79\x7e\x73\x96\x2f\x4e\xac\xfc\x9e\xd7\x3b\xc6\x64\xf6\x7d\xbd\x41\x5d\x0a\xee\x37\xa8\xa5\xea\x26\xe5\x21\x90\x13\x19\x2e\x8c\xd4\x98\x4e\xd3\x47\x5c\x53\x62\x4a\x34\xba\xf7\xe0\xe3\xc8\xc0\x98\x2d\x3f\x55\x66\x8f\xe8\xc5\x91\x86\x56\x53\x87\x3c\x0f\x74\xc4\x6f\x29\x2b\xb3\x2b\x30\x9d\x6a\x9c\x42\xa1\x39\x94\x1d\x34\xe8\x8d\x33\x63\x88\x61\x5c\xd7\x77\xd2\xb4\x8a\x4f\x39\x45\x7d\x11\x23\x3e\x89\xda\xc0\xdf\x72\x71\x5d\x73\x89\x52\xfd\x3d\x30\x38\x9d\xf6\xc6\x03\x8a\x81\xcb\x1a\x0e\x51\xc7\x6e\x0f\x3c\xd1\x96\x1e\x02\x37\x4f\xf2\x81\x1d\x35\xda\xd0\xeb\x9a\xf7\x0e\x68\x77\xa7\x35\xe3\x93\x18\x52\xc5\x0e\xbe\x0f\x38\x19\x65\x0e\x77\x54\x2e\x2e\xe0\xd7\x0f\xfd\x5f\xc6\x77\xd0\x88\xad\xfc\x35\x9b\x48\x5b\x87\xb4\x20\x6f\xd1\xf8\x33\x0e\xa3\x27\x9c\x53\x76\xe6\x77\x43\x4e\x4f\x03\x8c\xe3\xd7\x7d\xfc\x27\x07\xf1\xc7\x1f\x3d\xa1\xdd\x03\xe9\x5b\xac\x6c\xaf\xa4\x6c\x4d\xd4\x63\xbc\xd3\xe2\xa0\xbd\xf6\x3a\xca\xd9\xf0\x59\xfd\xec\xc7\x38\x4f\xa5\x6e\x8a\x42\x64\x81\xac\xb4\x77\xf2\x84\xea\x4e\xf3\x81\x39\xfb\x17\x2e\x06\xba\x93\xda\x99\x27\xc8\x4e\x20\x19\xb7\x70\xe4\x2c\xc3\xef\xf9\xf1\x83\xa1\x01\x4b\x1e\x6f\x8f\xcf\xc7\x88\xc6\x8e\xb3\xc1\x4e\xf5\xe3\xa2\x6c\xc8\x3e\x5c\x1c\x1c\x73\xfe\x9a\x41\xd9\x71\x1f\xad\xb3\xb6\xa5\x4c\xd2\x80\x3b\xda\x29\x3f\x03\x49\x9b\x6d\x7d\x00\x9d\x24\xb2\x3c\x87\x9d\x10\x56\x4f\x7a\x4a\x37\x74\x0a\xe9\x68\x20\x99\xb2\xd1\x39\xbc\xb8\x19\xba\xa9\x37\xf6\x9a\x25\x67\xe8\x08\x4b\xa7\xee\x99\xbb\xd6\x1a\x67\xf5\xcf\x55\x75\x85\x75\x99\x69\x92\xdc\xdd\x2f\xd0\x4b\xec\x0e\x01\xd4\x8e\x08\xa0\x10\x73\x65\xbf\xa1\x35\x1e\x67\x00\xbd\x81\xab\x01\xb6\xf5\x6e\x1b\xc1\x12\x28\xfc\x0c\x2f\x86\x0d\xd6\x1d\x38\x72\xb1\xb4\xa4\xb2\xe0\x3b\x73\xba\x96\x6c\xb7\x82\x6f\x85\xce\x8f\x2d\x71\x27\x93\x18\xe8\x0e\x4a\x11\x75\x09\xf4\x2c\x47\x6e\x9e\x27\xf4\x0d\xdf\xe9\xb2\xc8\x85\x97\xde\xe1\x42\x33\x03\xca\x8f\x32\xf5\xf4\x72\xe4\x04\x68\x38\x4c\x37\x6e\x43\xa9\x0d\x9b\xec\x63\xe0\xd4\xae\xbf\xc0\xab\x0d\xa5\x20\x75\x1d\x15\x6d\x0f\x9f\x12\x25\x1b\xd6\x48\x44\xe4\x28\x73\xda\xc7\xec\xd8\xe5\x78\x69\x2e\xe7\xc6\xcd\x56\x89\xcd\xc1\xdd\xe1\x12\xeb\x01\x4a\xe6\x0d\xe9\x25\x3c\x0f\xb7\x0e\xc6\x33\x3b\xb8\x1a\x62\x46\x9e\x15\x0c\xe1\x15\x32\x8f\xe3\x07\x2d\xde\xea\x54\xb7\x37\xdf\x3f\x5a\x4e\x3a\x93\x1e\xdc\x72\x3e\xde\x7b\x7b\x4d\x99\xc6\xc9\xa6\x41\x40\xea\x35\x17\x54\x6d\x1a\xcd\xd5\x4a\x1b\xbd\xb7\x71\xdb\x7c\xbd\xc5\xfc\x48\x99\xc9\x2c\xa8\x84\xab\xa5\x3f\xb8\x67\xd6\x8e\x07\xa2\xa9\x29\x97\x0f\x4a\xd1\xb9\x30\xfb\x9f\xe1\x5e\x48\x88\x43\xe6\xae\x4a\x7e\x76\xf9\xbb\x2b\xbc\xb4\xf3\xd1\x3f\x0d\x61\xee\x16\x99\x8a\xcd\x1c\xa7\x8a\x32\xf5\x18\xc6\x08\x42\xff\xbf\xdb\x25\xa6\x29\x92\xe6\x8e\x86\x03\x56\xda\x21\xaa\x9e\x0c\xa8\xfe\x2f\x6e\xf3\x29\x28\xc6\x24\x3b\xd8\x2f\x8f\xbf\xf8\x25\xdd\x65\x20\x0a\xc6\x1d\x9a\xe9\x40\x46\xd8\xf1\x57\x23\x1a\x6f\x2b\x86\x15\x32\x09\x6d\x35\x56\x2a\x89\x6e\xfa\x47\xe1\x3c\x65\xb2\x4d\x0c\xf6\x17\xce\xb7\xd0\x32\x45\x6b\x0f\x7a\xcb\x29\x53\x28\x24\x14\x82\xcb\xbe\x1b\x33\x9b\x5c\x39\xb0\x29\xb5\x7a\xbb\x86\x96\xb0\x84\x99\x59\xf5\xb3\x5d\x35\x87\x0b\xf8\xb7\x34\x5a\x56\xc7\x59\xd2\xd0\xf2\x46\x6b\x8c\x13\xc3\x91\x9b\xd2\xf7\x00\x39\x32\x9c\xe9\xa4\x7c\x35\x01\x99\x1c\x05\x5a\x19\x5a\x9d\xc7\xf6\x0a\x73\x2f\x28\x38\xcf\x94\xe4\x81\x44\xa5\x2a\x32\x4c\x9c\x01\xe7\x04\xdf\xd0\x74\xe2\x3d\x3a\xf6\x77\x14\x5d\xc1\x2c\x53\xc9\x79\x44\xe3\xfd\xec\xd2\x79\xd0\x77\x12\x39\x85\x40\xa7\xee\x6e\xc3\x11\x51\x7f\x3b\xd6\x3c\x56\x1b\x73\xd1\x44\xef\xdc\x2f\x90\xbc\x57\x72\x26\x68\xfe\xce\xc5\x91\x4b\x37\x67\x53\xee\xbc\xcc\x7b\x57\x1a\xde\x31\xaa\x28\xa9\xe9\xff\x60\xf7\xe7\x53\xcc\xe8\x6e\x55\xf7\x83\xc4\x94\x2b\x61\xb0\x84\x0b\x77\xe3\xec\xe2\xf8\x45\x33\x18\xea\x27\xc1\x12\xbe\x7e\x1b\x7c\xdc\x9b\x81\x1f\x1b\xac\xdf\x37\xaf\x19\x7e\x3d\x1b\x0f\x1e\x53\x0f\x58\xc6\x4d\xbf\x63\xb9\x8c\x5d\x99\xb0\xfc\xa3\x0e\x74\xe3\x57\x4e\x14\xf7\x77\xf6\x7a\xa8\x14\x05\x6f\x99\x5a\x48\xb2\xc3\xd9\xd5\x79\x61\x9a\x06\xe3\x70\x66\xf3\x33\x50\xfc\x72\xba\xe8\x7c\xc2\xfe\xed\x04\xfe\x37\x00\x00\xff\xff\x54\x83\x01\x4c\xcc\x47\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3b\x5d\x6f\x1b\x39\x92\xef\xfe\x15\x95\x3c\x78\xa4\x19\x5b\x9e\x39\x1c\x0e\x07\x9f\x95\x45\xec\x4d\x76\x03\x0c\x32\x8b\x24\xb3\xfb\x60\x18\x03\xaa\xbb\x5a\xe2\xb9\x9b\xd4\x91\x6c\xc9\xba\x4c\xfe\xfb\x81\x1f\xcd\x26\x9b\xec\xb6\xec\x24\xc0\xf9\x25\x91\x48\x16\xeb\xfb\x8b\xa5\x8b\x8b\x0b\xf8\xb4\xa1\x12\x0a\xce\x94\x20\x85\x02\x2a\xa1\x95\x58\x82\xe2\x50\x62\x45\x19\x96\xb0\xaa\x79\x71\x0f\x1b\xa4\xeb\x8d\x02\xc2\x4a\x90\xbc\x52\x7b\x22\x10\x76\x28\x24\xe5\x0c\x56\xbc\x65\x25\x11\x14\xe5\x89\x86\x58\x71\x01\x6a\x83\xfd\x3e\xd1\x32\x58\x1d\xe0\xcd\x03\x16\xad\xd2\x07\xde\xf3\x12\xe5\xe2\x64\xdb\xae\xfa\x9b\xfd\xaa\x5e\xfc\xa7\x85\x7c\x8d\xa4\xe0\x0c\x3e\x9f\x9c\x00\x00\x68\xd8\x1f\x95\x68\x0b\x05\x02\xb7\x02\x25\x32\x45\xd9\x3a\xc5\x87\x48\xf8\x88\x0d\x61\x8a\x16\xe0\x20\x79\x00\xa4\xe6\x6c\x0d\x7b\xaa\x36\xb0\xc1\x7a\x8b\x02\xaa\x96\x15\xfa\x5e\xe9\xf7\xbc\xe5\x02\x04\x56\x28\x90\x15\x78\x06\x12\x11\x36\x4a\x6d\xe5\xe5\xc5\x85\xc4\x66\x87\x62\xc1\xc5\xfa\xc2\x6c\xd7\x24\x48\x8b\xd3\x47\xb3\x04\x9f\xcd\xf7\x1d\xa8\x1b\xde\x6c\x39\x43\xa6\xa4\xe5\xa7\xc6\x97\x80\xec\xb0\xdb\x05\xd8\x75\xe0\x6a\x54\xd0\x90\xff\xe6\xe2\x12\x7e\x7f\xc7\xd4\x7f\xa6\x8b\x94\x8d\x2f\x6e\x89\x2a\x36\xa3\x8b\x02\x3f\x60\x8d\x44\xe2\xa5\xe6\x24\x65\xeb\xbf\x9c\x44\xe8\xfe\x93\xd4\x2d\x42\x89\x8c\x1b\xce\x16\xbc\xd9\x12\x45\x57\xb4\xa6\xea\x60\x99\xb6\x15\xb8\xa3\xbc\x95\x1d\xea\x32\xb9\x84\xca\x6b\x52\xdc\xef\x89\x28\xe5\x8d\x3b\x5f\xe3\x25\x5c\x73\x5e\xf7\x97\x51\x46\xd5\x2c\xa4\xf2\x2c\x22\xeb\x2c\xa2\xe3\x2c\x87\xf8\xd9\xd4\x45\xf3\x40\x0c\xfa\x4f\x62\x5d\x2d\xcc\x75\xb0\xb4\xcc\xcd\x2c\xeb\xfb\xf5\xb2\xfe\x37\x5d\x36\x08\xc1\xd2\x22\x96\x59\xf6\x18\xea\x3d\xfe\x43\xba\x31\x8b\x35\x2c\xf3\xd4\xf8\xe3\x5f\x62\x39\x7d\x40\xd5\x0a\xe6\x85\x00\x94\x75\xea\x57\x71\xd1\x10\x05\x33\x5c\xac\x17\xb0\xbb\x32\xb4\xbe\x5a\x5c\x19\xa2\x5e\x2d\xae\x0c\xf6\xaf\xce\xaf\x7a\x0c\x5f\xcd\x23\xc8\x44\x02\x71\x2c\x8e\x24\x5b\xb5\x0c\x14\xb7\x0b\xb3\x79\x27\x85\x01\x9b\xb5\xf8\xad\x85\xdc\x70\x81\x6e\xcb\x32\xe0\xfe\xa2\x07\x11\x1d\x34\x7f\x8b\x82\xb3\x82\xa8\xd9\xcb\xc5\xcb\x89\xd5\x74\x25\x96\xe0\xe4\x15\xf3\xaf\xbe\xc3\x30\x70\xfa\x8e\xe8\x2b\xe3\x03\x34\x50\xad\x14\xe7\xc2\xa9\x08\xad\x80\x2a\xc0\x07\x2a\x95\x84\x53\x10\x46\x9c\xd1\x39\x5a\x25\x7a\xf5\x62\x09\x8c\xd6\x03\x96\xeb\x3f\x7b\x3c\xe1\xbc\xa7\xf5\xfc\xa5\xa7\x7b\x00\xf3\x45\x8c\x6c\xa0\x65\x13\x70\xb3\x4a\xf9\x23\xdc\xb4\x52\xf1\xc6\x78\x3c\x22\x88\xe2\x42\xc2\x8f\x17\x79\xb5\x55\xa2\x35\x3c\x70\x3a\x5b\x70\x81\x3a\xf2\xac\x05\x12\x85\x3a\x78\x10\x16\x9d\xdb\x12\xa9\x83\x52\xb8\x5d\x07\xa2\x8a\xd4\x12\x81\xab\x0d\x8a\x3d\x0d\x6c\xad\xd3\x57\xbd\xf1\x6f\x16\xe6\xa7\x0d\x61\xb3\x3f\xec\xde\x4b\x07\x68\x6e\x7d\xc5\x80\xa1\xb4\x82\x59\xe0\x2e\x5e\xd9\x33\xf6\xd3\xd0\xad\x04\x4c\xd2\x24\xc5\xbc\x04\xac\xad\xa4\x43\x70\xcb\x65\x08\x0f\x4e\x4f\x43\xdf\xe3\xef\xd2\x9f\xbe\xf3\x5d\xfd\xa2\xf9\xd8\x2d\x5a\x2f\xd7\x21\x62\x3e\x3d\x03\x91\xd1\x03\x46\x62\x03\x95\xcb\x69\xd3\xd3\x74\x05\x02\x7f\xad\x8f\xe2\xff\xb4\xa4\xd6\x29\xcc\xb7\xd1\x9b\xdf\xc4\x1b\x0d\xf0\x13\x3f\x4e\x81\xbc\xd5\xd4\xd5\x62\xa8\x81\xe6\xf8\x1c\xfe\xfc\xb3\x5f\xee\x60\xdb\xa5\x67\x72\xa3\x46\x29\xbf\xa9\xd9\xfc\x8a\x52\x1e\x6f\x33\x8e\xe4\x17\x39\x9a\x7b\xee\x7d\x1b\x0a\xbf\x87\xb0\x3b\x6a\xbf\x52\xd2\x9e\x69\xdf\x5a\xcc\x54\x0e\xc9\x8c\x4e\x3d\x87\xe4\x67\x13\xfa\xb5\xbe\xc5\x2f\xc6\x89\xd4\xd1\x8c\xf8\x11\x1f\x48\xa1\xea\xc3\x8f\xc7\xb0\xe4\x18\x6e\x48\x25\x68\xa1\xbe\x4a\xf0\xb1\x70\x7b\x82\x83\x9c\xd0\x53\x9d\xa6\x86\xd6\x05\x7e\xe9\x8b\x9c\x37\x3b\x64\x0a\xb0\xa1\x4a\x61\x09\x84\x1d\x40\xd1\x06\x81\x40\xb1\x21\x6c\x6d\xcc\xa1\x21\x25\x6a\xd2\x5d\x02\xf8\x89\x74\xc9\xa2\xa6\x0a\xcd\xf9\x5c\x41\x65\xf6\xbd\x2e\x4b\xaa\xbf\x9f\xd9\x9a\xce\x26\xd9\xff\xf1\xef\x67\x1d\x30\x4f\xfb\xb1\x00\xff\x8a\x35\x1e\x07\xf0\x31\x12\x75\xd9\xd8\xe5\xb4\xed\xb6\x24\x0a\x61\xd5\x56\x15\x0a\xd8\xa2\xa0\xbc\x04\x2e\x60\x47\x04\x25\xac\x30\x6c\xb0\x7b\xca\x23\x10\xfd\xdd\xec\xbc\x36\xc0\x6e\x0c\x1b\xcb\x19\xc3\x7d\x66\xb5\x43\x3f\xc0\xf6\x86\x30\xce\x68\x41\x6a\x90\x8a\x0b\xb2\x46\x5d\x05\x6c\x4c\xa1\x9b\xbb\xeb\x75\xd9\x50\xe6\x71\xd2\x49\xf1\xe8\xae\x8f\x16\xde\x3f\x88\xda\xe8\x9c\xda\x7f\xe8\xef\x36\x1c\x86\x92\x16\x8a\x98\x9a\xac\xa1\x8c\x36\x6d\xe3\xd9\x74\x0e\x9f\x4d\x85\xfe\x77\xc7\x7b\xcb\xea\x2f\x7d\xc5\xbc\xe1\x6d\x5d\xc2\x0a\x81\x8b\x12\x85\x2e\xe8\x0f\x71\x4d\x3f\xa3\xac\xc4\x87\x39\xec\x37\xb4\xd8\x00\xed\xeb\x60\x64\x15\x17\x85\x3d\x41\x99\x44\xa1\x29\xb8\x28\x9d\xb4\xcd\x36\x52\x14\x28\xe5\xac\xab\xe2\xe7\x86\xda\x50\x29\x2f\xe1\xb3\x65\x67\x8f\x99\x87\xff\xbe\x6d\x56\x28\x80\x57\x16\x1f\x09\x2b\x54\x7b\x44\x16\xa3\xb7\xdf\x20\x1b\xb6\x1a\x0e\x5a\xf8\x5d\x83\x82\xb0\xd2\x83\x0c\x15\xc8\xef\x5d\xa1\x66\x9c\xdb\xbe\xb0\xdd\x07\x28\x08\x03\x7c\xd8\x62\xa1\x74\x58\x51\xce\xb6\xa4\x36\xaa\x00\x48\x6f\x58\x0e\xba\x2e\x83\xeb\x1a\x36\x64\x87\x40\x14\x68\x4b\xd6\x00\x74\x84\xe2\x6c\xad\x4f\x0b\x94\x5b\xce\x4c\x0b\x85\x24\xb8\xe4\x99\xb6\x23\xa2\xdb\x99\xd3\xc4\xa0\xfd\xc1\x85\xb6\x97\xd7\x42\x90\x83\x69\x9d\x10\xdb\x52\xa8\x5a\xd5\x0a\x8c\xf8\x26\x35\xe3\x74\x40\x98\xe2\x9d\x07\xfc\x2f\xfc\xa1\xae\xa1\x21\xd4\x80\xb4\x04\x11\x09\x48\xe4\x01\x1a\xd4\xbc\xa1\xb2\x31\x0a\x5f\xa2\x42\xd1\xd8\x6b\xb7\x82\x3f\xd0\x86\xd4\xfd\x15\x06\x81\xa0\x1f\x34\x4a\x6e\xbb\x2d\x78\x43\xd9\xfa\x5a\x9f\xb8\xf6\x07\x2e\xe1\xd6\xd2\x7c\xf7\x38\xd1\x1b\xaa\xad\xd1\x98\x65\x8e\xf0\xb4\x3b\x05\x7b\xfd\x7d\x48\x7a\x16\x35\x22\x8a\x0d\xdd\x61\x79\x04\x6a\xc6\x86\xb5\xc4\x79\x2b\x0a\xb4\x8a\xd4\x10\x46\x8c\x22\x6d\x70\xd0\xf2\xea\x50\xea\x6a\x28\x0d\xa1\x63\x39\x96\xd0\xf1\xbd\xc3\xc6\x7b\x10\x0f\x7f\xd4\x8d\x0c\xba\x4e\x56\x89\x0c\x06\x43\x77\xa1\xd5\x9b\xdc\x23\x60\x55\x69\xd5\x27\xca\xec\x5a\xd3\xdd\xc0\xec\x92\x30\x49\xca\xb2\xeb\xca\x39\x3d\xfa\xc4\x8d\x75\xcc\x14\x11\x6b\x54\xd7\xa1\x13\xea\x02\x40\xef\x61\x7d\x0c\x18\x84\xd2\xad\xc8\x95\x0b\x09\x48\x78\x05\x6b\x54\x37\xad\x10\xc8\xec\xf7\xb3\xf9\xc2\x39\x88\x9f\x26\x7a\x87\x8b\x8c\x59\x65\xab\xfb\x4b\x78\xf9\xc9\x5c\x1a\x3b\x1f\x5e\x14\xad\xd0\x4e\x81\x83\xe4\x96\x7d\x2e\x2e\xbd\x79\xdf\xf1\x74\xf1\x72\xaa\x88\xbe\xb8\x80\x77\xc6\x77\x42\x43\xb6\x5b\xad\xb7\x94\xf5\x81\x5b\x91\xb0\xcb\xa3\xff\x1e\xa7\xc5\x70\x7d\x61\x1d\x72\xda\xaa\xb8\xc7\xc3\x65\xca\xbf\xb3\x64\x5f\x2f\x9a\x68\x29\xe9\x5e\x38\xe4\x73\x8e\xf5\x07\xe9\x2e\x8a\x79\x66\xe8\x53\x1b\x1c\x42\x22\xc6\x80\x3b\x85\x37\x9d\xd0\xba\xf6\x8e\x20\x86\x31\x70\x21\x47\x30\xc7\xf2\xe3\xf7\x8c\x5b\x39\xa4\x1a\x3a\x8f\x65\xa4\xf3\x90\x27\xe4\x4b\x29\x77\xfb\x4c\xa7\x67\xeb\x68\x92\x6f\xd2\x25\xe7\x20\x6a\x1d\x3e\x90\x29\xed\x95\x59\x14\x74\x5c\x38\xb6\xde\x4a\x02\x61\x3d\xa7\xb2\x41\x05\x7c\xc7\xd9\x85\xfb\x0d\xd6\xdb\xaa\xad\x35\xdc\x42\xa7\xa0\x82\xd7\xf5\x8a\x14\xf7\xda\xfd\x33\xc4\x32\xc8\x98\x3b\x1b\x37\xa1\x1d\x3b\x1e\x0e\xcc\x7d\xb6\x4a\x2d\x7c\x7e\x99\xb6\xbd\x61\xd4\xaa\x8f\x55\xed\x7b\x3c\xc8\x85\x73\xf4\x32\xbc\x76\x7e\x09\x2f\xdf\xf3\x3e\x90\xf9\x0c\xc0\xc5\xf0\x60\xeb\xc0\x28\x1f\xb9\x7e\x24\x1a\x8d\x22\xd1\xf1\x04\x18\x57\x1e\x0b\xca\xc6\xa2\xda\xa3\x1e\xe2\x0d\x93\xad\x09\x4d\x36\xb5\xea\xdc\x8e\xe9\xb8\x23\xe3\xed\x7a\x63\xf3\x63\x1d\x80\x99\x49\x5f\xfa\x44\x23\x82\xa5\x2b\xa1\x9c\x57\x58\x7d\x1f\x57\x9a\xba\x95\x06\xa5\x24\x6b\xbc\x84\x97\x37\x84\x59\xee\x68\x9d\x4a\x93\x10\x4d\x1b\x1d\xcf\xf2\x83\xe0\xee\xfc\xe6\x90\x8b\xf3\x84\x8b\x1f\xb0\xe1\xbb\xb8\x88\xe8\x7c\xae\x2e\x04\x47\x84\xa3\xf7\x33\xeb\x02\x4c\xf9\x90\x74\xb4\x85\x01\x5b\x7a\x55\x5f\x1e\xad\xc8\xf6\xe4\x88\x8f\x0e\x44\x12\xd3\xf5\xe2\x58\x97\x37\xa6\x6d\x63\xd7\x12\x75\xf9\x1c\x70\x15\x15\x52\xbd\xd3\x35\xc2\x8c\x57\x11\xde\x03\x54\x9f\xe4\x55\x93\xa2\x71\x95\xf5\xa7\x8e\xf9\xa9\xb0\x6f\x6a\x34\x3e\xb1\x77\x8b\xa7\x3e\x73\x4b\xf2\x50\x58\x61\xc5\x45\x12\x91\x6c\x1d\xaf\xcf\xba\x6b\xbc\xde\x68\x43\xdb\xa1\xa0\x15\x2d\x88\x1a\xc6\xc8\x09\x1e\x3a\x0c\x7e\xab\x87\xd9\xe3\xe0\xa5\xc0\x75\x10\xdc\xb5\x63\x91\xc2\x9a\x9a\x8d\x14\x6c\x58\x2c\xd9\x64\xb3\x95\xaa\x33\x9e\xb6\xdb\x3d\x52\xc1\x74\x50\xb5\x2d\xe8\x0d\x96\x49\x0e\x6e\x68\x34\xb4\x8b\xeb\x2a\xf7\x0a\x64\x0b\xa5\x4c\xe1\xac\xeb\xe9\xf0\xf3\x3b\x66\x78\x20\x7d\xb0\x18\x06\x09\x2e\xd5\xb3\xa2\x44\x78\x09\x2c\x97\x30\x7a\xef\xcb\xdf\x23\xef\xb2\x27\xd2\x38\xec\xad\xe0\x5b\x14\xf5\xc1\x91\x52\xbe\x80\x0f\xb8\x43\x5d\x64\x3c\xea\xa8\xff\x86\x0a\x0a\xeb\x3a\xa3\x84\x65\x91\x78\x8d\x22\x70\xb0\xce\xf1\x2e\x47\x1d\x6f\x56\xb9\xdb\xad\x91\xca\x20\x41\xb2\xf2\x3a\x3a\x2d\x9a\x50\xc8\xff\x4a\xa8\xeb\x63\xab\xb6\x19\x3f\x00\x80\x07\x5d\xcf\x46\x64\x9f\x81\x24\x95\xe9\x40\x35\xba\x9a\x70\xc5\xf3\xf0\x21\xe5\x19\xce\xa6\x46\xb6\x56\xa6\x4b\xf8\xf3\x37\xd0\x8d\x31\xd5\x38\xee\xd1\xc2\xc9\x5b\x0b\xc1\x57\xba\xbd\x34\x86\xc9\x57\x28\x7c\x86\x0f\x2a\x4a\x41\xa7\x83\xc6\x08\x33\x6e\x7f\xbe\x3b\xc9\x21\xe5\xb2\x05\xe3\x00\x34\x72\x7b\xfc\x41\xa0\xd1\x6c\x27\xa3\xda\x87\x57\xbd\xcc\x6b\x13\x51\x19\xee\xe3\x30\x9b\x03\xcd\x2b\xeb\x6c\xf0\x41\x65\x13\xf2\x94\xdc\xb1\x8c\x43\xff\x65\x6c\xe0\xa9\x19\x06\x5c\x65\x98\x79\x7a\x7a\xfc\x75\x23\x1a\x90\x83\x9b\x66\x33\x10\x65\x34\x06\x8e\x91\xbd\x45\x8d\xf1\x3d\xac\x04\x92\x7b\x99\xa6\x37\x2e\xaf\xb1\x1d\x26\x13\x42\xe4\x02\x3e\x75\x0b\x01\x10\x52\x29\x0d\x4a\x33\x7c\x08\x24\x93\xc3\xce\xb3\x0a\xf1\x2f\x34\xed\x2c\x8d\x8f\x36\x4b\xef\xd9\x42\xaf\x3e\x59\x01\x7f\x1f\xbb\x3a\x32\x1d\x78\x4a\x6b\x76\xe4\xde\xf9\x78\x33\xdd\xbf\x24\x6c\xd0\xbb\xb0\x36\x24\xc6\xe5\x9c\xce\x60\x6c\xd5\x35\x18\x55\xf2\xc0\x34\x97\x57\xa8\x75\xbe\x15\x58\x46\x41\xd3\xb4\x05\x8d\x0d\x1a\x12\x7c\xf3\x46\x87\xcc\x35\xaa\x5c\xbc\x9c\x77\x91\x31\xf0\x3d\xe1\xd3\xc2\x98\xe4\x32\xd4\x11\x28\xf8\xf6\xd0\x99\x6f\xd5\xd6\x75\x98\x41\x67\x5f\x09\x62\xc4\x6c\x2b\x67\x9e\xb6\x6b\xa7\x71\xeb\x41\x06\x48\xbd\x75\x13\x55\xd6\x43\x89\x40\x00\xbe\x0b\xa5\x17\x74\x38\x8e\x2a\x38\x84\x86\x4b\xe5\xc1\x08\x2c\x86\x61\xb6\xb7\x2f\xed\xd0\x34\x95\xb4\x02\xc6\x53\xaf\x3c\xec\x71\x06\x04\xbb\x00\x9c\xd3\xc4\x99\xaf\x67\xff\x12\x75\xd4\xba\x86\xda\x8a\xab\xcd\x68\x19\x71\x3a\xd6\x38\xb4\x8d\x8f\xde\x36\x0c\xff\xa6\x12\xc5\xf0\x66\x2b\x60\x33\xf8\x61\x49\x0d\xbb\x9e\xfd\x15\xa6\x1f\xbd\x42\x64\x11\xd5\x10\x0c\x92\x44\x85\x49\x18\x65\xbb\x57\xca\x11\xec\x27\x22\xb2\xf0\xb8\xe5\x13\xd8\x0e\xf9\x61\x41\x66\xe7\x0b\x7d\xfb\x63\xa4\x8f\x9b\x86\x9c\x31\xfd\x73\x7d\xd9\xd9\x31\x64\x9c\xc3\x2f\xf3\xbb\x51\x2b\x62\xae\x49\x15\x74\x99\x93\x4c\x59\x6b\xae\x71\x12\x7d\x2f\x30\x7c\x81\x20\x52\xf2\x82\x12\x15\x14\x13\x5e\x29\xcf\xe1\x76\x15\x06\x9c\xd1\x97\xb2\x3b\x0f\xee\x9d\xb1\x68\xfb\x06\x1e\x2a\x7a\x02\xdb\xc9\xfd\xcc\xdb\x1b\x36\x5b\x75\x70\xf4\x9c\xc3\xed\xdd\xd0\x0e\xde\xe3\x83\x1a\xb4\x78\xfe\x41\xa8\xf1\x4a\xb7\xaf\xd9\xc1\x4e\x5a\xde\x75\xc3\x97\xb1\x21\x8c\xd9\x80\xe4\xb0\x47\xb8\xd7\x81\xc8\x26\x25\x9c\xd5\x1a\x35\x52\xd3\x6e\xea\xb2\x7b\xaa\x48\x1b\x7c\x4f\xb2\x8b\xf7\x1c\xde\x0e\x21\x79\x6f\xf2\xdb\x07\x30\x8d\xd5\x4e\x8e\x86\x75\xdd\xc0\xa2\xf1\xd4\x21\x28\xa7\x56\x21\xbf\x88\x74\x5c\x27\x26\xb1\x0a\xef\x50\x5c\x47\x80\x82\xb3\x02\x85\xbe\x4b\x13\x95\x18\xdb\x31\xd9\x6d\x67\x77\xa3\x86\x99\x35\x36\x27\xc7\xd4\xd6\xae\x0f\x60\xd9\x6e\xd9\xdf\x67\x71\xbe\xe1\x62\x04\x12\x23\x1e\x3d\xa3\xc9\x10\x9c\x09\x23\xba\xf0\x07\xac\xb1\xd1\x7e\xd8\x65\x93\x63\xa2\x37\x8c\x1b\x9a\xea\x6d\x44\xc2\x14\x6b\x6e\x7f\xbe\x3b\x4b\x37\x47\x56\xfe\xc8\xf1\x9e\x31\x89\x7d\xdf\x6c\x50\xa7\x7c\xfb\x0d\x6a\xa9\xba\xd7\x0e\x1f\xb8\x89\xf4\x83\xae\x35\xc6\x2f\x22\x23\xae\x29\x32\x25\x1a\xcc\x6b\x76\x71\x24\xd3\x2a\x4d\x5f\xc3\x93\xd1\x02\x5a\x1d\xdb\xa7\xcb\xaa\x46\x3c\x5c\x15\x6b\xc7\x5b\xca\xca\x64\x76\xb7\xd7\x8d\x53\x28\x34\x8b\x92\xd7\xa2\x41\x4f\x3a\x84\xe8\x7b\xae\x43\x2f\x4d\xab\xf0\x11\x38\x28\x80\x8c\xfc\x24\x6a\x0b\x7f\xcb\xc5\x4d\xcd\x25\x4a\xf5\x77\xcf\xe1\xb8\x65\x1f\x76\x99\x32\x53\xa6\x0e\x51\xc7\xef\x0e\x78\xa4\x2e\x03\x04\xee\x5e\xa4\x5d\x57\x6a\xd4\x61\xd0\xfa\x18\x4c\x96\xf5\x63\x26\xe1\x73\x9a\x54\xa1\x87\x4f\x5e\x3a\xc2\x7e\x74\xbe\x74\xba\xb8\x80\xdf\x3e\x0c\xbf\x19\xbf\x41\x23\xb6\xea\xe6\x83\x03\x75\xcd\xe9\x41\x5a\x8b\x75\x0f\x55\xa3\xa3\x59\x31\x3b\xd3\xa1\xd6\xd3\x53\x0f\x63\x7a\x4e\xb9\xfb\x4b\x41\xfc\xf9\xe7\x40\x68\x8f\x40\xfa\x12\x2a\xdb\x6b\x29\x5b\x13\xf6\x18\xef\xb5\xd8\x6b\xaf\x9d\xa3\x3d\xcb\xdb\x41\xf2\x65\x98\xa8\x52\xd7\x0a\x23\xb2\x40\x56\xda\x1f\x13\x08\xd5\x0f\x3b\x80\x19\x8d\xf0\xbf\x68\x70\x23\x66\x89\x2b\x48\x9e\x91\x8d\x5f\x98\x78\x90\xfa\x23\x7d\x43\xca\x75\xc9\xd2\x80\x3b\xdd\xe4\x24\x1a\x3b\xce\xb2\x1d\xaa\xe7\x85\x59\x9f\x7e\xb8\x40\x38\xe6\xfd\x35\x83\x92\x37\x5b\xad\xb3\xb6\x77\x44\xe2\x88\x3b\x68\x69\xf5\x24\x9c\x81\xa4\xcd\xb6\x3e\x80\xce\x12\x59\x9a\xc4\x1e\x11\x57\x4f\x06\x4a\x97\x7b\x4a\x9e\x8c\x24\xc7\x5c\x74\x0e\xbf\xdc\xe5\x7e\x62\x30\x76\xcc\x92\x93\x7b\x87\xec\xd5\x3d\x71\xd7\x5a\xe3\xac\xfe\xb9\xb2\xae\xb0\x2e\x33\xce\x92\xfb\xc1\x48\xbd\xc5\xde\xe0\x41\xed\x88\x00\x0a\x21\x57\xf6\x1b\x5a\xe3\x34\x03\xe8\x1d\x5c\x65\xd8\x36\x18\x93\x86\x25\x50\xf8\x09\x7e\xc9\x1b\xac\x7b\x35\x76\xc1\xb4\xa4\xb2\xe0\x3b\x33\x7c\x44\xb6\x5b\xc1\xb7\x42\x27\xc8\x96\xb8\x93\xa3\x18\xe8\x5e\xbb\x89\xba\x04\x7a\x96\x22\x37\x4f\x33\xfa\x86\xef\x74\x5d\xe4\xc2\xcb\x60\x42\xa4\x12\xbc\xc9\xbc\x47\x0f\xf4\x32\xf3\xfb\x26\x08\x27\x22\xc6\x6d\x28\xb6\x61\x93\x7e\x64\x86\x9a\xba\x5f\x1e\x69\x43\x29\x48\x5d\x07\x55\xdb\xd3\x3b\xc8\xd1\x85\x35\x12\x11\x38\xca\x94\xf6\x31\x3b\x76\x49\x5e\x9c\xcc\xb9\x37\x03\xab\xc4\x66\xae\x29\x5f\x63\x3d\x41\xc9\x3a\x43\x7a\x05\x3f\xfb\x71\xc9\xf1\xd4\x0e\xae\x72\xcc\x48\xb3\x82\x1c\x5e\x3e\xf3\x98\x7e\x2d\x7b\xab\x73\xdd\xc1\x23\xcd\x64\x3d\xe9\x4c\x3a\x7b\xe5\x44\x3b\xea\x9a\x32\x8d\x93\x4d\x83\x80\xd4\x6b\x2e\xa8\xda\x34\x9a\xab\x95\x36\xfa\xce\xc6\x77\xe6\x97\x58\xf7\x98\xce\x05\x98\xcc\x82\x4a\xb8\x5a\x76\xd3\x17\x66\xef\x78\x20\x3a\x36\xe5\xea\x82\x52\xf0\xb8\x6f\xff\x93\x6f\x86\xf8\x38\x64\x86\x6c\xd3\x01\xb4\xaf\x2e\xf1\xe2\xd6\xc7\xf0\x49\xcb\x0c\x45\x9b\x92\xcd\xbc\x89\x07\xa9\x7a\x08\x63\x04\xa1\xff\xdf\xfd\x12\xd3\x15\x89\x73\x47\xc3\x01\x2b\x6d\x1f\x55\x4f\x32\xaa\xff\xab\xbb\xfc\x18\x14\x43\x92\x1d\xec\x57\xd3\x07\x6f\xe3\x5b\x32\x51\x30\x6c\xd1\x1c\x0f\x64\x84\x1d\x7f\x35\xa2\xe9\x6c\xc5\xb0\x42\x46\xa1\xad\xc6\x4a\x45\xd1\x4d\x7f\x29\x9c\xa7\x8c\xae\x09\xc1\xfe\xca\xf9\x16\x5a\xa6\x68\xdd\x81\xde\x72\xca\x14\x0a\x09\x85\xe0\x72\xe8\xc6\xcc\x25\x57\x0e\x6c\x4c\xad\xbe\xae\xa1\x25\x2c\x61\x66\x76\xfd\x64\x77\xcd\xe1\x02\xfe\x6d\xf8\x16\x36\xc9\x92\x86\x96\x77\x5a\x63\x9c\x18\x26\x7e\xe2\xf5\x08\x90\x41\x03\x7e\x80\x83\x03\x7f\x75\x04\x32\x29\x0a\xb4\x32\xb4\x3a\x8f\xdd\x29\xcc\xa3\xa0\xe0\x3c\x51\x92\x27\x12\x15\xab\x48\x9e\x38\x03\xce\x09\xbe\xa1\xf1\xd3\xd6\xe8\xfb\x9e\xa3\xe8\x0a\x66\x89\x4a\xce\x03\x1a\x1f\x67\x97\xce\x83\xbe\x92\xc8\x63\x08\x74\xea\xee\x2e\x1c\x11\xf5\x97\xa9\xee\xb1\xda\x98\x69\x61\x7d\xf3\xb0\x40\xea\xbc\x92\x33\x41\xf3\x03\xdd\x89\x99\xe4\xf9\x60\xe4\xf4\x1d\xa3\x8a\x92\x9a\xfe\x2f\xf6\x3f\xe9\x36\x93\xfa\xab\x7a\xe8\xff\x8f\x19\x86\x87\x25\x5c\xb8\x59\xfb\x8b\xe9\x11\x7b\xc8\xf5\x8a\x60\x09\x9f\xbf\x64\x97\x07\xef\x58\x53\x8f\x63\x53\x22\x83\x65\xd8\x89\x9b\xca\x2f\xec\xce\x88\x57\x1f\x75\xf0\x19\x9f\xe5\x55\xbc\xfb\x99\xc1\x00\x95\xa2\xe0\x2d\x53\x0b\x49\x76\x38\xbb\x3a\x2f\x4c\x21\x3f\x0e\x67\x36\x3f\x03\xc5\x2f\x8f\xe7\x79\x97\x44\x7f\x39\x81\xff\x0b\x00\x00\xff\xff\x1e\xf5\xcc\xec\x19\x40\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xad, 0x65, 0x99, 0x18, 0xf0, 0xdb, 0x8d, 0xbf, 0x64, 0x6d, 0x3d, 0x65, 0xbc, 0x57, 0x82, 0xdf, 0xd4, 0x9d, 0xbd, 0x51, 0x29, 0x65, 0x7f, 0x2, 0x99, 0x24, 0x6a, 0x26, 0x92, 0x86, 0xbb, 0x83}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xf3, 0x4c, 0x48, 0xf, 0x17, 0xc6, 0xad, 0x8c, 0xf6, 0x9d, 0x76, 0xc2, 0xee, 0xe3, 0x88, 0x52, 0xd7, 0xd3, 0x4d, 0xb6, 0xdd, 0x93, 0x6a, 0x6e, 0xdd, 0x7c, 0xf8, 0x18, 0x54, 0x65, 0xac}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index b31b92e33..4452fd681 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -79,8 +79,7 @@ // ../../../transactions/executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc (413B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_table.cdc (342B) // ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc (332B) -// ../../../transactions/executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc (289B) -// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (432B) +// ../../../transactions/executionNodeVersionBeacon/scripts/is_compatible_version.cdc (431B) // ../../../transactions/flowToken/burn_tokens.cdc (1.085kB) // ../../../transactions/flowToken/create_forwarder.cdc (1.815kB) // ../../../transactions/flowToken/mint_tokens.cdc (893B) @@ -1929,27 +1928,7 @@ func executionnodeversionbeaconScriptsGet_version_update_bufferCdc() (*asset, er return a, nil } -var _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xcf\xb1\x6a\xf3\x40\x10\x04\xe0\xfe\x9e\x62\x4a\xbb\xf9\xe5\x1f\x42\x8a\x74\x96\x75\x01\x37\x12\x48\x91\x48\xbb\x3a\xad\xac\x83\x68\x4f\x9c\xf7\x6c\x99\x90\x77\x0f\xd8\xe9\x02\xa9\x07\x66\xbe\xf1\xf3\x12\xa2\xc2\xae\xec\x92\xfa\x20\x65\x18\xb8\xe3\x78\xf6\x41\x72\x26\x17\x04\x63\x0c\x33\x76\xab\x7d\xb7\x87\xf6\xed\x58\x95\x65\x55\xd8\xce\xd6\xcd\xb1\x2a\x73\xbb\x3f\x54\xe5\xbe\x28\x6a\xdb\x34\xc6\x64\x59\x86\x9a\x35\x45\x39\x43\x27\xc6\x85\xa2\x27\x71\x8c\x91\x9c\x86\x88\xfe\x86\xeb\xe4\xdd\xf4\x08\x1f\x23\xed\x32\x90\x72\x9e\xc6\x91\x23\x66\xba\xc1\x4d\x24\x27\xbe\x77\xd9\x75\x61\xa7\xb8\xd0\x47\x62\x68\x40\xcf\xe8\x59\xaf\xcc\x82\x1d\x48\x06\xfc\x37\x4b\xea\x31\x26\xc1\x4c\x5e\x36\xdb\x17\xb4\xaf\x7e\x7d\x7e\xc2\xa7\x01\x80\x78\xb7\xfc\xf1\xed\xdf\x89\xb5\xfb\xed\xe8\x7e\xdc\x9b\xad\xf9\x32\xdf\x01\x00\x00\xff\xff\x39\x1d\xd4\x6e\x21\x01\x00\x00" - -func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdcBytes() ([]byte, error) { - return bindataRead( - _executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", - ) -} - -func executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc() (*asset, error) { - bytes, err := executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdcBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x75, 0xf1, 0xfe, 0xb, 0xc8, 0xc2, 0x94, 0xfb, 0x72, 0x76, 0xb6, 0xe9, 0x3b, 0x9e, 0x81, 0x5, 0x75, 0xfb, 0xdf, 0x84, 0xa7, 0xdb, 0x79, 0xdf, 0x50, 0x97, 0xcb, 0xdc, 0x1e, 0x79, 0x2b}} - return a, nil -} - -var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xb1\x6e\xf2\x40\x10\x84\x7b\x3f\xc5\x94\x20\xa1\x9f\xbf\x88\x52\xb8\x89\x30\x9c\x14\x1a\x5b\xc2\x01\xa5\x3d\x9b\xb5\x59\xc5\xb7\x8b\xce\x67\x0b\x2b\xca\xbb\x47\x38\x41\xc1\x0d\xf5\xb7\xf7\xdd\xcc\xb0\x3b\xab\x0f\x30\x17\x2a\xbb\xc0\x2a\xa9\x1e\xe9\x40\xbe\x65\x95\x84\x6c\xa9\x82\xca\xab\xc3\xff\x8b\x79\x37\xeb\xfd\xdb\x36\x4b\xd3\x6c\x63\x0e\x66\x97\x6f\xb3\x34\x31\xab\x75\x96\xae\x36\x9b\x9d\xc9\xf3\x28\x5a\x2e\x97\xd8\x51\xe8\xbc\xb4\xb0\x48\x54\x1b\xb4\x5c\x0b\x57\x03\x4b\x0d\xae\x10\x4e\x84\x9a\x7b\x12\xf4\x3f\x5f\x80\x5b\xf4\xb6\xe1\x23\x6c\xb8\xa3\x45\xa3\xe5\x07\x4e\xc4\xf5\x29\x8c\x56\xf5\x10\x6e\xa6\x8a\xfb\xa3\xab\xa7\xa0\x41\xe5\x38\x1e\x94\x9d\xf7\x24\x61\xea\x39\x77\x05\xaa\x4e\xe0\x2c\xcb\xcc\x0d\xc9\x95\xbd\x8e\x28\xc6\x7e\x2b\xe1\xf9\x69\x01\x37\xfc\x76\x8f\x1f\x2c\xf2\x2f\x27\xd7\x93\x9f\xc7\x63\xc5\x17\x7c\x46\x00\xe0\xc7\xe2\x8f\x9e\x71\xbb\x56\x77\xb6\x81\x8b\xe6\x46\x66\xc5\x7d\x8a\x49\xa8\xc5\x6d\xa3\xf8\x2f\xd5\x3c\xfa\xfa\x0e\x00\x00\xff\xff\xeb\xfc\xf5\xfc\xb0\x01\x00\x00" +var _executionnodeversionbeaconScriptsIs_compatible_versionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xb1\x6e\xf2\x40\x10\x84\x7b\x3f\xc5\x94\x20\xa1\x9f\xbf\x88\x52\xb8\xc3\x70\x52\x68\x6c\x09\x07\x94\xf6\x6c\xd6\x66\x15\xdf\x2e\x3a\x9f\x2d\xac\x28\xef\x1e\x61\x82\x82\x1b\xea\x6f\xef\xbb\x99\x61\x77\x56\x1f\x60\x2e\x54\x76\x81\x55\x52\x3d\xd2\x81\x7c\xcb\x2a\x09\xd9\x52\x05\x95\x57\x87\xff\x17\xf3\x61\xd6\xfb\xf7\x6d\x96\xa6\xd9\xc6\x1c\xcc\x2e\xdf\x66\x69\x62\x56\xeb\x2c\x5d\x6d\x36\x3b\x93\xe7\x51\xb4\x5c\x2e\xb1\xa3\xd0\x79\x69\x61\x91\xa8\x36\x68\xb9\x16\xae\x06\x96\x1a\x5c\x21\x9c\x08\x35\xf7\x24\xe8\x6f\x5f\x80\x5b\xf4\xb6\xe1\x23\x6c\x78\xa0\x45\xa3\xe5\x27\x4e\xc4\xf5\x29\x8c\x56\xf5\x10\x6e\xa6\x8a\xc7\xa3\xab\xa7\xa0\x41\xe5\x38\x1e\x94\x9d\xf7\x24\x61\xea\x39\x77\x05\xaa\x4e\xe0\x2c\xcb\xcc\x0d\xc9\x95\xbd\x8d\x28\xc6\x7e\x2b\xe1\xf5\x65\x01\x37\xfc\x76\x8f\x9f\x2c\xf2\x2f\x27\xd7\x93\x9f\xc7\xb7\x8a\x5f\x11\x00\xf8\xb1\xf7\xb3\x57\xdc\xae\xd5\x9d\x6d\xe0\xa2\xb9\x93\x59\xf1\x18\x62\x92\x69\x71\x9f\x28\xfe\x0b\x35\x8f\xbe\x7f\x02\x00\x00\xff\xff\xdc\x2d\x82\x8e\xaf\x01\x00\x00" func executionnodeversionbeaconScriptsIs_compatible_versionCdcBytes() ([]byte, error) { return bindataRead( @@ -1965,7 +1944,7 @@ func executionnodeversionbeaconScriptsIs_compatible_versionCdc() (*asset, error) } info := bindataFileInfo{name: "executionNodeVersionBeacon/scripts/is_compatible_version.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x43, 0xe2, 0xf5, 0x5c, 0x29, 0x1b, 0x28, 0x90, 0xdb, 0x74, 0xd4, 0x8b, 0x12, 0xf3, 0x4c, 0x8e, 0x71, 0xbb, 0x20, 0x55, 0x28, 0x92, 0xb7, 0x76, 0x78, 0x1, 0xa7, 0x0, 0x29, 0xc6, 0x73}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x64, 0xf8, 0xea, 0xe9, 0xa, 0xa6, 0x91, 0xb5, 0x73, 0x8d, 0xcf, 0xc3, 0xaf, 0xf2, 0xcd, 0xa9, 0x9b, 0x23, 0x73, 0xd6, 0x71, 0x60, 0x77, 0x4b, 0x6b, 0xc7, 0xff, 0xf9, 0xc3, 0x6d, 0x54, 0x97}} return a, nil } @@ -6119,7 +6098,6 @@ var _bindata = map[string]func() (*asset, error){ "executionNodeVersionBeacon/scripts/get_next_version_boundary_pair.cdc": executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, "executionNodeVersionBeacon/scripts/get_version_table.cdc": executionnodeversionbeaconScriptsGet_version_tableCdc, "executionNodeVersionBeacon/scripts/get_version_update_buffer.cdc": executionnodeversionbeaconScriptsGet_version_update_bufferCdc, - "executionNodeVersionBeacon/scripts/get_version_update_buffer_variance.cdc": executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, "executionNodeVersionBeacon/scripts/is_compatible_version.cdc": executionnodeversionbeaconScriptsIs_compatible_versionCdc, "flowToken/burn_tokens.cdc": flowtokenBurn_tokensCdc, "flowToken/create_forwarder.cdc": flowtokenCreate_forwarderCdc, @@ -6477,7 +6455,6 @@ var _bintree = &bintree{nil, map[string]*bintree{ "get_next_version_boundary_pair.cdc": {executionnodeversionbeaconScriptsGet_next_version_boundary_pairCdc, map[string]*bintree{}}, "get_version_table.cdc": {executionnodeversionbeaconScriptsGet_version_tableCdc, map[string]*bintree{}}, "get_version_update_buffer.cdc": {executionnodeversionbeaconScriptsGet_version_update_bufferCdc, map[string]*bintree{}}, - "get_version_update_buffer_variance.cdc": {executionnodeversionbeaconScriptsGet_version_update_buffer_varianceCdc, map[string]*bintree{}}, "is_compatible_version.cdc": {executionnodeversionbeaconScriptsIs_compatible_versionCdc, map[string]*bintree{}}, }}, }}, From dea65cf612523e5fd4c2ffd9d034374e19b5a083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Lillo=20Igualada?= Date: Fri, 23 Sep 2022 20:18:08 +0200 Subject: [PATCH 20/21] Fix minor spelling typos --- contracts/ExecutionNodeVersionBeacon.cdc | 4 ++-- .../executionNodeVersionBeacon/admin/add_version_to_table.cdc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contracts/ExecutionNodeVersionBeacon.cdc b/contracts/ExecutionNodeVersionBeacon.cdc index dd519bdbb..a3e1ff787 100644 --- a/contracts/ExecutionNodeVersionBeacon.cdc +++ b/contracts/ExecutionNodeVersionBeacon.cdc @@ -126,7 +126,7 @@ pub contract ExecutionNodeVersionBeacon { : "Target block height occurs too soon to update EN version." } - // Insert mapping into versiontable + // Insert mapping into version table ExecutionNodeVersionBeacon.versionTable.insert( key: targetBlockHeight, newVersion @@ -169,7 +169,7 @@ pub contract ExecutionNodeVersionBeacon { } /// Updates the number of blocks that must buffer updates to the versionTable - /// and the block number the version is targetting + /// and the block number the version is targeting pub fun changeVersionUpdateBuffer(newUpdateBufferInBlocks: UInt64) { post { ExecutionNodeVersionBeacon.versionUpdateBuffer == newUpdateBufferInBlocks: "Update buffer was not properly changed! Reverted." diff --git a/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc index 5a19ebc23..1d053a392 100644 --- a/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc +++ b/transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc @@ -16,7 +16,7 @@ transaction( let newVersion: ExecutionNodeVersionBeacon.Semver prepare(acct: AuthAccount) { - // Create the new verion from the passed parameters + // Create the new version from the passed parameters self.newVersion = ExecutionNodeVersionBeacon.Semver( major: newMajor, minor: newMinor, patch: newPatch, preRelease: newPreRelease, isBackwardsCompatible: isBackwardsCompatible ) From 27418be80a1097a6b0128272c45002380b1a7be5 Mon Sep 17 00:00:00 2001 From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com> Date: Fri, 23 Sep 2022 13:45:32 -0500 Subject: [PATCH 21/21] update go assets --- lib/go/contracts/internal/assets/assets.go | 4 ++-- lib/go/templates/internal/assets/assets.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index e084377fe..fb1a5bcc0 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -84,7 +84,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3b\x5d\x6f\x1b\x39\x92\xef\xfe\x15\x95\x3c\x78\xa4\x19\x5b\x9e\x39\x1c\x0e\x07\x9f\x95\x45\xec\x4d\x76\x03\x0c\x32\x8b\x24\xb3\xfb\x60\x18\x03\xaa\xbb\x5a\xe2\xb9\x9b\xd4\x91\x6c\xc9\xba\x4c\xfe\xfb\x81\x1f\xcd\x26\x9b\xec\xb6\xec\x24\xc0\xf9\x25\x91\x48\x16\xeb\xfb\x8b\xa5\x8b\x8b\x0b\xf8\xb4\xa1\x12\x0a\xce\x94\x20\x85\x02\x2a\xa1\x95\x58\x82\xe2\x50\x62\x45\x19\x96\xb0\xaa\x79\x71\x0f\x1b\xa4\xeb\x8d\x02\xc2\x4a\x90\xbc\x52\x7b\x22\x10\x76\x28\x24\xe5\x0c\x56\xbc\x65\x25\x11\x14\xe5\x89\x86\x58\x71\x01\x6a\x83\xfd\x3e\xd1\x32\x58\x1d\xe0\xcd\x03\x16\xad\xd2\x07\xde\xf3\x12\xe5\xe2\x64\xdb\xae\xfa\x9b\xfd\xaa\x5e\xfc\xa7\x85\x7c\x8d\xa4\xe0\x0c\x3e\x9f\x9c\x00\x00\x68\xd8\x1f\x95\x68\x0b\x05\x02\xb7\x02\x25\x32\x45\xd9\x3a\xc5\x87\x48\xf8\x88\x0d\x61\x8a\x16\xe0\x20\x79\x00\xa4\xe6\x6c\x0d\x7b\xaa\x36\xb0\xc1\x7a\x8b\x02\xaa\x96\x15\xfa\x5e\xe9\xf7\xbc\xe5\x02\x04\x56\x28\x90\x15\x78\x06\x12\x11\x36\x4a\x6d\xe5\xe5\xc5\x85\xc4\x66\x87\x62\xc1\xc5\xfa\xc2\x6c\xd7\x24\x48\x8b\xd3\x47\xb3\x04\x9f\xcd\xf7\x1d\xa8\x1b\xde\x6c\x39\x43\xa6\xa4\xe5\xa7\xc6\x97\x80\xec\xb0\xdb\x05\xd8\x75\xe0\x6a\x54\xd0\x90\xff\xe6\xe2\x12\x7e\x7f\xc7\xd4\x7f\xa6\x8b\x94\x8d\x2f\x6e\x89\x2a\x36\xa3\x8b\x02\x3f\x60\x8d\x44\xe2\xa5\xe6\x24\x65\xeb\xbf\x9c\x44\xe8\xfe\x93\xd4\x2d\x42\x89\x8c\x1b\xce\x16\xbc\xd9\x12\x45\x57\xb4\xa6\xea\x60\x99\xb6\x15\xb8\xa3\xbc\x95\x1d\xea\x32\xb9\x84\xca\x6b\x52\xdc\xef\x89\x28\xe5\x8d\x3b\x5f\xe3\x25\x5c\x73\x5e\xf7\x97\x51\x46\xd5\x2c\xa4\xf2\x2c\x22\xeb\x2c\xa2\xe3\x2c\x87\xf8\xd9\xd4\x45\xf3\x40\x0c\xfa\x4f\x62\x5d\x2d\xcc\x75\xb0\xb4\xcc\xcd\x2c\xeb\xfb\xf5\xb2\xfe\x37\x5d\x36\x08\xc1\xd2\x22\x96\x59\xf6\x18\xea\x3d\xfe\x43\xba\x31\x8b\x35\x2c\xf3\xd4\xf8\xe3\x5f\x62\x39\x7d\x40\xd5\x0a\xe6\x85\x00\x94\x75\xea\x57\x71\xd1\x10\x05\x33\x5c\xac\x17\xb0\xbb\x32\xb4\xbe\x5a\x5c\x19\xa2\x5e\x2d\xae\x0c\xf6\xaf\xce\xaf\x7a\x0c\x5f\xcd\x23\xc8\x44\x02\x71\x2c\x8e\x24\x5b\xb5\x0c\x14\xb7\x0b\xb3\x79\x27\x85\x01\x9b\xb5\xf8\xad\x85\xdc\x70\x81\x6e\xcb\x32\xe0\xfe\xa2\x07\x11\x1d\x34\x7f\x8b\x82\xb3\x82\xa8\xd9\xcb\xc5\xcb\x89\xd5\x74\x25\x96\xe0\xe4\x15\xf3\xaf\xbe\xc3\x30\x70\xfa\x8e\xe8\x2b\xe3\x03\x34\x50\xad\x14\xe7\xc2\xa9\x08\xad\x80\x2a\xc0\x07\x2a\x95\x84\x53\x10\x46\x9c\xd1\x39\x5a\x25\x7a\xf5\x62\x09\x8c\xd6\x03\x96\xeb\x3f\x7b\x3c\xe1\xbc\xa7\xf5\xfc\xa5\xa7\x7b\x00\xf3\x45\x8c\x6c\xa0\x65\x13\x70\xb3\x4a\xf9\x23\xdc\xb4\x52\xf1\xc6\x78\x3c\x22\x88\xe2\x42\xc2\x8f\x17\x79\xb5\x55\xa2\x35\x3c\x70\x3a\x5b\x70\x81\x3a\xf2\xac\x05\x12\x85\x3a\x78\x10\x16\x9d\xdb\x12\xa9\x83\x52\xb8\x5d\x07\xa2\x8a\xd4\x12\x81\xab\x0d\x8a\x3d\x0d\x6c\xad\xd3\x57\xbd\xf1\x6f\x16\xe6\xa7\x0d\x61\xb3\x3f\xec\xde\x4b\x07\x68\x6e\x7d\xc5\x80\xa1\xb4\x82\x59\xe0\x2e\x5e\xd9\x33\xf6\xd3\xd0\xad\x04\x4c\xd2\x24\xc5\xbc\x04\xac\xad\xa4\x43\x70\xcb\x65\x08\x0f\x4e\x4f\x43\xdf\xe3\xef\xd2\x9f\xbe\xf3\x5d\xfd\xa2\xf9\xd8\x2d\x5a\x2f\xd7\x21\x62\x3e\x3d\x03\x91\xd1\x03\x46\x62\x03\x95\xcb\x69\xd3\xd3\x74\x05\x02\x7f\xad\x8f\xe2\xff\xb4\xa4\xd6\x29\xcc\xb7\xd1\x9b\xdf\xc4\x1b\x0d\xf0\x13\x3f\x4e\x81\xbc\xd5\xd4\xd5\x62\xa8\x81\xe6\xf8\x1c\xfe\xfc\xb3\x5f\xee\x60\xdb\xa5\x67\x72\xa3\x46\x29\xbf\xa9\xd9\xfc\x8a\x52\x1e\x6f\x33\x8e\xe4\x17\x39\x9a\x7b\xee\x7d\x1b\x0a\xbf\x87\xb0\x3b\x6a\xbf\x52\xd2\x9e\x69\xdf\x5a\xcc\x54\x0e\xc9\x8c\x4e\x3d\x87\xe4\x67\x13\xfa\xb5\xbe\xc5\x2f\xc6\x89\xd4\xd1\x8c\xf8\x11\x1f\x48\xa1\xea\xc3\x8f\xc7\xb0\xe4\x18\x6e\x48\x25\x68\xa1\xbe\x4a\xf0\xb1\x70\x7b\x82\x83\x9c\xd0\x53\x9d\xa6\x86\xd6\x05\x7e\xe9\x8b\x9c\x37\x3b\x64\x0a\xb0\xa1\x4a\x61\x09\x84\x1d\x40\xd1\x06\x81\x40\xb1\x21\x6c\x6d\xcc\xa1\x21\x25\x6a\xd2\x5d\x02\xf8\x89\x74\xc9\xa2\xa6\x0a\xcd\xf9\x5c\x41\x65\xf6\xbd\x2e\x4b\xaa\xbf\x9f\xd9\x9a\xce\x26\xd9\xff\xf1\xef\x67\x1d\x30\x4f\xfb\xb1\x00\xff\x8a\x35\x1e\x07\xf0\x31\x12\x75\xd9\xd8\xe5\xb4\xed\xb6\x24\x0a\x61\xd5\x56\x15\x0a\xd8\xa2\xa0\xbc\x04\x2e\x60\x47\x04\x25\xac\x30\x6c\xb0\x7b\xca\x23\x10\xfd\xdd\xec\xbc\x36\xc0\x6e\x0c\x1b\xcb\x19\xc3\x7d\x66\xb5\x43\x3f\xc0\xf6\x86\x30\xce\x68\x41\x6a\x90\x8a\x0b\xb2\x46\x5d\x05\x6c\x4c\xa1\x9b\xbb\xeb\x75\xd9\x50\xe6\x71\xd2\x49\xf1\xe8\xae\x8f\x16\xde\x3f\x88\xda\xe8\x9c\xda\x7f\xe8\xef\x36\x1c\x86\x92\x16\x8a\x98\x9a\xac\xa1\x8c\x36\x6d\xe3\xd9\x74\x0e\x9f\x4d\x85\xfe\x77\xc7\x7b\xcb\xea\x2f\x7d\xc5\xbc\xe1\x6d\x5d\xc2\x0a\x81\x8b\x12\x85\x2e\xe8\x0f\x71\x4d\x3f\xa3\xac\xc4\x87\x39\xec\x37\xb4\xd8\x00\xed\xeb\x60\x64\x15\x17\x85\x3d\x41\x99\x44\xa1\x29\xb8\x28\x9d\xb4\xcd\x36\x52\x14\x28\xe5\xac\xab\xe2\xe7\x86\xda\x50\x29\x2f\xe1\xb3\x65\x67\x8f\x99\x87\xff\xbe\x6d\x56\x28\x80\x57\x16\x1f\x09\x2b\x54\x7b\x44\x16\xa3\xb7\xdf\x20\x1b\xb6\x1a\x0e\x5a\xf8\x5d\x83\x82\xb0\xd2\x83\x0c\x15\xc8\xef\x5d\xa1\x66\x9c\xdb\xbe\xb0\xdd\x07\x28\x08\x03\x7c\xd8\x62\xa1\x74\x58\x51\xce\xb6\xa4\x36\xaa\x00\x48\x6f\x58\x0e\xba\x2e\x83\xeb\x1a\x36\x64\x87\x40\x14\x68\x4b\xd6\x00\x74\x84\xe2\x6c\xad\x4f\x0b\x94\x5b\xce\x4c\x0b\x85\x24\xb8\xe4\x99\xb6\x23\xa2\xdb\x99\xd3\xc4\xa0\xfd\xc1\x85\xb6\x97\xd7\x42\x90\x83\x69\x9d\x10\xdb\x52\xa8\x5a\xd5\x0a\x8c\xf8\x26\x35\xe3\x74\x40\x98\xe2\x9d\x07\xfc\x2f\xfc\xa1\xae\xa1\x21\xd4\x80\xb4\x04\x11\x09\x48\xe4\x01\x1a\xd4\xbc\xa1\xb2\x31\x0a\x5f\xa2\x42\xd1\xd8\x6b\xb7\x82\x3f\xd0\x86\xd4\xfd\x15\x06\x81\xa0\x1f\x34\x4a\x6e\xbb\x2d\x78\x43\xd9\xfa\x5a\x9f\xb8\xf6\x07\x2e\xe1\xd6\xd2\x7c\xf7\x38\xd1\x1b\xaa\xad\xd1\x98\x65\x8e\xf0\xb4\x3b\x05\x7b\xfd\x7d\x48\x7a\x16\x35\x22\x8a\x0d\xdd\x61\x79\x04\x6a\xc6\x86\xb5\xc4\x79\x2b\x0a\xb4\x8a\xd4\x10\x46\x8c\x22\x6d\x70\xd0\xf2\xea\x50\xea\x6a\x28\x0d\xa1\x63\x39\x96\xd0\xf1\xbd\xc3\xc6\x7b\x10\x0f\x7f\xd4\x8d\x0c\xba\x4e\x56\x89\x0c\x06\x43\x77\xa1\xd5\x9b\xdc\x23\x60\x55\x69\xd5\x27\xca\xec\x5a\xd3\xdd\xc0\xec\x92\x30\x49\xca\xb2\xeb\xca\x39\x3d\xfa\xc4\x8d\x75\xcc\x14\x11\x6b\x54\xd7\xa1\x13\xea\x02\x40\xef\x61\x7d\x0c\x18\x84\xd2\xad\xc8\x95\x0b\x09\x48\x78\x05\x6b\x54\x37\xad\x10\xc8\xec\xf7\xb3\xf9\xc2\x39\x88\x9f\x26\x7a\x87\x8b\x8c\x59\x65\xab\xfb\x4b\x78\xf9\xc9\x5c\x1a\x3b\x1f\x5e\x14\xad\xd0\x4e\x81\x83\xe4\x96\x7d\x2e\x2e\xbd\x79\xdf\xf1\x74\xf1\x72\xaa\x88\xbe\xb8\x80\x77\xc6\x77\x42\x43\xb6\x5b\xad\xb7\x94\xf5\x81\x5b\x91\xb0\xcb\xa3\xff\x1e\xa7\xc5\x70\x7d\x61\x1d\x72\xda\xaa\xb8\xc7\xc3\x65\xca\xbf\xb3\x64\x5f\x2f\x9a\x68\x29\xe9\x5e\x38\xe4\x73\x8e\xf5\x07\xe9\x2e\x8a\x79\x66\xe8\x53\x1b\x1c\x42\x22\xc6\x80\x3b\x85\x37\x9d\xd0\xba\xf6\x8e\x20\x86\x31\x70\x21\x47\x30\xc7\xf2\xe3\xf7\x8c\x5b\x39\xa4\x1a\x3a\x8f\x65\xa4\xf3\x90\x27\xe4\x4b\x29\x77\xfb\x4c\xa7\x67\xeb\x68\x92\x6f\xd2\x25\xe7\x20\x6a\x1d\x3e\x90\x29\xed\x95\x59\x14\x74\x5c\x38\xb6\xde\x4a\x02\x61\x3d\xa7\xb2\x41\x05\x7c\xc7\xd9\x85\xfb\x0d\xd6\xdb\xaa\xad\x35\xdc\x42\xa7\xa0\x82\xd7\xf5\x8a\x14\xf7\xda\xfd\x33\xc4\x32\xc8\x98\x3b\x1b\x37\xa1\x1d\x3b\x1e\x0e\xcc\x7d\xb6\x4a\x2d\x7c\x7e\x99\xb6\xbd\x61\xd4\xaa\x8f\x55\xed\x7b\x3c\xc8\x85\x73\xf4\x32\xbc\x76\x7e\x09\x2f\xdf\xf3\x3e\x90\xf9\x0c\xc0\xc5\xf0\x60\xeb\xc0\x28\x1f\xb9\x7e\x24\x1a\x8d\x22\xd1\xf1\x04\x18\x57\x1e\x0b\xca\xc6\xa2\xda\xa3\x1e\xe2\x0d\x93\xad\x09\x4d\x36\xb5\xea\xdc\x8e\xe9\xb8\x23\xe3\xed\x7a\x63\xf3\x63\x1d\x80\x99\x49\x5f\xfa\x44\x23\x82\xa5\x2b\xa1\x9c\x57\x58\x7d\x1f\x57\x9a\xba\x95\x06\xa5\x24\x6b\xbc\x84\x97\x37\x84\x59\xee\x68\x9d\x4a\x93\x10\x4d\x1b\x1d\xcf\xf2\x83\xe0\xee\xfc\xe6\x90\x8b\xf3\x84\x8b\x1f\xb0\xe1\xbb\xb8\x88\xe8\x7c\xae\x2e\x04\x47\x84\xa3\xf7\x33\xeb\x02\x4c\xf9\x90\x74\xb4\x85\x01\x5b\x7a\x55\x5f\x1e\xad\xc8\xf6\xe4\x88\x8f\x0e\x44\x12\xd3\xf5\xe2\x58\x97\x37\xa6\x6d\x63\xd7\x12\x75\xf9\x1c\x70\x15\x15\x52\xbd\xd3\x35\xc2\x8c\x57\x11\xde\x03\x54\x9f\xe4\x55\x93\xa2\x71\x95\xf5\xa7\x8e\xf9\xa9\xb0\x6f\x6a\x34\x3e\xb1\x77\x8b\xa7\x3e\x73\x4b\xf2\x50\x58\x61\xc5\x45\x12\x91\x6c\x1d\xaf\xcf\xba\x6b\xbc\xde\x68\x43\xdb\xa1\xa0\x15\x2d\x88\x1a\xc6\xc8\x09\x1e\x3a\x0c\x7e\xab\x87\xd9\xe3\xe0\xa5\xc0\x75\x10\xdc\xb5\x63\x91\xc2\x9a\x9a\x8d\x14\x6c\x58\x2c\xd9\x64\xb3\x95\xaa\x33\x9e\xb6\xdb\x3d\x52\xc1\x74\x50\xb5\x2d\xe8\x0d\x96\x49\x0e\x6e\x68\x34\xb4\x8b\xeb\x2a\xf7\x0a\x64\x0b\xa5\x4c\xe1\xac\xeb\xe9\xf0\xf3\x3b\x66\x78\x20\x7d\xb0\x18\x06\x09\x2e\xd5\xb3\xa2\x44\x78\x09\x2c\x97\x30\x7a\xef\xcb\xdf\x23\xef\xb2\x27\xd2\x38\xec\xad\xe0\x5b\x14\xf5\xc1\x91\x52\xbe\x80\x0f\xb8\x43\x5d\x64\x3c\xea\xa8\xff\x86\x0a\x0a\xeb\x3a\xa3\x84\x65\x91\x78\x8d\x22\x70\xb0\xce\xf1\x2e\x47\x1d\x6f\x56\xb9\xdb\xad\x91\xca\x20\x41\xb2\xf2\x3a\x3a\x2d\x9a\x50\xc8\xff\x4a\xa8\xeb\x63\xab\xb6\x19\x3f\x00\x80\x07\x5d\xcf\x46\x64\x9f\x81\x24\x95\xe9\x40\x35\xba\x9a\x70\xc5\xf3\xf0\x21\xe5\x19\xce\xa6\x46\xb6\x56\xa6\x4b\xf8\xf3\x37\xd0\x8d\x31\xd5\x38\xee\xd1\xc2\xc9\x5b\x0b\xc1\x57\xba\xbd\x34\x86\xc9\x57\x28\x7c\x86\x0f\x2a\x4a\x41\xa7\x83\xc6\x08\x33\x6e\x7f\xbe\x3b\xc9\x21\xe5\xb2\x05\xe3\x00\x34\x72\x7b\xfc\x41\xa0\xd1\x6c\x27\xa3\xda\x87\x57\xbd\xcc\x6b\x13\x51\x19\xee\xe3\x30\x9b\x03\xcd\x2b\xeb\x6c\xf0\x41\x65\x13\xf2\x94\xdc\xb1\x8c\x43\xff\x65\x6c\xe0\xa9\x19\x06\x5c\x65\x98\x79\x7a\x7a\xfc\x75\x23\x1a\x90\x83\x9b\x66\x33\x10\x65\x34\x06\x8e\x91\xbd\x45\x8d\xf1\x3d\xac\x04\x92\x7b\x99\xa6\x37\x2e\xaf\xb1\x1d\x26\x13\x42\xe4\x02\x3e\x75\x0b\x01\x10\x52\x29\x0d\x4a\x33\x7c\x08\x24\x93\xc3\xce\xb3\x0a\xf1\x2f\x34\xed\x2c\x8d\x8f\x36\x4b\xef\xd9\x42\xaf\x3e\x59\x01\x7f\x1f\xbb\x3a\x32\x1d\x78\x4a\x6b\x76\xe4\xde\xf9\x78\x33\xdd\xbf\x24\x6c\xd0\xbb\xb0\x36\x24\xc6\xe5\x9c\xce\x60\x6c\xd5\x35\x18\x55\xf2\xc0\x34\x97\x57\xa8\x75\xbe\x15\x58\x46\x41\xd3\xb4\x05\x8d\x0d\x1a\x12\x7c\xf3\x46\x87\xcc\x35\xaa\x5c\xbc\x9c\x77\x91\x31\xf0\x3d\xe1\xd3\xc2\x98\xe4\x32\xd4\x11\x28\xf8\xf6\xd0\x99\x6f\xd5\xd6\x75\x98\x41\x67\x5f\x09\x62\xc4\x6c\x2b\x67\x9e\xb6\x6b\xa7\x71\xeb\x41\x06\x48\xbd\x75\x13\x55\xd6\x43\x89\x40\x00\xbe\x0b\xa5\x17\x74\x38\x8e\x2a\x38\x84\x86\x4b\xe5\xc1\x08\x2c\x86\x61\xb6\xb7\x2f\xed\xd0\x34\x95\xb4\x02\xc6\x53\xaf\x3c\xec\x71\x06\x04\xbb\x00\x9c\xd3\xc4\x99\xaf\x67\xff\x12\x75\xd4\xba\x86\xda\x8a\xab\xcd\x68\x19\x71\x3a\xd6\x38\xb4\x8d\x8f\xde\x36\x0c\xff\xa6\x12\xc5\xf0\x66\x2b\x60\x33\xf8\x61\x49\x0d\xbb\x9e\xfd\x15\xa6\x1f\xbd\x42\x64\x11\xd5\x10\x0c\x92\x44\x85\x49\x18\x65\xbb\x57\xca\x11\xec\x27\x22\xb2\xf0\xb8\xe5\x13\xd8\x0e\xf9\x61\x41\x66\xe7\x0b\x7d\xfb\x63\xa4\x8f\x9b\x86\x9c\x31\xfd\x73\x7d\xd9\xd9\x31\x64\x9c\xc3\x2f\xf3\xbb\x51\x2b\x62\xae\x49\x15\x74\x99\x93\x4c\x59\x6b\xae\x71\x12\x7d\x2f\x30\x7c\x81\x20\x52\xf2\x82\x12\x15\x14\x13\x5e\x29\xcf\xe1\x76\x15\x06\x9c\xd1\x97\xb2\x3b\x0f\xee\x9d\xb1\x68\xfb\x06\x1e\x2a\x7a\x02\xdb\xc9\xfd\xcc\xdb\x1b\x36\x5b\x75\x70\xf4\x9c\xc3\xed\xdd\xd0\x0e\xde\xe3\x83\x1a\xb4\x78\xfe\x41\xa8\xf1\x4a\xb7\xaf\xd9\xc1\x4e\x5a\xde\x75\xc3\x97\xb1\x21\x8c\xd9\x80\xe4\xb0\x47\xb8\xd7\x81\xc8\x26\x25\x9c\xd5\x1a\x35\x52\xd3\x6e\xea\xb2\x7b\xaa\x48\x1b\x7c\x4f\xb2\x8b\xf7\x1c\xde\x0e\x21\x79\x6f\xf2\xdb\x07\x30\x8d\xd5\x4e\x8e\x86\x75\xdd\xc0\xa2\xf1\xd4\x21\x28\xa7\x56\x21\xbf\x88\x74\x5c\x27\x26\xb1\x0a\xef\x50\x5c\x47\x80\x82\xb3\x02\x85\xbe\x4b\x13\x95\x18\xdb\x31\xd9\x6d\x67\x77\xa3\x86\x99\x35\x36\x27\xc7\xd4\xd6\xae\x0f\x60\xd9\x6e\xd9\xdf\x67\x71\xbe\xe1\x62\x04\x12\x23\x1e\x3d\xa3\xc9\x10\x9c\x09\x23\xba\xf0\x07\xac\xb1\xd1\x7e\xd8\x65\x93\x63\xa2\x37\x8c\x1b\x9a\xea\x6d\x44\xc2\x14\x6b\x6e\x7f\xbe\x3b\x4b\x37\x47\x56\xfe\xc8\xf1\x9e\x31\x89\x7d\xdf\x6c\x50\xa7\x7c\xfb\x0d\x6a\xa9\xba\xd7\x0e\x1f\xb8\x89\xf4\x83\xae\x35\xc6\x2f\x22\x23\xae\x29\x32\x25\x1a\xcc\x6b\x76\x71\x24\xd3\x2a\x4d\x5f\xc3\x93\xd1\x02\x5a\x1d\xdb\xa7\xcb\xaa\x46\x3c\x5c\x15\x6b\xc7\x5b\xca\xca\x64\x76\xb7\xd7\x8d\x53\x28\x34\x8b\x92\xd7\xa2\x41\x4f\x3a\x84\xe8\x7b\xae\x43\x2f\x4d\xab\xf0\x11\x38\x28\x80\x8c\xfc\x24\x6a\x0b\x7f\xcb\xc5\x4d\xcd\x25\x4a\xf5\x77\xcf\xe1\xb8\x65\x1f\x76\x99\x32\x53\xa6\x0e\x51\xc7\xef\x0e\x78\xa4\x2e\x03\x04\xee\x5e\xa4\x5d\x57\x6a\xd4\x61\xd0\xfa\x18\x4c\x96\xf5\x63\x26\xe1\x73\x9a\x54\xa1\x87\x4f\x5e\x3a\xc2\x7e\x74\xbe\x74\xba\xb8\x80\xdf\x3e\x0c\xbf\x19\xbf\x41\x23\xb6\xea\xe6\x83\x03\x75\xcd\xe9\x41\x5a\x8b\x75\x0f\x55\xa3\xa3\x59\x31\x3b\xd3\xa1\xd6\xd3\x53\x0f\x63\x7a\x4e\xb9\xfb\x4b\x41\xfc\xf9\xe7\x40\x68\x8f\x40\xfa\x12\x2a\xdb\x6b\x29\x5b\x13\xf6\x18\xef\xb5\xd8\x6b\xaf\x9d\xa3\x3d\xcb\xdb\x41\xf2\x65\x98\xa8\x52\xd7\x0a\x23\xb2\x40\x56\xda\x1f\x13\x08\xd5\x0f\x3b\x80\x19\x8d\xf0\xbf\x68\x70\x23\x66\x89\x2b\x48\x9e\x91\x8d\x5f\x98\x78\x90\xfa\x23\x7d\x43\xca\x75\xc9\xd2\x80\x3b\xdd\xe4\x24\x1a\x3b\xce\xb2\x1d\xaa\xe7\x85\x59\x9f\x7e\xb8\x40\x38\xe6\xfd\x35\x83\x92\x37\x5b\xad\xb3\xb6\x77\x44\xe2\x88\x3b\x68\x69\xf5\x24\x9c\x81\xa4\xcd\xb6\x3e\x80\xce\x12\x59\x9a\xc4\x1e\x11\x57\x4f\x06\x4a\x97\x7b\x4a\x9e\x8c\x24\xc7\x5c\x74\x0e\xbf\xdc\xe5\x7e\x62\x30\x76\xcc\x92\x93\x7b\x87\xec\xd5\x3d\x71\xd7\x5a\xe3\xac\xfe\xb9\xb2\xae\xb0\x2e\x33\xce\x92\xfb\xc1\x48\xbd\xc5\xde\xe0\x41\xed\x88\x00\x0a\x21\x57\xf6\x1b\x5a\xe3\x34\x03\xe8\x1d\x5c\x65\xd8\x36\x18\x93\x86\x25\x50\xf8\x09\x7e\xc9\x1b\xac\x7b\x35\x76\xc1\xb4\xa4\xb2\xe0\x3b\x33\x7c\x44\xb6\x5b\xc1\xb7\x42\x27\xc8\x96\xb8\x93\xa3\x18\xe8\x5e\xbb\x89\xba\x04\x7a\x96\x22\x37\x4f\x33\xfa\x86\xef\x74\x5d\xe4\xc2\xcb\x60\x42\xa4\x12\xbc\xc9\xbc\x47\x0f\xf4\x32\xf3\xfb\x26\x08\x27\x22\xc6\x6d\x28\xb6\x61\x93\x7e\x64\x86\x9a\xba\x5f\x1e\x69\x43\x29\x48\x5d\x07\x55\xdb\xd3\x3b\xc8\xd1\x85\x35\x12\x11\x38\xca\x94\xf6\x31\x3b\x76\x49\x5e\x9c\xcc\xb9\x37\x03\xab\xc4\x66\xae\x29\x5f\x63\x3d\x41\xc9\x3a\x43\x7a\x05\x3f\xfb\x71\xc9\xf1\xd4\x0e\xae\x72\xcc\x48\xb3\x82\x1c\x5e\x3e\xf3\x98\x7e\x2d\x7b\xab\x73\xdd\xc1\x23\xcd\x64\x3d\xe9\x4c\x3a\x7b\xe5\x44\x3b\xea\x9a\x32\x8d\x93\x4d\x83\x80\xd4\x6b\x2e\xa8\xda\x34\x9a\xab\x95\x36\xfa\xce\xc6\x77\xe6\x97\x58\xf7\x98\xce\x05\x98\xcc\x82\x4a\xb8\x5a\x76\xd3\x17\x66\xef\x78\x20\x3a\x36\xe5\xea\x82\x52\xf0\xb8\x6f\xff\x93\x6f\x86\xf8\x38\x64\x86\x6c\xd3\x01\xb4\xaf\x2e\xf1\xe2\xd6\xc7\xf0\x49\xcb\x0c\x45\x9b\x92\xcd\xbc\x89\x07\xa9\x7a\x08\x63\x04\xa1\xff\xdf\xfd\x12\xd3\x15\x89\x73\x47\xc3\x01\x2b\x6d\x1f\x55\x4f\x32\xaa\xff\xab\xbb\xfc\x18\x14\x43\x92\x1d\xec\x57\xd3\x07\x6f\xe3\x5b\x32\x51\x30\x6c\xd1\x1c\x0f\x64\x84\x1d\x7f\x35\xa2\xe9\x6c\xc5\xb0\x42\x46\xa1\xad\xc6\x4a\x45\xd1\x4d\x7f\x29\x9c\xa7\x8c\xae\x09\xc1\xfe\xca\xf9\x16\x5a\xa6\x68\xdd\x81\xde\x72\xca\x14\x0a\x09\x85\xe0\x72\xe8\xc6\xcc\x25\x57\x0e\x6c\x4c\xad\xbe\xae\xa1\x25\x2c\x61\x66\x76\xfd\x64\x77\xcd\xe1\x02\xfe\x6d\xf8\x16\x36\xc9\x92\x86\x96\x77\x5a\x63\x9c\x18\x26\x7e\xe2\xf5\x08\x90\x41\x03\x7e\x80\x83\x03\x7f\x75\x04\x32\x29\x0a\xb4\x32\xb4\x3a\x8f\xdd\x29\xcc\xa3\xa0\xe0\x3c\x51\x92\x27\x12\x15\xab\x48\x9e\x38\x03\xce\x09\xbe\xa1\xf1\xd3\xd6\xe8\xfb\x9e\xa3\xe8\x0a\x66\x89\x4a\xce\x03\x1a\x1f\x67\x97\xce\x83\xbe\x92\xc8\x63\x08\x74\xea\xee\x2e\x1c\x11\xf5\x97\xa9\xee\xb1\xda\x98\x69\x61\x7d\xf3\xb0\x40\xea\xbc\x92\x33\x41\xf3\x03\xdd\x89\x99\xe4\xf9\x60\xe4\xf4\x1d\xa3\x8a\x92\x9a\xfe\x2f\xf6\x3f\xe9\x36\x93\xfa\xab\x7a\xe8\xff\x8f\x19\x86\x87\x25\x5c\xb8\x59\xfb\x8b\xe9\x11\x7b\xc8\xf5\x8a\x60\x09\x9f\xbf\x64\x97\x07\xef\x58\x53\x8f\x63\x53\x22\x83\x65\xd8\x89\x9b\xca\x2f\xec\xce\x88\x57\x1f\x75\xf0\x19\x9f\xe5\x55\xbc\xfb\x99\xc1\x00\x95\xa2\xe0\x2d\x53\x0b\x49\x76\x38\xbb\x3a\x2f\x4c\x21\x3f\x0e\x67\x36\x3f\x03\xc5\x2f\x8f\xe7\x79\x97\x44\x7f\x39\x81\xff\x0b\x00\x00\xff\xff\x1e\xf5\xcc\xec\x19\x40\x00\x00" +var _executionnodeversionbeaconCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3b\x5d\x6f\x1b\x39\x92\xef\xfe\x15\x95\x3c\x78\xa4\x19\x5b\x9e\x39\x1c\x0e\x07\x9f\x95\x45\xec\x4d\x76\x03\x0c\x32\x8b\x24\xb3\xfb\x60\x18\x03\xaa\xbb\x5a\xe2\xb9\x9b\xd4\x91\x6c\xc9\xba\x4c\xfe\xfb\x81\x1f\xcd\x26\x9b\xec\xb6\xec\x24\xc0\xf9\x25\x91\x48\x16\xeb\xfb\x8b\xa5\x8b\x8b\x0b\xf8\xb4\xa1\x12\x0a\xce\x94\x20\x85\x02\x2a\xa1\x95\x58\x82\xe2\x50\x62\x45\x19\x96\xb0\xaa\x79\x71\x0f\x1b\xa4\xeb\x8d\x02\xc2\x4a\x90\xbc\x52\x7b\x22\x10\x76\x28\x24\xe5\x0c\x56\xbc\x65\x25\x11\x14\xe5\x89\x86\x58\x71\x01\x6a\x83\xfd\x3e\xd1\x32\x58\x1d\xe0\xcd\x03\x16\xad\xd2\x07\xde\xf3\x12\xe5\xe2\x64\xdb\xae\xfa\x9b\xfd\xaa\x5e\xfc\xa7\x85\x7c\x8d\xa4\xe0\x0c\x3e\x9f\x9c\x00\x00\x68\xd8\x1f\x95\x68\x0b\x05\x02\xb7\x02\x25\x32\x45\xd9\x3a\xc5\x87\x48\xf8\x88\x0d\x61\x8a\x16\xe0\x20\x79\x00\xa4\xe6\x6c\x0d\x7b\xaa\x36\xb0\xc1\x7a\x8b\x02\xaa\x96\x15\xfa\x5e\xe9\xf7\xbc\xe5\x02\x04\x56\x28\x90\x15\x78\x06\x12\x11\x36\x4a\x6d\xe5\xe5\xc5\x85\xc4\x66\x87\x62\xc1\xc5\xfa\xc2\x6c\xd7\x24\x48\x8b\xd3\x47\xb3\x04\x9f\xcd\xf7\x1d\xa8\x1b\xde\x6c\x39\x43\xa6\xa4\xe5\xa7\xc6\x97\x80\xec\xb0\xdb\x05\xd8\x75\xe0\x6a\x54\xd0\x90\xff\xe6\xe2\x12\x7e\x7f\xc7\xd4\x7f\xa6\x8b\x94\x8d\x2f\x6e\x89\x2a\x36\xa3\x8b\x02\x3f\x60\x8d\x44\xe2\xa5\xe6\x24\x65\xeb\xbf\x9c\x44\xe8\xfe\x93\xd4\x2d\x42\x89\x8c\x1b\xce\x16\xbc\xd9\x12\x45\x57\xb4\xa6\xea\x60\x99\xb6\x15\xb8\xa3\xbc\x95\x1d\xea\x32\xb9\x84\xca\x6b\x52\xdc\xef\x89\x28\xe5\x8d\x3b\x5f\xe3\x25\x5c\x73\x5e\xf7\x97\x51\x46\xd5\x2c\xa4\xf2\x2c\x22\xeb\x2c\xa2\xe3\x2c\x87\xf8\xd9\xd4\x45\xf3\x40\x0c\xfa\x4f\x62\x5d\x2d\xcc\x75\xb0\xb4\xcc\xcd\x2c\xeb\xfb\xf5\xb2\xfe\x37\x5d\x36\x08\xc1\xd2\x22\x96\x59\xf6\x18\xea\x3d\xfe\x43\xba\x31\x8b\x35\x2c\xf3\xd4\xf8\xe3\x5f\x62\x39\x7d\x40\xd5\x0a\xe6\x85\x00\x94\x75\xea\x57\x71\xd1\x10\x05\x33\x5c\xac\x17\xb0\xbb\x32\xb4\xbe\x5a\x5c\x19\xa2\x5e\x2d\xae\x0c\xf6\xaf\xce\xaf\x7a\x0c\x5f\xcd\x23\xc8\x44\x02\x71\x2c\x8e\x24\x5b\xb5\x0c\x14\xb7\x0b\xb3\x79\x27\x85\x01\x9b\xb5\xf8\xad\x85\xdc\x70\x81\x6e\xcb\x32\xe0\xfe\xa2\x07\x11\x1d\x34\x7f\x8b\x82\xb3\x82\xa8\xd9\xcb\xc5\xcb\x89\xd5\x74\x25\x96\xe0\xe4\x15\xf3\xaf\xbe\xc3\x30\x70\xfa\x8e\xe8\x2b\xe3\x03\x34\x50\xad\x14\xe7\xc2\xa9\x08\xad\x80\x2a\xc0\x07\x2a\x95\x84\x53\x10\x46\x9c\xd1\x39\x5a\x25\x7a\xf5\x62\x09\x8c\xd6\x03\x96\xeb\x3f\x7b\x3c\xe1\xbc\xa7\xf5\xfc\xa5\xa7\x7b\x00\xf3\x45\x8c\x6c\xa0\x65\x13\x70\xb3\x4a\xf9\x23\xdc\xb4\x52\xf1\xc6\x78\x3c\x22\x88\xe2\x42\xc2\x8f\x17\x79\xb5\x55\xa2\x35\x3c\x70\x3a\x5b\x70\x81\x3a\xf2\xac\x05\x12\x85\x3a\x78\x10\x16\x9d\xdb\x12\xa9\x83\x52\xb8\x5d\x07\xa2\x8a\xd4\x12\x81\xab\x0d\x8a\x3d\x0d\x6c\xad\xd3\x57\xbd\xf1\x6f\x16\xe6\xa7\x0d\x61\xb3\x3f\xec\xde\x4b\x07\x68\x6e\x7d\xc5\x80\xa1\xb4\x82\x59\xe0\x2e\x5e\xd9\x33\xf6\xd3\xd0\xad\x04\x4c\xd2\x24\xc5\xbc\x04\xac\xad\xa4\x43\x70\xcb\x65\x08\x0f\x4e\x4f\x43\xdf\xe3\xef\xd2\x9f\xbe\xf3\x5d\xfd\xa2\xf9\xd8\x2d\x5a\x2f\xd7\x21\x62\x3e\x3d\x03\x91\xd1\x03\x46\x62\x03\x95\xcb\x69\xd3\xd3\x74\x05\x02\x7f\xad\x8f\xe2\xff\xb4\xa4\xd6\x29\xcc\xb7\xd1\x9b\xdf\xc4\x1b\x0d\xf0\x13\x3f\x4e\x81\xbc\xd5\xd4\xd5\x62\xa8\x81\xe6\xf8\x1c\xfe\xfc\xb3\x5f\xee\x60\xdb\xa5\x67\x72\xa3\x46\x29\xbf\xa9\xd9\xfc\x8a\x52\x1e\x6f\x33\x8e\xe4\x17\x39\x9a\x7b\xee\x7d\x1b\x0a\xbf\x87\xb0\x3b\x6a\xbf\x52\xd2\x9e\x69\xdf\x5a\xcc\x54\x0e\xc9\x8c\x4e\x3d\x87\xe4\x67\x13\xfa\xb5\xbe\xc5\x2f\xc6\x89\xd4\xd1\x8c\xf8\x11\x1f\x48\xa1\xea\xc3\x8f\xc7\xb0\xe4\x18\x6e\x48\x25\x68\xa1\xbe\x4a\xf0\xb1\x70\x7b\x82\x83\x9c\xd0\x53\x9d\xa6\x86\xd6\x05\x7e\xe9\x8b\x9c\x37\x3b\x64\x0a\xb0\xa1\x4a\x61\x09\x84\x1d\x40\xd1\x06\x81\x40\xb1\x21\x6c\x6d\xcc\xa1\x21\x25\x6a\xd2\x5d\x02\xf8\x89\x74\xc9\xa2\xa6\x0a\xcd\xf9\x5c\x41\x65\xf6\xbd\x2e\x4b\xaa\xbf\x9f\xd9\x9a\xce\x26\xd9\xff\xf1\xef\x67\x1d\x30\x4f\xfb\xb1\x00\xff\x8a\x35\x1e\x07\xf0\x31\x12\x75\xd9\xd8\xe5\xb4\xed\xb6\x24\x0a\x61\xd5\x56\x15\x0a\xd8\xa2\xa0\xbc\x04\x2e\x60\x47\x04\x25\xac\x30\x6c\xb0\x7b\xca\x23\x10\xfd\xdd\xec\xbc\x36\xc0\x6e\x0c\x1b\xcb\x19\xc3\x7d\x66\xb5\x43\x3f\xc0\xf6\x86\x30\xce\x68\x41\x6a\x90\x8a\x0b\xb2\x46\x5d\x05\x6c\x4c\xa1\x9b\xbb\xeb\x75\xd9\x50\xe6\x71\xd2\x49\xf1\xe8\xae\x8f\x16\xde\x3f\x88\xda\xe8\x9c\xda\x7f\xe8\xef\x36\x1c\x86\x92\x16\x8a\x98\x9a\xac\xa1\x8c\x36\x6d\xe3\xd9\x74\x0e\x9f\x4d\x85\xfe\x77\xc7\x7b\xcb\xea\x2f\x7d\xc5\xbc\xe1\x6d\x5d\xc2\x0a\x81\x8b\x12\x85\x2e\xe8\x0f\x71\x4d\x3f\xa3\xac\xc4\x87\x39\xec\x37\xb4\xd8\x00\xed\xeb\x60\x64\x15\x17\x85\x3d\x41\x99\x44\xa1\x29\xb8\x28\x9d\xb4\xcd\x36\x52\x14\x28\xe5\xac\xab\xe2\xe7\x86\xda\x50\x29\x2f\xe1\xb3\x65\x67\x8f\x99\x87\xff\xbe\x6d\x56\x28\x80\x57\x16\x1f\x09\x2b\x54\x7b\x44\x16\xa3\xb7\xdf\x20\x1b\xb6\x1a\x0e\x5a\xf8\x5d\x83\x82\xb0\xd2\x83\x0c\x15\xc8\xef\x5d\xa1\x66\x9c\xdb\xbe\xb0\xdd\x07\x28\x08\x03\x7c\xd8\x62\xa1\x74\x58\x51\xce\xb6\xa4\x36\xaa\x00\x48\x6f\x58\x0e\xba\x2e\x83\xeb\x1a\x36\x64\x87\x40\x14\x68\x4b\xd6\x00\x74\x84\xe2\x6c\xad\x4f\x0b\x94\x5b\xce\x4c\x0b\x85\x24\xb8\xe4\x99\xb6\x23\xa2\xdb\x99\xd3\xc4\xa0\xfd\xc1\x85\xb6\x97\xd7\x42\x90\x83\x69\x9d\x10\xdb\x52\xa8\x5a\xd5\x0a\x8c\xf8\x26\x35\xe3\x74\x40\x98\xe2\x9d\x07\xfc\x2f\xfc\xa1\xae\xa1\x21\xd4\x80\xb4\x04\x11\x09\x48\xe4\x01\x1a\xd4\xbc\xa1\xb2\x31\x0a\x5f\xa2\x42\xd1\xd8\x6b\xb7\x82\x3f\xd0\x86\xd4\xfd\x15\x06\x81\xa0\x1f\x34\x4a\x6e\xbb\x2d\x78\x43\xd9\xfa\x5a\x9f\xb8\xf6\x07\x2e\xe1\xd6\xd2\x7c\xf7\x38\xd1\x1b\xaa\xad\xd1\x98\x65\x8e\xf0\xb4\x3b\x05\x7b\xfd\x7d\x48\x7a\x16\x35\x22\x8a\x0d\xdd\x61\x79\x04\x6a\xc6\x86\xb5\xc4\x79\x2b\x0a\xb4\x8a\xd4\x10\x46\x8c\x22\x6d\x70\xd0\xf2\xea\x50\xea\x6a\x28\x0d\xa1\x63\x39\x96\xd0\xf1\xbd\xc3\xc6\x7b\x10\x0f\x7f\xd4\x8d\x0c\xba\x4e\x56\x89\x0c\x06\x43\x77\xa1\xd5\x9b\xdc\x23\x60\x55\x69\xd5\x27\xca\xec\x5a\xd3\xdd\xc0\xec\x92\x30\x49\xca\xb2\xeb\xca\x39\x3d\xfa\xc4\x8d\x75\xcc\x14\x11\x6b\x54\xd7\xa1\x13\xea\x02\x40\xef\x61\x7d\x0c\x18\x84\xd2\xad\xc8\x95\x0b\x09\x48\x78\x05\x6b\x54\x37\xad\x10\xc8\xec\xf7\xb3\xf9\xc2\x39\x88\x9f\x26\x7a\x87\x8b\x8c\x59\x65\xab\xfb\x4b\x78\xf9\xc9\x5c\x1a\x3b\x1f\x5e\x14\xad\xd0\x4e\x81\x83\xe4\x96\x7d\x2e\x2e\xbd\x79\xdf\xf1\x74\xf1\x72\xaa\x88\xbe\xb8\x80\x77\xc6\x77\x42\x43\xb6\x5b\xad\xb7\x94\xf5\x81\x1b\x14\x09\xdb\x3c\xfa\xef\x71\x62\x0c\xdb\x17\xd6\x23\xa7\xbd\x8a\x7b\x3c\x5c\xa6\x0c\x3c\x4b\xf6\xf5\xb2\x89\x96\x92\xf6\x85\xc3\x3e\xe7\x59\x7f\x90\xee\xa2\x98\x69\x86\x40\xb5\xc1\x21\x24\x62\x2c\xb8\xd3\x78\xd3\x0a\xad\x6b\xef\x09\x62\x18\x03\x1f\x72\x04\x73\x2c\x3f\x7e\xcf\xf8\x95\x43\xaa\xa2\xf3\x58\x48\x3a\x11\x79\x42\xc2\x94\x72\xb7\x4f\x75\x7a\xb6\x8e\x66\xf9\x26\x5f\x72\x1e\xa2\xd6\xf1\x03\x99\xd2\x6e\x99\x45\x51\xc7\xc5\x63\xeb\xae\x24\x10\xd6\x73\x2a\x1b\x55\xc0\xb7\x9c\x5d\xbc\xdf\x60\xbd\xad\xda\x5a\xc3\x2d\x74\x0e\x2a\x78\x5d\xaf\x48\x71\xaf\xfd\x3f\x43\x2c\x83\x94\xb9\x33\x72\x13\xdb\xb1\xe3\xe1\xc0\xde\x67\xab\xd4\xc4\xe7\x97\x69\xdf\x1b\x46\xcd\xfa\x58\xd5\xbe\xc7\x83\x5c\x38\x4f\x2f\xc3\x6b\xe7\x97\xf0\xf2\x3d\xef\x23\x99\x4f\x01\x5c\x10\x0f\xb6\x0e\xac\xf2\x91\xeb\x47\xc2\xd1\x28\x12\x1d\x4f\x80\x71\xe5\xb1\xa0\x6c\x2c\xac\x3d\xea\x22\xde\x30\xd9\x9a\xd8\x64\x73\xab\xce\xef\x98\x96\x3b\x32\xde\xae\x37\x36\x41\xd6\x11\x98\x99\xfc\xa5\xcf\x34\x22\x58\xba\x14\xca\x79\x85\xd5\xf7\xf1\xa5\xa9\x5b\x69\x50\x4a\xb2\xc6\x4b\x78\x79\x43\x98\xe5\x8e\xd6\xa9\x34\x0b\xd1\xb4\xd1\xf1\x34\x3f\x88\xee\xce\x71\x0e\xb9\x38\x4f\xb8\xf8\x01\x1b\xbe\x8b\xab\x88\xce\xe9\xea\x4a\x70\x44\x38\x7a\x3f\xb3\x2e\xc0\xd4\x0f\x49\x4b\x5b\x18\xb0\xa5\x57\xf5\xe5\xd1\x8a\x6c\x4f\x8e\xf8\xe8\x40\x24\x31\x5d\x2f\x8e\x75\x79\x63\xda\x36\x76\x2d\x51\x97\xcf\x01\x57\x51\x21\xd5\x3b\x5d\x24\xcc\x78\x15\xe1\x3d\x40\xf5\x49\x5e\x35\xa9\x1a\x57\x59\x7f\xea\x98\x9f\x0a\xfb\xa6\x46\xe3\x13\x7b\xb7\x78\xea\x53\xb7\x24\x11\x85\x15\x56\x5c\x24\x11\xc9\x16\xf2\xfa\xac\xbb\xc6\xeb\x8d\x36\xb4\x1d\x0a\x5a\xd1\x82\xa8\x61\x8c\x9c\xe0\xa1\xc3\xe0\xb7\x7a\x98\x3e\x0e\x9e\x0a\x5c\x0b\xc1\x5d\x3b\x16\x29\xac\xa9\xd9\x48\xc1\x86\xd5\x92\xcd\x36\x5b\xa9\x3a\xe3\x69\xbb\xdd\x23\x25\x4c\x07\x55\xdb\x82\xde\x60\x99\xe4\xe0\x86\x46\x43\xbb\xb8\x9e\x7b\x05\xb2\x85\x52\xa6\x70\xd6\xf5\x74\xf8\xf9\x1d\x33\x2c\x90\x3e\x56\x0c\x63\x04\x97\xea\x59\x41\x22\xbc\x04\x96\x4b\x18\xbd\xf7\xe5\xef\x91\x73\xd9\x13\x69\xfc\xf5\x56\xf0\x2d\x8a\xfa\xe0\x48\x29\x5f\xc0\x07\xdc\xa1\x2e\x32\x1e\xf5\xd3\x7f\x43\x05\x85\xf5\x9c\x51\xbe\xb2\x48\x9c\x46\x11\xf8\x57\xe7\x77\x97\xa3\x7e\x37\xab\xdb\xed\xd6\x08\x65\x90\x1f\x59\x71\x1d\x9d\x15\x4d\xe8\xe3\x7f\x25\xd4\xf5\xa1\x55\x9b\x8c\x1f\x00\xc0\x83\xae\x67\x23\xb2\xcf\x40\x92\xca\x74\xa0\x1a\x5d\x4d\xb8\xe2\x79\xf8\x90\xf2\x0c\x5f\x53\x23\x5b\x2b\xd3\x25\xfc\xf9\x1b\xe8\xc6\x98\x6a\x1c\xf7\x68\xe1\xe4\xad\x85\xe0\x2b\xdd\x5e\x1a\xc3\xdc\x2b\x14\x3e\xc3\x07\x15\x65\xa0\xd3\x31\x63\x84\x19\xb7\x3f\xdf\x9d\xe4\x90\x72\xc9\x82\xb1\x7f\x8d\xdc\x1e\x7f\x10\x68\x34\xdb\xc9\xa8\xf6\xd1\x55\x2f\xf3\xda\x04\x54\x86\xfb\x38\xca\xe6\x40\xf3\xca\xfa\x1a\x7c\x50\xd9\x7c\x3c\x25\x77\x2c\xe1\xd0\x7f\x19\x1b\x78\x6a\x82\x01\x57\x19\x66\x9e\x9e\x1e\x7f\xdd\x88\x06\xe4\xe0\xa6\xc9\x0c\x44\x09\x8d\x81\x63\x64\x6f\x51\x63\x7c\x0f\x2b\x81\xe4\x5e\xa6\xd9\x8d\x4b\x6b\x6c\x87\xc9\x44\x10\xb9\x80\x4f\xdd\x42\x00\x84\x54\x4a\x83\xd2\x0c\x1f\x02\xc9\xa4\xb0\xf3\xac\x42\xfc\x0b\x4d\x3b\x4b\xe3\xa3\xcd\xd2\x7b\xb6\xd0\xa9\x4f\x56\xc0\xdf\xc7\xae\x8e\xcc\x06\x9e\xd2\x9a\x1d\xb9\x77\x3e\xde\x4c\xf7\x2f\x09\x1b\xf4\x2e\xac\x0d\x89\x71\x29\xa7\x33\x18\x5b\x74\x0d\x46\x95\x3c\x30\xcd\xe5\x15\x6a\x9d\x6f\x05\x96\x51\xcc\x34\x6d\x41\x63\x83\x86\x04\xdf\xbc\xd1\x21\x73\x8d\x2a\x17\x2f\xe7\x5d\x64\x0c\x7c\x4f\xf8\xb4\x30\x26\xb9\x0c\x75\x04\x0a\xbe\x3d\x74\xe6\x5b\xb5\x75\x1d\x26\xd0\xd9\x57\x82\x18\x31\xdb\xca\x99\xa7\xed\xda\x69\xdc\x7a\x90\x01\x52\x6f\xdd\x44\x95\xf5\x50\x22\x10\x80\xef\x7a\xe8\x05\x1d\x8e\xa3\x02\x0e\xa1\xe1\x52\x79\x30\x02\x8b\x61\x98\xed\xed\x4b\x3b\x34\x4d\x25\xad\x80\xf1\xd4\x2b\x0f\x7b\x9c\x01\xc1\x2e\x00\xe7\x34\x71\xe6\xcb\xd9\xbf\x44\x1d\xb5\xae\xa1\xb6\xe2\x6a\x33\x5a\x45\x9c\x8e\x35\x0e\x6d\xdf\xa3\xb7\x0d\xc3\xbf\xa9\x3c\x31\xbc\xd9\x0a\xd8\x0c\x7e\x58\x52\xc3\xae\x67\x7f\x85\xe9\x47\xaf\x10\x59\x44\x35\x04\x83\x24\x51\x5d\x12\x46\xd9\xee\x95\x72\x04\xfb\x89\x88\x2c\x3c\x6e\xf9\xfc\xb5\x43\x7e\x58\x8f\xd9\xf9\x42\xdf\xfd\x18\xe9\xe3\xa6\x21\x67\x4c\xff\x5c\x5f\x76\x76\x0c\x19\xe7\xf0\xcb\xfc\x6e\xd4\x8a\x98\xeb\x51\x05\x5d\xe6\x24\x51\xd6\x9a\x6b\x9c\x44\xdf\x0b\x0c\x5f\x20\x88\x94\xbc\xa0\x44\x05\xb5\x84\x57\xca\x73\xb8\x5d\x85\x01\x67\xf4\xa5\xec\xce\x83\x7b\x67\x2c\xda\xbe\x81\x87\x8a\x9e\xc0\x76\x72\x3f\xf3\xf6\x86\xcd\x56\x1d\x1c\x3d\xe7\x70\x7b\x37\xb4\x83\xf7\xf8\xa0\x06\x1d\x9e\x7f\x10\x6a\xbc\xd2\xed\x6b\x76\xb0\x93\x96\x77\xdd\xf0\x65\x6c\x08\x63\x36\x20\x39\xec\x11\xee\x75\x20\xb2\x49\x09\x67\xb5\x46\x8d\xd4\xb4\x9b\xba\xec\x9e\x2a\xd2\xfe\xde\x93\xec\xe2\x3d\x87\xb7\x43\x48\xde\x9b\xfc\xf6\xc1\xf6\x55\x3b\x39\x1a\xd6\x75\x03\x8b\xc6\x53\x87\xa0\x9c\x5a\x85\xfc\x22\xd2\x71\x9d\x98\xc4\x2a\xbc\x43\x71\x1d\x01\x0a\xce\x0a\x14\xfa\x2e\x4d\x54\x62\x6c\xc7\x64\xb7\x9d\xdd\x8d\x1a\x66\xd6\xd8\x9c\x1c\x53\x5b\xbb\x3e\x80\x65\xbb\x65\x7f\x9f\xc5\xf9\x7e\x8b\x11\x48\x8c\x78\xf4\x8c\x26\x43\x70\x26\x8c\xe8\xba\x1f\xb0\xc6\x46\xfb\x61\x97\x4d\x8e\x89\xde\x30\x6e\x68\xaa\xb7\x11\x09\x53\xac\xb9\xfd\xf9\xee\x2c\xdd\x1c\x59\xf9\x23\xc7\x7b\xc6\x24\xf6\x7d\xb3\x41\x9d\xf2\xed\x37\xa8\xa5\xea\x5e\x3b\x7c\xe0\x26\xd2\x0f\xba\xd6\x18\xbf\x88\x8c\xb8\xa6\xc8\x94\x68\x30\xaf\xd9\xc5\x91\x4c\xa7\x34\x7d\x0d\x4f\x46\x0b\x68\x75\x6c\x9b\x2e\xab\x1a\xf1\x70\x55\xac\x1d\x6f\x29\x2b\x93\xd9\xdd\x5e\x37\x4e\xa1\xd0\x2c\x4a\x5e\x8b\x06\x2d\xe9\x10\xa2\x6f\xb9\x0e\xbd\x34\xad\xc2\x47\xe0\xa0\x00\x32\xf2\x93\xa8\x2d\xfc\x2d\x17\x37\x35\x97\x28\xd5\xdf\x3d\x87\xe3\x8e\x7d\xd8\x64\xca\x4c\x99\x3a\x44\x1d\xbf\x3b\xe0\x91\xba\x0c\x10\xb8\x7b\x91\x36\x5d\xa9\x51\x87\x41\xe7\x63\x30\x59\xd6\x8f\x99\x84\xcf\x69\x52\x85\x1e\x3e\x79\xe8\x08\xdb\xd1\xf9\xd2\xe9\xe2\x02\x7e\xfb\x30\xfc\x66\xfc\x06\x8d\xd8\xaa\x9b\x0f\x0e\xd4\x35\xa7\x07\x69\x2d\xd6\x3d\x54\x8d\x8e\x66\xc5\xec\x4c\x87\x5a\x4f\x4f\x3d\x8c\xe9\x39\xe5\xee\x2f\x05\xf1\xe7\x9f\x03\xa1\x3d\x02\xe9\x4b\xa8\x6c\xaf\xa5\x6c\x4d\xd8\x63\xbc\xd7\x62\xaf\xbd\x76\x8e\xf6\x2c\x6f\x07\xc9\x97\x61\xa2\x4a\x5d\x27\x8c\xc8\x02\x59\x69\x7f\x4c\x20\x54\x3f\xec\x00\x66\x34\xc2\xff\xa2\xc1\x8d\x98\x25\xae\x20\x79\x46\x36\x7e\x61\xe2\x3d\xea\x8f\xf4\x09\x29\xd7\x25\x4b\x03\xee\x74\x8f\x93\x68\xec\x38\xcb\x76\xa8\x9e\x17\x66\x7d\xfa\xe1\x02\xe1\x98\xf7\xd7\x0c\x4a\xde\x6c\xb5\xce\xda\xde\x11\x89\x23\xee\xa0\xa5\xd5\x93\x70\x06\x92\x36\xdb\xfa\x00\x3a\x4b\x64\x69\x12\x7b\x44\x5c\x3d\x19\x28\x5d\xee\x29\x79\x32\x92\x1c\x73\xd1\x39\xfc\x72\x97\xfb\x89\xc1\xd8\x31\x4b\x4e\xee\x19\xb2\x57\xf7\xc4\x5d\x6b\x8d\xb3\xfa\xe7\xca\xba\xc2\xba\xcc\x38\x4b\xee\x07\x23\xf5\x16\x7b\x83\x07\xb5\x23\x02\x28\x84\x5c\xd9\x6f\x68\x8d\xd3\x0c\xa0\x77\x70\x95\x61\xdb\x60\x4c\x1a\x96\x40\xe1\x27\xf8\x25\x6f\xb0\xee\xd1\xd8\x05\xd3\x92\xca\x82\xef\xcc\xf0\x11\xd9\x6e\x05\xdf\x0a\x9d\x20\x5b\xe2\x4e\x8e\x62\xa0\x7b\xec\x26\xea\x12\xe8\x59\x8a\xdc\x3c\xcd\xe8\x1b\xbe\xd3\x75\x91\x0b\x2f\x83\x09\x91\x4a\xf0\x26\xf3\x1c\x3d\xd0\xcb\xcc\xef\x9b\x20\x9c\x88\x18\xb7\xa1\xd8\x86\x4d\xfa\x91\x19\x6a\xea\x7e\x79\xa4\x0d\xa5\x20\x75\x1d\x54\x6d\x4f\xef\x20\x47\x17\xd6\x48\x44\xe0\x28\x53\xda\xc7\xec\xd8\x25\x79\x71\x32\xe7\x9e\x0c\xac\x12\x9b\xb9\xa6\x7c\x8d\xf5\x04\x25\xeb\x0c\xe9\x15\xfc\xec\xc7\x25\xc7\x53\x3b\xb8\xca\x31\x23\xcd\x0a\x72\x78\xf9\xcc\x63\xfa\xb1\xec\xad\xce\x75\x07\x6f\x34\x93\xf5\xa4\x33\xe9\xec\x95\x13\xed\xa8\x6b\xca\x34\x4e\x36\x0d\x02\x52\xaf\xb9\xa0\x6a\xd3\x68\xae\x56\xda\xe8\x3b\x1b\xdf\x99\x5f\x62\xdd\x63\x3a\x16\x60\x32\x0b\x2a\xe1\x6a\xd9\x0d\x5f\x98\xbd\xe3\x81\xe8\xd8\x94\xab\x0b\x4a\xc1\xdb\xbe\xfd\x4f\xbe\x19\xe2\xe3\x90\x19\xb2\x4d\x07\xd0\xbe\xba\xc4\x8b\x5b\x1f\xc3\x17\x2d\x33\x14\x6d\x4a\x36\xf3\x24\x1e\xa4\xea\x21\x8c\x11\x84\xfe\x7f\xf7\x4b\x4c\x57\x24\xce\x1d\x0d\x07\xac\xb4\x7d\x54\x3d\xc9\xa8\xfe\xaf\xee\xf2\x63\x50\x0c\x49\x76\xb0\x5f\x4d\x1f\xbc\x8d\x6f\xc9\x44\xc1\xb0\x45\x73\x3c\x90\x11\x76\xfc\xd5\x88\xa6\xb3\x15\xc3\x0a\x19\x85\xb6\x1a\x2b\x15\x45\x37\xfd\xa5\x70\x9e\x32\xba\x26\x04\xfb\x2b\xe7\x5b\x68\x99\xa2\x75\x07\x7a\xcb\x29\x53\x28\x24\x14\x82\xcb\xa1\x1b\x33\x97\x5c\x39\xb0\x31\xb5\xfa\xba\x86\x96\xb0\x84\x99\xd9\xf5\x93\xdd\x35\x87\x0b\xf8\xb7\xe1\x5b\xd8\x24\x4b\x1a\x5a\xde\x69\x8d\x71\x62\x98\xf8\x89\xd7\x23\x40\x06\x0d\xf8\x01\x0e\x0e\xfc\xd5\x11\xc8\xa4\x28\xd0\xca\xd0\xea\x3c\x76\xa7\x30\x8f\x82\x82\xf3\x44\x49\x9e\x48\x54\xac\x22\x79\xe2\x0c\x38\x27\xf8\x86\xc6\x4f\x5b\xa3\xef\x7b\x8e\xa2\x2b\x98\x25\x2a\x39\x0f\x68\x7c\x9c\x5d\x3a\x0f\xfa\x4a\x22\x8f\x21\xd0\xa9\xbb\xbb\x70\x44\xd4\x5f\xa6\xba\xc7\x6a\x63\xa6\x85\xf5\xcd\xc3\x02\xa9\xf3\x4a\xce\x04\xcd\x0f\x74\x27\x66\x92\xe7\x83\x91\xd3\x77\x8c\x2a\x4a\x6a\xfa\xbf\xd8\xff\xa4\xdb\x4c\xea\xaf\xea\xa1\xff\x3f\x66\x18\x1e\x96\x70\xe1\x66\xed\x2f\xa6\x47\xec\x21\xd7\x2b\x82\x25\x7c\xfe\x92\x5d\x1e\xbc\x63\x4d\x3d\x8e\x4d\x89\x0c\x96\x61\x27\x6e\x2a\xbf\xb0\x3b\x23\x5e\x7d\xd4\xc1\x67\x7c\x96\x57\xf1\xee\x67\x06\x03\x54\x8a\x82\xb7\x4c\x2d\x24\xd9\xe1\xec\xea\xbc\x30\x85\xfc\x38\x9c\xd9\xfc\x0c\x14\xbf\x3c\x9e\xe7\x5d\x12\xfd\xe5\x04\xfe\x2f\x00\x00\xff\xff\x13\xa2\xf5\x49\x19\x40\x00\x00" func executionnodeversionbeaconCdcBytes() ([]byte, error) { return bindataRead( @@ -100,7 +100,7 @@ func executionnodeversionbeaconCdc() (*asset, error) { } info := bindataFileInfo{name: "ExecutionNodeVersionBeacon.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xf3, 0x4c, 0x48, 0xf, 0x17, 0xc6, 0xad, 0x8c, 0xf6, 0x9d, 0x76, 0xc2, 0xee, 0xe3, 0x88, 0x52, 0xd7, 0xd3, 0x4d, 0xb6, 0xdd, 0x93, 0x6a, 0x6e, 0xdd, 0x7c, 0xf8, 0x18, 0x54, 0x65, 0xac}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0xb5, 0xf, 0xc1, 0x43, 0x19, 0x92, 0x41, 0xde, 0x66, 0x55, 0x69, 0x23, 0x6e, 0x63, 0x68, 0x44, 0xa3, 0x9f, 0x4a, 0x5b, 0xdf, 0xa9, 0x6c, 0xf8, 0xcf, 0xfb, 0x7d, 0x11, 0x3, 0x52, 0x8a}} return a, nil } diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go index 4452fd681..8ac3e82eb 100644 --- a/lib/go/templates/internal/assets/assets.go +++ b/lib/go/templates/internal/assets/assets.go @@ -70,7 +70,7 @@ // ../../../transactions/epoch/scripts/get_epoch_phase.cdc (111B) // ../../../transactions/epoch/scripts/get_proposed_counter.cdc (108B) // ../../../transactions/epoch/scripts/get_randomize.cdc (121B) -// ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.524kB) +// ../../../transactions/executionNodeVersionBeacon/admin/add_version_to_table.cdc (1.525kB) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer.cdc (963B) // ../../../transactions/executionNodeVersionBeacon/admin/change_version_update_buffer_variance.cdc (974B) // ../../../transactions/executionNodeVersionBeacon/admin/delete_upcoming_version_boundary.cdc (1.101kB) @@ -1748,7 +1748,7 @@ func epochScriptsGet_randomizeCdc() (*asset, error) { return a, nil } -var _executionnodeversionbeaconAdminAdd_version_to_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x6f\xda\x4e\x10\xbd\xfb\x53\xcc\x8f\xc3\xaf\x46\x42\xd0\x43\x55\x55\x56\xd3\x08\x88\xa5\xe6\x50\x88\x80\x44\x95\xaa\x1e\x86\xdd\x01\xb6\xb1\x77\xdd\xd9\x71\x48\x55\xe5\xbb\x57\xeb\x3f\x90\x90\x40\xd4\x5e\xdf\x78\xe7\xbd\x7d\xef\x79\x4d\x5e\x38\x16\x48\xef\x49\x95\x62\x9c\x9d\x38\x4d\x37\xc4\xde\x38\x3b\x22\x54\xce\xc2\x8a\x5d\x0e\x6f\xef\xd3\xaf\xe9\xf8\x7a\x71\x39\x9d\x4c\xa6\x17\xe9\x4d\x3a\x9b\x5f\x4e\x27\xa3\x74\x38\x9e\x4e\x86\x17\x17\xb3\x74\x3e\x8f\xa2\xc1\x60\x00\x0b\x46\xeb\x51\x85\x55\x20\x1b\x14\xc0\x2c\x73\x5b\xff\x22\xc1\x50\xe7\xc6\x82\x38\x40\xad\x01\xc1\xd2\x16\xee\xea\x49\x00\x65\x43\xd5\xc6\x1d\x84\xcb\x8c\x40\xd3\xca\x58\x63\xd7\x80\xbb\xc1\xd2\x95\x56\x23\xff\x02\x94\x70\x08\x04\x79\x4d\x32\xca\x9c\xba\xfd\x4c\x66\xbd\x91\x28\x92\xbd\xaa\x38\x82\xc0\xf4\x05\x7f\x38\x4e\xe0\xfa\xd2\xca\x87\x5e\x03\x19\x7b\x08\x5d\xa1\xa8\xcd\x01\xc4\x34\xa3\x8c\xd0\x53\x02\x73\x61\x63\xd7\xe7\x61\x62\xfc\x08\xd5\xed\x16\x59\xfb\xb1\xcb\x0b\x14\xb3\xcc\x28\x81\x91\x73\x59\x18\x3f\xd3\x54\x2f\x7d\xff\x2e\xea\xc2\xef\x28\x02\xc8\xe8\x54\x08\x95\x53\x33\x5a\x25\xf0\xff\xf1\x8f\xfa\x47\x3d\x6e\xf6\x5b\xda\x36\x68\x72\x82\xab\x3f\xa7\xfc\x8e\x38\x88\x2a\x98\x0a\x64\x8a\x51\x29\x49\x60\x58\xca\x66\xa8\x94\x2b\xad\x04\xd1\x00\x00\x83\x01\x8c\x99\x50\xa8\x32\xbe\x09\xd0\xb4\xa5\x09\x58\x81\xde\x93\x86\x02\x19\x73\x12\x62\x5f\x9d\xf3\x94\xad\xfa\x7b\x39\x70\xf6\xba\x9e\xb8\x3a\x08\x90\xd7\xc1\xb5\x11\xf6\x20\xaf\x63\x6b\x03\xec\x41\x51\x87\xd6\xc6\xd7\x0b\xd7\xd8\x45\xf6\x24\xc1\xde\xb1\xd8\x5e\x84\x2b\x01\xdd\xa8\xbd\xf8\xc8\x31\xbb\x2d\x20\x30\xad\x88\xc9\x2a\x6a\x5a\x7b\xa2\xeb\x4c\xde\x95\xac\x68\x6f\xc2\xeb\x99\xc3\x19\x04\xff\xfb\xcb\x8a\xef\xe3\x3f\x15\xe0\x53\x63\x5e\x1c\x72\x39\x19\xfe\xd1\x15\x73\x71\x8c\x6b\xba\x42\xd9\x74\x9b\x6d\xe7\xe7\x50\xa0\x35\x2a\xee\x8c\x5d\x99\x69\xfb\x46\xa0\x16\xf9\x5a\x93\x61\xd6\xf8\xd0\x09\xab\x1e\x82\xa5\x54\x9d\xa0\x7d\xaf\x86\x5a\x3f\x2e\xd5\xa3\x57\xe1\xe9\x8b\xf0\x37\x56\xf6\x51\xeb\x76\xd0\x3c\x1a\x0b\xb7\x08\x5b\xe2\x17\x7e\xd0\x67\x50\xef\xc9\x1f\x74\xd0\xe1\xdd\x4d\x0a\xe7\xa5\xbe\xc5\x09\x9b\xd7\x24\x0d\x50\xd3\x77\xbf\x3d\x63\xfb\xfe\x5f\xdf\x0b\x1b\x25\xe9\xcf\x12\xb3\x85\x8b\x0f\x09\x21\x81\xce\xe4\x91\x3b\x5b\xf4\x60\x9d\x84\xd7\x94\xf4\x81\x57\x15\x4b\xa7\x92\xf8\x10\xfd\x09\x00\x00\xff\xff\x8b\x99\x00\xef\xf4\x05\x00\x00" +var _executionnodeversionbeaconAdminAdd_version_to_tableCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x41\x6f\xda\x4c\x10\xbd\xfb\x57\xcc\xc7\xe1\xab\x91\x10\xf4\x50\x55\x95\xd5\x34\x02\x62\xa9\x39\x14\x22\x20\x51\xa5\xaa\x87\x61\x77\x80\x6d\xec\x5d\x77\x76\x1c\x52\x55\xf9\xef\xd5\xda\x06\x12\x08\xa0\xf6\xfa\xc6\x3b\xef\xed\x7b\xcf\x6b\xf2\xc2\xb1\x40\xfa\x48\xaa\x14\xe3\xec\xc8\x69\xba\x23\xf6\xc6\xd9\x01\xa1\x72\x16\x16\xec\x72\x78\xfb\x98\x7e\x4d\x87\xb7\xb3\xeb\xf1\x68\x34\xbe\x4a\xef\xd2\xc9\xf4\x7a\x3c\x1a\xa4\xfd\xe1\x78\xd4\xbf\xba\x9a\xa4\xd3\x69\x14\xf5\x7a\x3d\x98\x31\x5a\x8f\x2a\xac\x02\x59\xa1\x00\x66\x99\x5b\xfb\x57\x09\xfa\x3a\x37\x16\xc4\x01\x6a\x0d\x08\x96\xd6\xf0\x50\x4f\x02\x28\x2b\xaa\x36\x6e\x21\x9c\x67\x04\x9a\x16\xc6\x1a\xbb\x04\xdc\x0e\xe6\xae\xb4\x1a\xf9\x17\xa0\x84\x43\x20\xc8\x4b\x92\x41\xe6\xd4\xfd\x67\x32\xcb\x95\x44\x91\xec\x54\xc5\x11\x04\xa6\x2f\xf8\xc3\x71\x02\xb7\xd7\x56\x3e\x74\x1a\xc8\xd8\x7d\xe8\x06\x45\xad\xf6\x20\xa6\x09\x65\x84\x9e\x12\x98\x0a\x1b\xbb\xbc\x0c\x13\xe3\x07\xa8\xee\xd7\xc8\xda\x0f\x5d\x5e\xa0\x98\x79\x46\x09\x0c\x9c\xcb\xc2\xf8\x40\x53\xbd\xf4\xfd\xbb\xa8\x0d\xbf\xa3\x08\x20\xa3\x53\x21\x54\x4e\x4d\x68\x91\xc0\xff\xc7\x3f\xea\x1e\xf5\xb8\xd9\x6f\x69\xdd\xa0\xc9\x09\xae\xee\x94\xf2\x07\xe2\x20\xaa\x60\x2a\x90\x29\x46\xa5\x24\x81\x7e\x29\xab\xbe\x52\xae\xb4\x12\x44\x03\x00\xf4\x7a\x30\x64\x42\xa1\xca\xf8\xe7\x01\x56\xad\x09\x60\x81\xde\x93\x86\x02\x19\x73\x12\x62\x5f\x1d\xf4\x94\x2d\xba\x3b\x3d\x70\x71\x5e\x50\x5c\x1d\x04\xc8\xeb\xe4\x36\x19\x76\x20\xaf\x73\xdb\x24\xd8\x81\xa2\x4e\x6d\x93\x5f\x27\xdc\x63\x9b\xd9\x8b\x08\x3b\xc7\x72\x7b\x15\xae\x04\xb4\xa3\xcd\xcd\x07\x8e\xd9\xad\x01\x81\x69\x41\x4c\x56\x51\x53\xdb\x13\x65\x67\xf2\xae\x64\x45\x3b\x13\xce\x87\x0e\x17\x10\x02\xe8\xce\x2b\xbe\x8f\xff\xd4\x80\x4f\x8d\x79\x71\xc8\xe5\x64\xfa\x47\x57\x4c\xc5\x31\x2e\xe9\x06\x65\xd5\x6e\xb6\x5d\x5e\x42\x81\xd6\xa8\xb8\x35\x74\x65\xa6\xed\x1b\x81\x5a\xe4\xb9\x2a\xc3\xa4\xf1\xa1\x15\x56\x3d\x05\x4b\xa9\x3a\x41\xbb\x62\xf5\xb5\x3e\x68\x55\xe3\xef\x8b\x27\xe1\x6f\xac\xec\xa2\xd6\x9b\x41\xf3\x6a\xcc\xdc\x2c\x6c\x89\x5f\xf9\x43\x0f\xa0\xce\x8b\x5f\x68\xaf\xc3\xdb\x9b\x14\xce\x4b\x7d\x8b\x13\x36\x2f\x49\x1a\xa0\xa6\x6f\x7f\x3b\x60\xfb\xfe\x5f\xd7\x0b\x1b\x25\xe9\xcf\x12\xb3\x99\x8b\xf7\x09\x21\x81\xd6\xe8\x99\x3b\x6b\xf4\x60\x9d\x84\xe7\x94\xf4\x9e\x57\x15\x4b\xab\x92\xf8\x14\xfd\x09\x00\x00\xff\xff\xaf\x0f\x8c\x34\xf5\x05\x00\x00" func executionnodeversionbeaconAdminAdd_version_to_tableCdcBytes() ([]byte, error) { return bindataRead( @@ -1764,7 +1764,7 @@ func executionnodeversionbeaconAdminAdd_version_to_tableCdc() (*asset, error) { } info := bindataFileInfo{name: "executionNodeVersionBeacon/admin/add_version_to_table.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0x48, 0x5b, 0x5d, 0x30, 0x66, 0x88, 0x61, 0x48, 0xb5, 0xde, 0xe9, 0x20, 0x25, 0x9b, 0x7a, 0x3b, 0x48, 0xdc, 0x7c, 0xff, 0x5b, 0x2f, 0x17, 0xd7, 0xf2, 0x6c, 0xcd, 0x5a, 0x99, 0xfa, 0xb9}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x20, 0xdb, 0x6f, 0x8e, 0xfd, 0x3, 0xaa, 0xf, 0x53, 0x76, 0x16, 0x45, 0xaf, 0x15, 0x78, 0x30, 0x96, 0x42, 0x92, 0xfb, 0xf9, 0xe4, 0x33, 0x31, 0x92, 0x5e, 0x8c, 0xfb, 0xf1, 0x49, 0xa8, 0x45}} return a, nil }